开发板:JZ2440
目标:制作支持telnet、ftp功能的yaffs2文件系统
主机linux:ubuntu 9.10
内核版本:linux2.6.22.6
交叉编译器:arm-linux-gcc 3.4.5
busybox:busybox-1.21.0.tar.bz2
1.编译busybox
(1).修改Makefile
CROSS_COMPILE ?=
ARCH ?= $(SUBARCH)
改为:
CROSS_COMPILE ?= arm-linux-
ARCH ?= arm
(2).去掉一些配置选项
Miscellaneous Utilities --->
[ ]ionice
[ ]nandwrite
[ ]nanddump
[ ] ubi开头的选项
Networking Utilities --->
[ ] udhcpserver (udhcpd)
[ ] udhcp client(udhcpc)
(3).make
(4).make CONFIG_PREFIX=/work/build_system/rootfsinstall
2.安装glic库
mkdir lib
cd/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
cp *.so* –d/work/build_system/rootfs/lib
3.创建文件
(1).创建etc/inittab文件
(2).创建etc/fstab文件
(3).创建etc/inetd.conf文件
(4).创建group、passwd文件
(5).创建etc/init.d/rcS文件
(6). 构建dev目录
sudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod ttySAC0 c 204 64
sudo mknod mtdblock0 b 31 0
sudo mknod mtdblock1 b 31 1
sudo mknod mtdblock2 b 31 2
(7). 构建其他目录
mkdir proc mnt tmp sys root
4.制作镜像文件
mkyaffs2image rootfs rootfs.yaffs2
5.烧写文件系统后,串口登录,添加root用户名的密码123456
passwd root
附配置文件:
1、/etc/inittab
::sysinit:/etc/init.d/rcS
console::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
2、/etc/fstab
# device mount-point type options dump fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
3、/etc/inetd.conf
21 stream tcp nowait root ftpd ftpd -w /
69 dgram udp nowait root /usr/sbin/tftpd tftpd -l
4、/etc/group
root:*:0:
daemon:*:1:
bin:*:2:
sys:*:3:
adm:*:4:
tty:*:5:
disk:*:6:
lp:*:7:
mail:*:8:
news:*:9:
uucp:*:10:
man:*:12:
proxy:*:13:
kmem:*:15:
cdrom:*:24:
floppy:*:25:
tape:*:26:
sudo:*:27:
audio:*:29:
www-data:*:33:
backup:*:34:
shadow:*:42:
plugdev:*:46:
staff:*:50:
games:*:60:
users:*:100:
mysql:*:64001:
nogroup:*:65534:
5、/etc/passwd
root::0:0:root:/:/bin/sh
daemon:*:1:1:daemon:/usr/sbin:/bin/sh
bin:*:2:2:bin:/bin:/bin/sh
sys:*:3:3:sys:/dev:/bin/sh
sync:*:4:65534:sync:/bin:/bin/sync
games:*:5:60:games:/usr/games:/bin/sh
man:*:6:12:man:/var/cache/man:/bin/sh
backup:*:34:34:backup:/var/backups:/bin/sh
nobody:*:65534:65534:nobody:/nonexistent:/bin/sh
6、/etc/init.d/rcS
mount –a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev –s
ifconfig eth0 192.168.1.100
telnetd
inetd