用busybox制作文件系统
busybox1.25.1
arm-linux-gcc -v 3.4.5
先执行
#make menuconfig
Location:
-> Busybox Settings
-> Build Options
添加交叉编译前缀arm-linux-
#make
发现错误:
make[1]: *** [miscutils/i2c_tools.o] Error 1
#make menuconfig
去掉i2c相关的所有东西
通过/进行收索,i2c驱动在
-> Miscellaneous Utilities |
| Selects: PLATFORM_LINUX
去掉
继续
#make
出现make[1]: *** [miscutils/ionice.o] Error 1
#make menuconfig
去掉ionice
#make
出现make[1]: *** [miscutils/nandwrite.o] Error 1
#make menuconfig
去掉nand相关的所有东西
#make
出现make[1]: *** [miscutils/ubi_tools.o] Error 1
#make menuconfig
去掉ubi相关的所有东西
#make
出现make[1]: *** [networking/libiproute/ipneigh.o] Error 1
#make menuconfig
去掉所有iproute2的东西
#make
出现make[1]: *** [util-linux/blkdiscard.o] Error 1
#makemenuconfig
去掉blkdiscard
#make
链接不成功
去掉链接不成功的所有东西
mktemp
touch
nsenter
unshare
sync
如果出现
Your linker does not support --sort-section,alignment
Trying libraries: crypt m
Library crypt is not needed, excluding it
Library m is needed, can't exclude it (yet)
Final link with: m
DOC busybox.pod
DOC BusyBox.txt
DOC busybox.1
DOC BusyBox.html
已经编译成功
接下来安装
#mkdir mnt
#make CONFIG_PREFIX=./mnt install
安装完只有
bin linuxrc sbin usr
这四个目录
再新建dev etc lib proc sys五个目录
#mkdir dev etc lib proc sys
#cd etc
#vim inittab
console::askfirst:-/bin/sh
::sysinit:/etc/init.d/rcS
保存退出
#vim fstab
#device mount-point type options dump fsck order
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
#mkdir init.d
#cd init.d
#vim rcS
mount -a #运行这条命令,会读取/etc/fstab,按里面的规则挂载文件系统
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
保存退出
#cd ..
#cd dev
#mknod console c 5 1
#mknod null c 1 3
启动后出现:can't run '/etc/init.d/rcS': Permission denied
#chmod 777 /etc/init.d/rcS
将arm-linux编译器下的所有.so文件拷贝到lib下
#cp ../tools/arm-linux/lib/*.so* ./lib -d
待续。。。。