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 启动流程详尽分析。
感谢花费宝贵的时间浏览,
转载请注明出处。
本人将在[资源共享]分类下陆续加入学习过程中一些比较重要且有用处的资料、源码,大家可前往下载,一起进步。
感谢支持!

浙公网安备 33010602011771号