1.制作使initramfs作为根文件系统的内核
2.将制作好的内核烧写至nandflash中
3.配置UBoot环境变量,使之可以自启动后内核
具体实验步骤如下:(参考天嵌培训实验4.3.6 自启动内核)
1.创建实验目录
2.将 busyboxo1.13.3.tar.gz和 etc.tar.gz 拷贝至实验目录
3.制作根文件系统
? ⒊1创 建根文件系统的目录
?? 创 建 根 文 件 系 统 目 录 /nfsroo/rootfs2
?? #cd/nfsroot
?? #mkdir rootfso2
?? #mkdir bin dev etc lib proc sbin sys usrrnnttmp var
?? #mkdir lib/sbin ……
?? 3.2创 建设备文件
???cd?dev/
?? #mknod -m 666 Console c 5 1
?? #mknod -m?666? null c 1 3
?? 3.3安装etc
4. 配置busybox
6.编译、安装busybox
7.查看根文件系统
? #ls /nfsroot/rootfs2
8.修改根文件系统#cd/nfsroot/rootfs2
? ln -s bin/busybox init
9.制作使用initramfs作为根文件系统的内核
10.清理内核中间文件,配 置文件
? 10.1 选择参考配置
? 10.2 配 置内核
11.编译内核
#make uImage ARCH=arm
CROSS_COMPlLE=arm-linux-
编译完成后生成的内核映像ulmage位 于arch/arm/boot目录下
12.在PC机和mini2440开 发板之间连接好电源、串口、网线
13.打开超级终端并正确配置端口
14. 开发板上电∶ 在烧写ulmage到 nandflash之 前先测试内核是否可在 u-boot中运行,通过下载内核
tftp 31000000 uImage-initram2
15.启动内核
#bootm 31000000
?
?????????????下面介绍如何从nandflash中启动制作好的内核
?
??? 通过测试可知,内核可以在内存中运行,因此下一步就要完成内核烧写到nandflash中然后设置uboot的环境变量,实现linux的自启动。
??? 1、首先启动uboot,从nfs服务器下载uImage-initram2镜像到内存中。
????? #tftp 31000000 uImage-initram2? //内存的起始地址为0x31000000
??? 2、擦除nandflash中的分区,为写入系统镜像做准备(nandflash不擦除不能写入)。
????? #nand erase 200000? 600000 //擦除0x200000到0x600000中的内容
??? 3、将内存0x31000000中的内容写入nandflash中。
????? #nand write 31000000 200000 600000
??? 4、设置uboot环境变量,使系统可以自启动。
????? #set bootcmd='nand read 31000000 200000 600000;bootm 31000000'
????? #saveenv
??? 5、将拨码开关拨到nandflash,打开开关。系统自动运行。
????????????????????? 2011.5.23