本帖最后由 renshengrumeng 于 2017-6-14 09:08 编辑
首先在官网下载busybox,官网 https://busybox.net/,我下载源码为busybox-1.26.2.tar.bz2。 接下来解压tar -vxf busybox-1.26.2.tar.bz2.并进入解压后的busybox目录进行配置。执行make menuconfig如图
添加交叉编译头如图
。 接下来增加nfs功能如图
。 配置完成退出保存然后通过make指令编译。 完成后从交叉编译工具链中复制 lib 库
$ mkdir _install/lib
$ cd /opt/FriendlyARM/toolchain/4.9.3/arm-cortexa9-linux-gnueabihf/lib
$ cp *so* -d _install/lib *so*是复制当前目录下所有的so库 -d是把软连接原样复制过去。
构接下来建 etc 目录:
只需要创建 3 个文件: etc/inittab、 etc/init.d/rcS、 etc/fstab。
内容如下。
etc/inittab:
# /etc/inittab
::sysinit:/etc/init.d/rcS
ttyS0::askfirst:-/bin/sh
::ctrlaltdel:/***in/reboot
::shutdown:/bin/umount -a -r
etc/init.d/rcS:
#!/bin/sh
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /***in/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
tmpfs /dev tmpfs defaults 0 0
构建 dev 目录
$ mkdir dev
$ cd dev
$ sudo mknod console c 5 1
$ sudo mknod null c 1 3
构建其他空目录,比如 proc、 mnt、 tmp、 sys 等,如下创建
$ mkdir proc mnt tmp sys var
这样最小文件系统就构建成功。部分内容参考韦东山老师的文档。 下一篇写制作镜像文件。
|