由ramdisk.image.gz制作uramdisk.image.gz根文件系统

ramdisk.image.gz根文件系统其格式与uboot不同,启动时uboot会提示ramdisk格式错误,若要让uboot能够识别ramdisk.image.gz根文件系统,需要利用mkimage给ramdisk.image.gz添加一些头部信息,生成uramdisk.image.gz,方法如下

1、将编译uboot时生成的tools目录下的mkimage拷贝到交叉编译器的bin目录中(相当于添加到环境变量中)

若忘记交叉编译器的安装目录,可用“which is 交叉编译器名” 的方法找出,如


然后将mkimage拷贝到此目录的bin下即可。


2、使用如下命令生成uramdisk.image.gz:

mkimage -n 'uboot ext2 ramdisk' -A arm -O linux -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz

经过测试以上方法生成的uramdisk.image.gz完全可以正常使用。



由uramdisk.image.gz生成ramdisk.image.gz的方法:

假如我手上有一个uramdisk.image.gz的文件系统,我想获取其内部的内容,这个时候步骤应该是解压--->挂载。但是由于mkimage工具是在ramdisk.img.gz的头部添加了64字节的uboot信息来生成uramdisk.image.gz(破坏了压缩格式),所以此时无法直接解压。可以直接使用Uedit32编辑器(或使用某些命令如dd)删除掉uramdisk.image.gz头部的64字节,然后重命名为ramdisk.img.gz。此时就可以使用gunzip解压为ramdisk.img,再进行挂载就可以了。

此方法笔者没有验证,不知是否可行。

你可能感兴趣的:(zynq)