首页 > 代码库 > busybox制作跟文件系统

busybox制作跟文件系统

参照里Linux目录建立文件系统目录。

解压源码进入目录配置编译器和编译架构:

CROSS_COMPILE ?= arm-linux-

ARCH = arm。


执行make menuconfig 进行配置

选择静态编译,

在Installation Options中选择安装路径(可以直接选择刚才建立到目录)。保存退出。

make

make install 生成文件。

进入建立好目录到etc目录执行:cp -rf ../../busybox-1.13.0/examples/bootfloppy/etc/* ./
复制部分配置文件,同时可以复制本机到passwd group shadow到当前目录。

修改inittab文件为:

::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
hang_serial0::askfirst:-/bin/sh
::once:/usr/sbin/telnetd -l /bin/login
::ctrlaltdel:/bin/umount -a -r

在dev目录下手工创建连个设备文件:
root@Jarvis dev]# mknod console c 5 1
[root@Jarvis dev]# ls
console
[root@Jarvis dev]# mknod null c 1 3
[root@Jarvis dev]# ll
total 0
crw-r--r--. 1 root root 5, 1 May  5 19:51 console
crw-r--r--. 1 root root 1, 3 May  5 19:51 null

修改etc/init.d/rc.S文件

#! /bin/sh
PATH=/bin/:/sbin/:/usr/bin:/usr/sbin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
/bin/mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
mkdir -p /var/lock
/bin/hostname -F /etc/sysconfig/HOSTNAME

在etc目录下创建目录sysconfig进入目录添加文件HOSTNAME,内容为显示的名字。

修改profile文件内容为:

#Ash profile
#vim:syntas=sh

#No core files by default
#ulimit -S -c 0 > /dev/null 2>&1

USER="`id -un`"
LOGNAME=$USER
PS1=‘[\u@\h \W]# ‘
PATH=$PATH

HOSTNAM=`/bin/hostname`
echo "Welcome home Sir"
echo "Jarvis is OK!"
export USER LOGNAME PS1 PATH

从交叉编译器中复制库文件:
[root@Jarvis lib]# cp -f /opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/libc/armv4t/usr/lib/*.so* ./ -a

制作bin文件:

[root@Jarvis hakits]# mkyaffs2image my_root/  my_root.bin