02 H5 linux内核编译及启动

 
解压缩linux内核源码包后,在内核源码目录下打开终端:

//配置内核, 也就是指定使用什么架构,什么Soc, 什么板等信息. 配置文件在arch/arm64/configs目录下.
make sunxi_arm64_defconfig ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

//编译内核,生成Image镜像.
make Image ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

//编译内核里所用的设备树文件.
make dtbs ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

编译完成后, arch/arm64/boot/Image 和 arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dtb就是内核编译,最终生成的文件。


用fdsik把sd卡分区,分成一个50M大小的fat分区(用于存放Image,dtb等文件), 再分出一个300M大小的ext4分区(用于作文件系统的分区).
注意: sd卡上的uboot不会受分区操作影响的.

分区完成后, 把内核编译得到的Image文件和dtb文件放入sd卡的fat分区里.
还需要把下载得到的rootfs.cpio.gz内存文件系统镜像也放入fat分区里.


以上操作完成后,把卡接入板上启动。

在uboot上设置自动读出内核, rootfs,dtb等镜像并启动:

//设置uboot启动时,把Image读到内存地址0x46000000, 内存文件系统镜像读到0x47000000, dtb文件读到内存地址0x48000000上。 并用booti命令引导内核并指定内存文件系统为5M大小。
setenv  bootcmd "fatload mmc 0:1 0x46000000 Image; fatload mmc 0:1 0x47000000 rootfs.cpio.gz; fatload mmc 0:1 0x48000000 sun50i-h5-nanopi-neo2.dtb; booti 0x46000000 0x47000000:0x500000 0x48000000"

//保存环境变量
saveenv     

设置完成后,重启uboot后就会自动读出内核等镜像并启动内核,最后会进入内存文件系统里:
BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.

(initramfs)
//进文件系统后,就可以使用linux命令(如ls, ifconfig)进行操作


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值