OrangePI One使用主线内核和主线Uboot指南

1下载配置工具链 linaro arm-linux-gnueabihf- V6.2

  • 1 下载所需文件 创建文件将以下复制到文件中,并添加可执行权限 chmod 777 该文件
#!/bin/bash
COMPILE=gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz
CROSS_COMPILE_URL=https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/arm-linux-gnueabihf/$COMPILEecho "**************************************"
echo "*********DownLoad start CROSS_COMPILE***************"
echo "**************************************"wget $CROSS_COMPILE_URL
echo "**************************************"sudo tar -xvf $COMPILE -C /opt
sudo mv /opt/$COMPILE /opt/gcc-linaro-6.2.1
  • 2 配置环境变量
    vim ~/.bashrc

    • shift+g 跳转到文件末尾添加环境变量
   export PATH=/opt/gcc-linaro-6.2.1/bin:$PATHexport GCC_COLORS=auto   ## 退出保存文件 ESC :wq

./bashrc 生效环境变量

2.下载uboot Kernel busybox

  • 1 下载所需文件使用 创建文件将以下复制到文件中,并添加可执行权限 chmod 777 该文件
#!/bin/bash
UBOOT="u-boot-2020.01.tar.bz2"
U_BOOTURL="http://ftp.denx.de/pub/u-boot/"$UBOOT
KERNEL="linux-5.5.7.tar.xz"
KERNEL_URL="https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/"$KERNEL
BUSYBOX="busybox-1.28.4.tar.bz2"
URL="https://busybox.net/downloads"
echo "**************************************"
echo "**************************************"
echo "*********DownLoad start***************"
echo $UBOOT
echo $KERNEL
echo $BUSYBOX
echo "**************************************"
echo "**************************************"
echo "**************************************"wget $U_BOOTURL
wget $KERNEL_URL
wget $URL/$BUSYBOXtar -xvf $UBOOT
tar -xvf KERNEL
tar -xvf $BUSYBOX
echo "*********DownLoad OVER****************"

SD卡分区

sunxi 官方SD卡启动说明

主线版本使用的镜像分布

start sector size usage
0KB 0 8KB Unused, available for an MBR or (limited) GPT partition table
8KB 16 32KB Initial SPL loader
40KB 80 - U-Boot proper

SD卡分区 前5M不用 分一个fat32分区 50M 后面全部给ext4分区

sudo fdisk -l ##查看所有磁盘设备
sudo fdisk /dev/sdx  //or gparted 图形化分区工具
16G SD卡分区信息Device Boot      Start         End      Blocks   Id  System
/dev/sdc1           31116      133515       51200    b  W95 FAT32
/dev/sdc2          133516    31116287    15491386   83  Linux

没有gparted 安装sudo apt install gparted
sudo gparted /dev/sdx
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5kNlbIE-1583408843416)(OrangePI One使用主线内核指南.assets/image-20200305193434411.png)]
分区格式化
sudo mkfs.vfat -F 32 /dev/sdx1 -n partName
sudo mkfs.ext4 /dev/sdx2

  • 2编译uboot

    export ARCH=arm
    export CROSS_COMPILE=arm-linux-gnueabihf-
    make orangepi_one_defconfig   ##我使用的是OrangePi ONE
    make -j4     ## Jx 根据所用的主机进行设置  有多少核心 就设置为多少
    

    ERR INFO
    scripts/dtc/pylibfdt/libfdt_wrap.c:130:21: fatal error: Python.h: No such file or directory

sudo apt-get install  swig python-dev python3-dev

编译完成Uboot后会生成 u-boot-sunxi-with-spl.bin uboot-dtb.bin spl/sunxi-spl.bin

若使用u-boot-sunxi-with-spl.bin 进行烧写

sudo dd iflag=dsync oflag=dsync if=u-boot-sunxi-with-spl.bin  of=/dev/sdx bs=1024 seek=8

若使用uboot-dtb.bin spl/sunxi-spl.bin 进行烧写

sudo dd  if=spl/sunxi-spl.bin of=/dev/sdx bs=1024 seek=8
sudo dd if u-boot-dtb.bin of=/dev/sdx bs=1024 seek=40
sync  ## 刷新缓冲区
  • 3 编译kernel early printk 可设置可不设置

    export ARCH=arm
    export CROSS_COMPILE=arm-linux-gnueabihf-
    make sunxi_defconfig   ##全志的板子均使用该配置
    make menuconfig #打开Early printk-> Kernel hacking-> arm Debugging   //Depend on DEBUG_LL  DEBUG_KERNEL DEBUG_KERNEL  [*] Kernel debugging  /Kernel hackingDEBUG_LL [*] Kernel low level debugging function /Kernel hacking/arm Debugging[*]Early printk  /Kernel hacking/arm Debugging
    make zImage -j4     ## Jx 根据所用的主机进行设置  有多少核心 就设置为多少
    make dtbs
    
  • busyBox编译

