1.ubuntu系统在工作目录生成1个空的16MB的ramdisk.img文件镜像,命令和流程下图所示:

dd if=/dev/zero of=ramdisk.img bs=1024 count=16384

 2.对新生成的空的虚拟磁盘的根文件系统进行ext2格式化

mkfs.ext2 -F ramdisk.img

图2 格式化ramdisk.img文件镜像

 3.新建一个tmp的目录,用于挂载ramdisk.img文件镜像,并将空的ramdisk.img虚拟磁盘挂载在tmp文件目录,命令和流程如下:

mkdir tmp

sudo mount -t ext2 -o loop ramdisk.img tmp/

图3 新建挂载目录并挂载虚拟磁盘到挂载目录

4.将根文件系统rootfs目录下的所有内容拷贝到tmp目录,命令和流程如下图所示:

sudo mount -t extsudo cp -r rootfs/* tmp/ -d

图4 拷贝根文件内容到挂载目录

 5.卸载挂载目录,根文件系统已经写入虚拟磁盘ramdisk.img。

sudo umount tmp

图5 卸载挂在目录

 

6.压缩ramdisk.img虚拟磁盘为ramdisk.img.gz文件,作为uboot引导使用。

gzip --best -c ramdisk.img > ramdisk.img.gz

图6 压缩虚拟磁盘为gz结尾格式

7.使用mkimage命令对ramdisk.img.gz文件增加uboot头部,命令如下所示:

sudo mkimage -n 'uboot ext2 ramdisk rootfs' -A arm -O linux -T ramdisk -C gzip -d ramdisk.img.gz ramdisk.img.gz.uboot

图7 mkimage工具添加ramdisk的u-boot头部

 

8.如果ubuntu系统未安装u-boot-tools工具,需要运行如下指令安装:

图7 安装u-boot-tools工具

 9.以上生成的ramdisk.img.gz.uboot镜像文件即为ramdisk根文件系统镜像,该镜像文件可以被uboot识别并引导挂载。

更多推荐