分类: LINUX
2009-03-20 14:41:24
一. 编译busybox
1.使用默认配置,执行make menuconfig 后退出,保存配置就可以
2.修改Busybox根目录的Makefile,使用交叉编译
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
3. make CONFIG_PREFIX=/work/nfs_root/fs_mini install
二. 安装glicb库
1. 把编译器的lib拷贝到 fs_mini/lib 下面
Mkdir fs_mini/lib
Cp tools/gcc-3.45-glibc-
2.删除没用的lib,只留下libctypt.so.1 libm.so.6 libc.so.6 ld-linux.so.2
rm libstdc++*
rm -rf libgcc*
rm -rf libutil*
rm -rf libthread*
rm -rf libpthread*
rm -rf libresolv*
rm -rf librt*
rm -rf libnss*
rm -rf libnsl*
rm -rf libpc*
rm -rf libdl*
rm -rf libanl*
rm -rf libBro*
rm -rf libSeg*
三. 构建根文件系统
1. 创建/etc/inittab文件
# /etc/inittab
::sysinit:/etc/init.d/rcS
ttySAC0::askfirst:/-bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
2. 创建/etc/init.d/rcS文件
#!/bin/sh
ifconfig eth0 192.168.6.239
mount -a
改为可执行的权限 chmod +x etc/init.d/rcS
3. 创建 /etc/fstab文件
#device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
4. 静态创建/dev设备文件
sudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod ttySAC
sudo mknod mtdblock0 b 31 0
sudo mknod mtdblock1 b 31 1
sudo mknod mtdblock2 b 31 2
5. 构建其它目录
Cd fs_mini/
Mkdir proc mnt tmp sys root
四. 制作jffs2文件系统映象文件
1. Mtd-utils-
2. 编译zlib
Tar zxvf zlib-
Cd zlib-
./configure –shared –prefix=/usr
Make
Sudo make install
3. 编译mkfs.jffs2
Tar jxvf mtd-utils-
Cd mtd-utils-
Make
Sudo make install
4. 制作jffs2映象文件
Mkfs.jffs2 –n –s 512 –e 16KiB –d fs_mini –o fs_mini.jffs2
5. 烧写jffs2映象文件
Tftp 0x30000000 fs_mini.jffs2
Nand erase 0x200000 0x800000
Nand write.jffs2 0x30000000 0x200000 $(filesize)
Set bootargs noinitrd console=ttySAC0 root=/dev/mtdblock1 rootfstype=jffs2
Saveenv
七.从nfs启动:
Set bootargs noinitrd console=ttySAC0 root=/dev/nfs nfsroot=192.168.6.240:/home/ckz/work/src/fs_mini
Saveenv