1. 确保内核支持ramdisk启动。
2. 创建根文件系统(应用busybox或拷贝现有文件系统)。
3. 利用脚本mkroot.sh创建内核镜像:root.img.gz。
4. uboot通过tftp下载root.img.gz到板卡内存中。
5. 设置启动参数后,boot即可。
--------------------------------------------------------------------------
tftp 0x21100000 rootfs.img.gz
setenv bootargs mem=64M console=ttyS0,115200 initrd=0x21100000,0x21fc74 root=/dev/ram0 rw init=/linuxrc
--------------------------------------------------------------------------
配置内核
首先解压内核到工作目录,然后进入内核目录,执行如下语句。
#sudo su
#make menuconfig (如ubuntu下的用户不能执行该命令则先执行如下命令 sudo apt-get install libncurses5-dev)
General setup-->[*] Initial RAM filesystem and RAM disk support
--> [*]Optimize for size
Device Drivers-->Block devices--><*>RAM block device support
(4096)Default RAM disk size (kbytes) //如果你之前制作的ramdisk是8192kb的,则写成8192
File system --> <*> Second extended fs support //提供内核对ext2文件系统的支持
退出保存配置。
--------------------------------------------------------------------------
ramdisk制作脚本
#!/bin/sh
umount ./mnt
test -e ./mnt || mkdir ./mnt>/dev/null
dd if=/dev/zero of=rootfs.img bs=1024 count=8192
losetup /dev/loop1 rootfs.img
echo y | mke2fs -m0 rootfs.img
sudo mount -o loop rootfs.img ./mnt
echo "create the rootfs.img.gz"
sudo cp nfs/* ./mnt -a
sync
sudo umount ./mnt
gzip rootfs.img -v9