平台:Ubuntu
#cp *.so* /work/myfs/lib -d
目标:JZ2440
工具:arm-linux-gcc-3.4.5、Busybox-1.7.0
1. 在Ubuntu上建立根文件系统的存放目录,这里为/work/myfs
命令:#mkdir /work/myfs
2. 安装Busybox
a. 解压busybox-1.7.0.tar.bz2,解压后的目录为/work/busybox-1.7.0
b. 进入/work/busybox-1.7.0,执行命令进行配置,这里默认配置,保存退出
命令:#make menuconfig
c. 修改/work/busybox-1.7.0顶层Makefile文件内容,如下
原文: ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
修改: ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
d. 在/work/busy-1.7.0顶层执行make,进行安装相关目录
命令:#make CONFIG_PREFIX=/work/myfs install
e. 以上步骤之后,会见到/work/myfs目录增加了一些目前
3. 安装glibc库
a. 在目录/work/myfs下,建立目录lib
b. 去到ubuntu交叉编译器的库里,复制所有的库文件到以上的/work/myfs/lib
命令:#cd XXX/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
4. 建立目录etc内容
a. 在目录/work/myfs下,建立目录etc
b. 创建文件inittab,编辑入以下内容
# /etc/inittab
::sysinit:/etc/init.d/rcS
ttySAC0::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -t
c. 在目录etc下,创建目录init.d,在目录init.d建立文件rcS,编辑入以下内容
#!/bin/sh
ifconfig eth0 192.168.0.17
mount -a
d. 在目录etc下,建立文件fstab,编辑入以下内容
#device mount-point type options dump fsck order
proc /proc proc default 0 0
tmpfs /tmp tmpfs default 0 0
5. 建立目录dev内容
a. 在目录/work/myfs之下,创建目录dev
b. 在目录dev之下,执行以下命令创建各个节点
#cd /work/myfs/dev
#mknod console c 5 1
#mknod null c 1 3
#mknod ttySAC0 c 204 64
#mknod mtdblock0 b 31 0
#mknod mtdblock1 b 31 1
#mknod mtdblock2 b 31 2
#mknod mtdblock3 b 31 3
6. 创建其他目录,命令为:#mkdir /work/myfs/proc mnt tmp sys root
7. 使用镜像工具mkyaffs2image,把目录/work/myfs制作成镜像文件
命令:#./mkyaffs2image /work/myfs myfs.yaffs2