准备并设置好busybox后,就可以开始在这个根系统里,添加必要的一些文件,如果不知道怎么下载和制作busybox的可以看上一期
Linux制作根文件,利用busybox制作(图文详解)第一期
下面接着为下面制作根文件系统添加必要文件:
先在制作好的rootfs文件中执行
mkdir lib dev etc root sys
添加 lib 库
进入如下路径对应的目录:
cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/lib
此目录下有很多的so(是通配符)文件,这些就是库文件,将此目录下所有的so*文件都
拷贝到 rootfs/lib 目录中,拷贝命令如下:
cp *so* /home/zqz/linux/nfs/rootfs/lib/ -d
然 后 重 新 进 入 到
cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/lib
目录中,重新拷贝 ld-linux-armhf.so.3,命令如下:
cp ld-linux-armhf.so.3 /home/zqz/linux/nfs/rootfs/lib/
继续进入如下目录中:
cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/lib
此目录下也有很多的的so和.a 库文件,我们将其也拷贝到 rootfs/lib 目录中,命令如下:
cp *so* *.a /home/zqz/linux/nfs/rootfs/lib/ -d
rootfs/lib 目录的库文件就这些了,完成以后的 rootfs/lib 目录如图 所示:
“usr/lib”目录添加库文件
mkdir usr/lib
cd /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib
cp *so* *.a /home/zuozhongkai/linux/nfs/rootfs/usr/lib/ -d
复制好如图所示
至此,根文件系统的库文件就全部添加好了。
目前是可以进行初步测试根文件系统了,可以通过nfs挂载测试,这个后期会详说如何挂载,本文章的主要目的是构建根文件系统。
创建/etc/init.d/rcS 文件
!!!注意这个文键建立在板端
板端启动结束后,在板端依次输入:
cd /etc
mkdir init.d
vi rcS
然后在rcS中输入:
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib
export PATH LD_LIBRARY_PATH
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
wq保存退出
创建/etc/fstab 文件
cd /etc
vi fstab
然后输入:
#<file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
创建/etc/inittab 文件
cd /etc
vi inittab
输入以下:
#etc/inittab
::sysinit:/etc/init.d/rcS
console::askfirst:-/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
到这根文件系统已经全部制作完成啦!!!