ramdisk根文件系统制作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
制作根文件系统有两种方法
1、利用开发板提供的映像文件制作ramdisk
2、利用busybox制作根文件系统(制作过程复杂)
采用第一种方法制作需要的ramdisk
1、拷贝已有的uramdisk.image.gz 到新建的tmp/下,cp uramdisk.image.gz tmp/
2、去掉mkimage生成的64 bytes 的文件头,生成新的ramdisk.image.gz
$ dd if=uramdisk.image.gz of=ramdisk.image.gz bs=64 skip=1
3、 gunzip解压ramdisk.image.gz 生成ramdisk.image
$ gunzip ramdisk.image.gz
4、新建挂载目录“ramdisk”,并将ramdisk.image挂载
$ sudo mount -o loop,rwramdisk.imageramdisk
5、接下来,只需要将ramdisk目录下的内容全部拷贝到rootfs下即可
cp -R ramdisk /* rootfs
这样就有了自己的rootfs,省去利用busybox制作的麻烦了
有了制作好的rootfs,下面就开始制作映像文件了
1、创建镜像文件ramdisk8M.image,并设置大小为8M,文件系统格式为ext2
$dd if=/dev/zero of=ramdisk8M.image bs=1024 count=8192
$mke2fs -F ramdisk8M.image -L "ramdisk" -b 1024 -m 0
$tune2fs ramdisk8M.image -i 0
$chmod 777 ramdisk8M.image
大小可以按照需要自己调整,但是最好不要超过32M,创建ramdisk目录,将ramdisk8M.image 挂载到该目录下
$mkdirramdisk
$mount -o loop ramdisk8M.image ramdisk/
接下来,只需要将rootfs目录下的内容全部拷贝到ramdisk下即可
$cp -R rootfs/* ramdisk
注意,这里cp的参数一定是R而非r。
这样,这个镜像文件的内容就是rootfs目录下的内容了。将其卸载就可,
$umountramdisk/
到此,根文件系统镜像文件ramdisk8M.image 制作完成,将其压缩
gzip -9 ramdisk8M.image
用mkimage添加文件头,生成新的uramdisk.image.gz 供u-boot 使用
$ mkimage -A arm -T ramdisk -C gzip -n Ramdisk -d
ramdisk8M.image.gzuramdisk.image.gz
可以制作一个文件buildfs,如下
#dd if=/dev/zero of=ramdisk8M.image bs=1024 count=8192
dd if=/dev/zero of=ramdisk16M.image bs=1024 count=16384
mke2fs -F ramdisk16M.image -L "ramdisk" -b 1024 -m 0
tune2fs ramdisk16M.image -i 0
chmod 777 ramdisk16M.image
mkdirramdisk
mount -o loop ramdisk16M.image ramdisk/
cp -R rootfs/* ramdisk
umountramdisk/
gzip -9 ramdisk16M.image
mkimage -A arm -T ramdisk -C gzip -n Ramdisk -d ramdisk16M.image.gz uramdisk.image.gz
rm ramdisk16M.image.gz
rm -R ramdisk