Uboot、kernel、rootfs、安装模块整套流程

本文详细介绍了Uboot、Kernel和Rootfs的完整制作与烧录流程。从Uboot的源码修改、编译到烧录SD卡,再到Kernel的配置、编译及使用TFTP启动,最后详述了Rootfs的创建,包括使用busybox、nfs挂载和添加必要文件。整个过程涵盖了嵌入式系统的关键环节。
摘要由CSDN通过智能技术生成

Uboot过程

(1)对uboot源代码进行完修改(修改内容根据自己的理解和分析来修改)

(2)make distclean然后make x210_sd_config(配置文件)然后make

(3)编译完成得到u-boot.bin,然后去烧录。

烧录过程:

第一步:进入sd_fusing目录下

第二步:make clean

第三步:make

第四步:插入sd卡,ls /dev/sd*得到SD卡在ubuntu中的设备号(一般是/dev/sdb,注意SD卡要连接到虚拟机ubuntu中,不要接到windows中)

第五步:./sd_fusing.sh /dev/sdb完成烧录(注意不是sd_fusing2.sh)

细节1:sd_fusing目录下生成的sd_fusing.sh里面需要改动,扇区为49(uboot在烧录到SD卡的时候,先截取uboot.bin的前16KB(实际脚本截取的是8KB)烧录到SD卡的block1~bolck32;然后将整个uboot烧录到SD卡的某个扇区中(譬如49扇区))和改动路径为../u-boot.bin因为我们makefile指定生成的是u-boot.bin。之前是uboot-iNand.bin,这是三星之前编译过的。

细节2:移植好的uboot烧录到SD卡中,我们要先破坏iNand(sd0在uboot底下如何擦除uboot:movi write u-boot 0x30000000)中的uboot,才会从sd2启动。

Uboot一般大小180kb到400kb

 

Kernel过程

用上面编译好的uboot去启动kernel,kernel来自其他qt_x210v3_160807.tar.bz2(kernel,uboot等)里面有所有的代码,是九鼎做好的,解压出来,得到kernel,编译过程:

1、先确认Makefile

(1)主要是检查交叉编译工具链有没有设置对。CROSS_COMPILE   ?= /usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-

(2)确认ARCH = arm。主要目的是为了编译时能找到arch/arm目录。

2、两步配置

     第一步配置:make x210ii_qt_defconfig最后只要出现:configuration written to .config这句话,就证明我们的操作是正确的。

     第二步配置:make menuconfig,具体的用法和配置意义在后面课程讲。我们这里因为是九鼎已经移植过的,所以第二步配置是可以不做的,直接退出即可。make编译完成后得到的内核镜像不在源码树的根目录下,在arch/arm/boot这个目录下。得到的镜像名是zImage,最后将zImage复制到tftfpboot去下载启动,tftp方式避免反复烧录镜像到inand中,对磁盘有损害,所有tftp去加载启动。

 补充:内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值