initrd 文件系统制作过程

源码下载:https://busybox.net/downloads/

源码版本:busybox-1.30.0.tar.bz2

 

[ 源码编译步骤 ]

make menuconfig
① [*] Build static binary (no shared libs) (./rootfs) Destination path for 'make install' (aarch64-linux-gnu-) Cross compiler prefix ② make ③ make install

配置成静态链接,使其运行不依赖一些系统库,配置交叉编译工具链以及安装路径;

[ 编辑文件 ]

1 #!/bin/sh
2 
3 mount -t sysfs none /sys
4 mount -t proc none /proc
5 
6 mdev -s
7 
8 echo -e "\nHello zackary, welcome to use this system."

加入 /etc/init.d/rcS 自启动脚本以配置一些初始功能;

[ 最终的根目录 ]

lance@ubuntu:~/busybox/rootfs$ ls
    bin  dev  etc  init  linuxrc  mnt  proc  sbin  sys  tmp  usr

[ initrd 打包 ]

find . | cpio -o -H newc | gzip > ../rootfs.cpio.gz

最终可用的文件系统即为: rootfs.cpio.gz ,将其传给内核即可被识别,具体使用过程可参考笔者的其它记录,如UBOOT2017+FIT 启动流程详尽分析

 

posted @ 2019-12-05 22:39  Zackary丶Liu  阅读(704)  评论(0)    收藏  举报