tar xjf busybox-1.20.0.tar.bz2 解压进入顶层目录:
修改顶层Makefile:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
执行make menuconfig产生.config文件,使用默认配置
Busybox Settings -> Installation Options->
[*] Don’t use /usr
执行make编译
安装到文件系统目录下:
首先创建文件系统目录:
sudo mkdir /work/nfs_root/fs_mdev_1.20
安装:
sudo make install CONFIG_PREFIX=/work/nfs_root/fs_mdev_1.20
安装库:
进入/usr/local/arm/4.3.2/
输入find -name lib可以找到很多库
./arm-none-linux-gnueabi/lib
./arm-none-linux-gnueabi/libc/usr/lib
./arm-none-linux-gnueabi/libc/armv4t/usr/lib
./arm-none-linux-gnueabi/libc/armv4t/lib
./arm-none-linux-gnueabi/libc/lib
./arm-none-linux-gnueabi/libc/thumb2/usr/lib
./arm-none-linux-gnueabi/libc/thumb2/lib
./lib
我们只需要用到2个库:
./arm-none-linux-gnueabi/libc/armv4t/usr/lib
./arm-none-linux-gnueabi/libc/armv4t/lib
只需要将上面两个库拷贝过来就可以,先在fs_mdev_1.20目录下建立以lib目录:
sudo mkdir /work/nfs_root/fs_mdev_1.20/lib
然后将上述两个库中的所有.so文件拷贝过去:
sudo cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib/*.so* /work/nfs_root/fs_mdev_1.20/lib/ -d(-d代表 原来是链接文件,拷贝过来之后还是链接文件)
sudo cp /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*.so* /work/nfs_root/fs_mdev_1.20/lib/ -d
进入我们建好的根文件系统顶层目录:
创建etc目录:
sudo mkdir etc
创建etc/inittab文件:
# /etc/inittab
::sysinit:/etc/init.d/rcS
console::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
创建etc/init.d/rcS文件:
#!/bin/sh
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
创建完更改属性:
chmod +x etc/init.d/rcS
创建etc/fstab文件:
# device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tempfs /dev tempfs defaults 0 0
创建dev目录:
mkdir dev
cd dev
sudo mknod console c 5 1
sudo mknod null c 1 3
创建其他目录:
mkdir proc mnt sys root
至此,最小的根文件系统已经做好,接下来需要将它制作成映像文件。
在/work/nfs_root目录:
mkyaffs2image fs_mdev_1.20 fs_mdev_1.20.yaffs2
将fs_mdev_1.20.yaffs2烧进开发板
ok,毕
参考:https://blog.youkuaiyun.com/qq_37375427/article/details/79136497