移植根文件:busybox-1.9.2

 

1.下载busybox
http://www.busybox.net/downloads/busybox-1.9.2.tar.bz2
# tar jxvf busybox-1.9.2.tar.bz2
# cd busybox-1.9.2
# vi Makefile +176
ARCH            ?= arm
CROSS_COMPILE   ?= /usr/local/arm/3.3.2/bin/arm-linux-
#Make menuconfig
做如下定制:

Busybox setting -> build option ->

[*]build busybox as a static binary

Init Utilities ->

[*]init

[*]Support reading as inittab file

Shells ->

choose your devifault shell(ash) ->

(X) ash

Linux Module Utilities->

[]Support version  2.6.x Linux kernels

applets/applets.c:21:2: error: #error Aborting compilation.
#make

#make CONFIG_PREFIX=/root_01 install
busybox 就被安装到根目录/root_01下了(/root_01下生成 bin linuxrc sbin usr)
/root_01是自己在主机根目录下建的一空文件。

2.在/root_01中
创建文件dev、/etc、/home、/home/usr、/lib、/mnt、/var、/tmp、/proc、/opt、/www
#mkdir dev etc home lib mnt var tmp proc sys opt www
将库文件拷到/lib下,这里是在3.4.1的目录里的库,别的编译器库行不行没试过。
#cd /usr/local/arm/3.4.1/arm-linux/lib
拷下面的库就行

ld-2.3.2.so        libcrypt.so.1   libm-2.3.2.so       libresolv-2.3.2.so
ld-linux.so.2      libc.so.6       libm.so.6           libresolv.so.2
libc-2.3.2.so      libdl-2.3.2.so  libpthread-0.10.so  libutil-2.3.2.so
libcrypt-2.3.2.so  libdl.so.2      libpthread.so.0     libutil.so.1

3.创建etc目录下文件
在root_01/etc目录下创建一个inittab文件
内容如下:
#vi /etc/inittab
::sysinit:/etc/init.d/rcS
s3c2410_serial0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
创建etc/mdev.conf文件,内容为空

4.同样的方法创建etc/init.d/rcS文件:
#!/bin/sh
ifconfig eth0 192.168.1.17
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

mount -t yaffs /dev/mtdblock4 /mnt/yaffs
最后还要改变它的属性使它能够执行。
chmod +x etc/init.d/rcS

5.创建etc/fstab文件:
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0

6.在/root_01/dev 建立节点文件:
#mknod console c 5 1
#mknod null c 1 3

7.下载cramfs-1.1.tar.gz解压后在其顶层make

得到mkcramfs  与root_01放在一起。

执行

#./mkcramfs  root_01  myroot01.cramfs

生成根文件 myroot01.cramfs。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值