make menuconfig
->settings-> Cross compiler prefix  arm-linux-gnueabihf-
make -j4 & make  install
cd _install
mkdir proc dev var etc lib media root mnt sys opt home boot

查询busybox依赖库

readelf  -d busybox | grep NEEDED0x00000001 (NEEDED)                     Shared library: [libm.so.6]0x00000001 (NEEDED)                     Shared library: [libc.so.6]
还必须引入ld-linux-armhf.so.3
进入到交叉工具链的目录下进行搜索
find . -name  xxx
cp /opt/gcc-linaro-6.4.1/arm-linux-gnueabihf/libc/lib/xxx ./_install/lib/
cd ./dev/
sudo mknode console c 5 1
sudo mknod tty1 c 4 1
sudo mknod tty2 c 4 2
sudo mknod tty3 c 4 3
sudo mknod null c 1 3
cp examples/bootfloppy/etc/* ./_install/etc/ -rf
cp /opt/gcc-linaro-6.4.1/arm-linux-gnueabihf/libc/lib/* ./lib/ -arf
cp /opt/gcc-linaro-6.4.1/arm-linux-gnueabihf/lib/* ./lib/ -arf

vim etc/fstable

proc     /proc  proc     default 0     0
sysfs    /sys   sysfs   default 0     0
tmpfs    /tmp   tmpfs   default 0     0

vim profile

# /etc/profile: system-wide .profile file for the Bourne shells
echo
echo -n "Processing /etc/profile... "
echo -n "Welcome to Filesystem in profile"
echo -n "CROSS_COMPILE=arm-linux-gnueabihf- V6.4"
export HOME=/root
export PS1="[root@ONE \W]# "
#create /dev device file
mdev -s
# no-op
echo "Done"
echo

NFS安装

sudo apt-get install nfs-kernel-server
vim /etc/exports
## 添加这个配置信息 并创建响应目录
##/home/目录   *(rw,sync,no_root_squash,no_subtree_check)
/home/linux/nfs   *(rw,sync,no_root_squash,no_subtree_check)
sudo /etc/init.d/nfs-kernel-server restart  ##重启NFS

NFS 启动

  • ##宿主机设置一下
    拷贝 最小跟文件系统到nfs目录下

    cp _install/* /home/linux/nfs -arf
    
    ## 板子的uboot中设置
    setenv bootargs root=/dev/nfs nfsroot=10.0.0.10:/home/linux/nfs ip=10.0.0.123 init=/linuxrc console=ttyS0,115200
    tftp 0x42000000 zImage
    tftp 0x43000000 sun8i-h3-orangepi-one.dtb
    bootz 0x42000000 - 0x43000000
    

    EMMC

拷贝arch/arm/boot/zImage arch/arm/boot/dts/sun8i-h3-orangepi-one.dtb SD卡Vfat分区上

拷贝最小根文件系统到SD卡ext4分区 root=/dev/mmcblk0p2 rw rw必须加上否则文件系统为只读文件系统

setenv bootcmd "fatload mmc 0:1 0x42000000 zImage;fatload mmc 0:1 0x43000000 sun8i-h3-orangepi-one.dtb;bootz 0x42000000 - 0x43000000"
setenv bootargs root=/dev/mmcblk0p2 rw  init=/linuxrc rootfstype=ext4,console=ttyS0,115200
saveenv
run bootcmd

OrangePI One使用主线内核和主线Uboot指南相关推荐

  1. OrangePi PC 玩Linux主线内核踩坑之旅(一)之制作第一个镜像

    今天开始写一个专题<OrangePi PC 玩Linux主线内核>.一方面是记录自己在踩坑过程中的点点滴滴,另一方面是分享自己的心得.目前还不确定要写几期,希望大家多多捧场. 首先简单介绍 ...

  2. OrangePi PC 玩Linux主线内核踩坑之旅(四)之变身MP3播放器

    主线内核Linux跑起来后,我们就可以用香橙派做一些简单的应用了.既然是简单的应用,那便是说基本上无需再添加额外的硬件即可实现相应的功能,"变身MP3播放器"便是一例.当然,耳机或 ...

  3. 全志V3S荔枝派zero10分钟制作TF启动卡,主线Linux,主线u-boot(超过10分钟博主直播吃奥利奥!!!)

    一,初学者(比如我)刚拿到zero时,一定是一脸懵逼的,无从下手的,通过几篇代佬们写的文章+官网资料,了解了几种启动方式 1.Camdriod 官方SDK 2.主线Uboot + Bsp 内核 3.主 ...

  4. linux mint 屏保_Linux Mint 19.1 公开版正式发布:主线内核支持,全新壁纸

    IT之家12月20日消息 Linux Mint 19.1"Tessa"现在已经正式发布供公众使用.新版本仍然基于Ubuntu 18.04 LTS,并将提供技术支持到2023年.Li ...

  5. 记一个老年机的逆向工程与主线linux移植 (二)—— 主线内核和postmarketOS

    现在,这台手机已经有了一个可以调试的Bootloader.接下来可以去搜索以下其他大佬有没有什么现有的成果,免得做许多无用功. Linux Mailing List就是一个不错的地方,这里聚集着很多提 ...

  6. 指出Linux内核中boot,uBoot和Linux内核中涉及到的几个地址参数的理解

    ************************************************* arch/arm/Makefile //内核运行虚拟地址TEXTADDR = 0xC0008000 ...

  7. 引导魔女之力,征服星辰大海 主线篇: 重要事情说三遍: 推主线!推主线!!推主线!!! 简述: 1.本篇仅主线,涉及到的技巧全职业都可以参考; 2.考虑到萌新刚玩没有护卫者系统,故禁护

    引导魔女之力,征服星辰大海 主线篇: 重要事情说三遍: 推主线!推主线!!推主线!!! 简述: 1.本篇仅主线,涉及到的技巧全职业都可以参考: 2.考虑到萌新刚玩没有护卫者系统,故禁护卫者以及不使用卡 ...

  8. OrangePi PC 玩Linux主线内核踩坑之旅(二)之制作镜像后的查遗补缺

    一.查遗补缺之SSH连接到香橙派 上一篇我们讲到,为了可以使用SSH连接到香橙派,我们勾选了dropbear软件包,这是一个轻量级的SSH软件,包含了客户端和服务端[1].如何使用呢?在上一篇的末尾, ...

  9. OrangePi PC 玩Linux主线内核踩坑之旅(三)之设置静态IP地址

    有了前文的基础,我们已经可以通过网络远程连接到香橙派了.但是香橙派的IP地址是通过DHCP获取的,说不定哪天就变了,我们需要对其设置静态IP地址,方便日后操作.先SSH连接到香橙派,编辑/etc/ne ...

最新文章

  1. SET NOCOUNT ON 作用
  2. Netty 框架学习(一):初始netty
  3. Binary Tree Traverasl with OO and Stack
  4. 电商三巨头交成绩单,这次拼多多输了吗?
  5. Numpy的切片操作
  6. Exynos4412 Uboot 移植(六)—— 相关知识补充
  7. 2003 r2 64 iis php mysql_关于在win2003中,iis+php+mysql 配置的问题
  8. linux系统下idea打包apk教程,intellij idea14打包apk文件和查看sha1值
  9. 阿里云高级技术专家王晨:云原生数据库PolarDB技术解密
  10. android实现模拟微信调用相机和手机图库更换头像
  11. 我的在校项目:校园类app
  12. clover直接进windows_从u盘启动安装mac os,没有显示clover,直接进入windows
  13. 现代程序设计 homework-06
  14. 简单获取速卖通aliexpress商品详情
  15. cobaltstrike如何安装使用(包含CS联动MSF详细用法!)? (゚益゚メ) 渗透测试
  16. 我的阿里云盘资源搜索引擎首次试运行
  17. 颜色相关直方图(color correlogram)
  18. 10款相似图片搜索引擎
  19. Linux:进程管理 | 进程创建 | 进程终止 | 进程等待 | 进程替换
  20. 软件公司如何才能接到项目

热门文章

  1. 如何创建自已的电子邮箱?国际商务邮箱那个好?
  2. Java Security Architecture--Java安全体系技术文档翻译(三)
  3. 基于注入式木马病毒(浏览器绑架)实现及防御方法的研究
  4. Day69_SparkSQL(一)
  5. 多层Android锁机样本分析
  6. 论文笔记 [5] SRCNN
  7. 计算机职称级别一览表,2017高会《职称计算机》Word 2003:多级列表
  8. 每日一学-006 手机端rem适配(未完成)
  9. 三菱服务器有电源不显示,为什么打开电动车电源,仪表不显示?老师傅告诉你!...
  10. html5中的meter标签改变颜色规则