上面已完成了u-boot,kernel现在我们来做一个根文件系统
用busybox制作根文件系统
1.下载Busybox,
官方下载地址:
https://busybox.net/downloads/
sudo mkdir root_system 将下载后的文件放入/qemu_arm/root_system中
2.解压
book@book-virtual-machine:/qemu_arm/root_system$ tar xjf busybox-1.26.2.tar.bz2
3.编译
make clean
make menuconfig
在”Busybox Settings ---> Build Options --->“ 关闭“Build BusyBox as a static binary。
打开”Build shared libbusybox“。
关闭”Produce a binary for each applet“与”Produce additional busybox binary“。
保存退出
打开”Build shared libbusybox“。
关闭”Produce a binary for each applet“与”Produce additional busybox binary“。
保存退出
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- install
生成的文件就放在_install目录中了
4.查看要用到的动态库
方式1:
book@book-virtual-machine:/qemu_arm/root_system/busybox-1.26.2/_install/bin$ arm-none-linux-gnueabi-readelf -d busybox| grep NEEDED
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libc.so.6]
book@book-virtual-machine:/qemu_arm/root_system/busybox-1.26.2/_install/bin$
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libc.so.6]
book@book-virtual-machine:/qemu_arm/root_system/busybox-1.26.2/_install/bin$
方式2:
book@book-virtual-machine:/qemu_arm/root_system/busybox-1.26.2/_install/bin$ arm-none-linux-gnueabi-objdump -x busybox| grep NEEDED