由于项目要向根文件系统中添加一些文件,所以要自己DIY下,从官方下载下来的预编译好的文件是uramdisk.image.gz,从官网上看到的方法在操作时发现不可行,请参考:http://www.wiki.xilinx.com/Build+and+Modify+a+Rootfs,由于这个gz文件是带有u-boot头部信息的,而且内部并不是镜像文件,而只是一个cpio归档文件,所以不用像文中一样挂载(我就是挂载时出了问题)。
由于这是带有u-boot头部信息的根文件系统,因此要去掉头部信息,才可解压。
dd if=./uramdisk.image.gz of=./ramdisk.image.gz skip=16 bs=4
然后在ramdisk.image.gz所在目录输入以下命令行
mkdir tmp_mnt/
gunzip -c ramdisk.image.gz | sudo sh -c ‘cd tmp_mnt/ && cpio -i‘
cd tmp_mnt/
在tmp_mnt目录中修改你的文件系统。
完成后在tmp_mnt目录下输入以下命令行
find . | sudo cpio -H newc -o > ../rootfs.cpio
然后在上级目录中就会有rootfs.cpio文件,把它压缩
gzip rootfs.cpio
生成rootfs.cpio.gz,修改文件名为ramdisk.image.gz
再用mkimage工具为它加上头部信息就可以了。
mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz
由于手头目前没有开发板测试,未验证可不可以用,因此本文仅作参考。
时间: 2024-10-16 09:03:26