linux下如何制作initrd镜像?

1. 准备rootfs.ext4文件

  请参考此处: https://www.cnblogs.com/dakewei/p/10150984.html (加入已经准备好了所有文件在/home/initrd-base目录下)

2. 制作initrd镜像

  $ gzip rootfs.ext4 (cd /home/initrd-base/ ;find . | cpio --quiet -H newc -o | gzip -9 -n > ../initrd.gz,这句命令用于生成itb中的根文件系统,使用itb文件启动时使用bootm命令)

  $ mkimage -n 'uboot ext4 ramdisk rootfs' -A arm64 -O linux -T ramdisk -C gzip -d rootfs.ext4.gz rootfs.ext4.gz.uboot (mkimage -n 'uboot ext2 ramdisk rootfs' -A arm64 -O linux -T ramdisk -C gzip -d initrd.gz initrd.gz.uboot)

3. 扩展

  3.1 在uboot下如何启动linux系统呢?

    booti <kernel_addr> <initrd_addr> <fdt_addr>

       3.2 提取文件
              # gunzip initrd.gz
              # cpio -idv -F initrd

 

    

posted @ 2019-09-06 11:57  Jello  阅读(1448)  评论(0编辑  收藏  举报