1: cd /opt/busybox-1.16.2
2: gedit Makefile 修改ARCH ?= arm 和 CROSS_COMPILE = arm-linux-,保存并退出
3: make menuconfig
4: make install
5: 创建自己的一个文件系统目录 mkdir /opt/myfs
6: cd /opt/busybox-1.16.2/_install/
cp -a * /opt/myfs
7: cd /opt/myfs
mkdir dev etc tmp mnt proc sys lib var root home
/******将交叉编译器的内容拷到自己的文件系统的lib/下******/
我的交叉编译器在 /opt/4.3.3/目录下
8: cd /opt/4.3.3/arm-none-linux-gnueabi/libc/lib/
cp -a * /opt/myfs/lib/
9: cd /opt/myfs/lib/
rm -rf *.a *.la *o 删除所有的静态库 目标文件
rm -rf bin engines gconv ts pkgconfig locale 删除所有目录
arm-gcc-strip *.so 进行裁剪
rm -rf libwv* 删除所有的libwv*声音文件
/*********编写启动脚本**********/
10: 在opt/myfs/etc/ 分别创建 inittab 文件、创建一个init.d目录
在init.d目录下创建一个rcS文件 rcS文件时系统启动脚本文件
inittab rcS文件需要自己配
11: 在/opt/myfs/dev 下创建两个节点
mknod console c 5 1
mknod null c 1 3
12:配置NFS内核文件:如下
13:setenv bootarg sroot=nfs nfsroot=192.168.2.140:/opt/myfs ip=192.168.2.141 console=ttySAC0,115200 init=/linuxrc mem=64M // mem 为内存大小
saveenv
//nfsroot=192.168.2.140 是我的unbuntu ip
//myfs ip=192.168.2.141 是开发板的ip
14:额外的 在/opt/myfs/etc 目录下创建一个Shelll基本脚本文件 ifconfig_eth0.sh
其内容如下
#! /bin/sh
#ifconfig eth0 down
#ifconfig eth0 hw ether 00:a7:b3:33:47:65
ifconfig eth0 192.168.2.141 netmask 255.255.255.0
route add default gw 192.168.2.1
echo "nameserver 202.103.24.68" > /etc/resolv.conf
//配置域名服务器
15:更改权限
chmod 777 /opt/myfs/etc/init.d/rcS
chmod 777 /opt/myfs/etc/init