安装glibc:
cd /word/nfs_root/first_fs1/
mkdir lib
cd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
cp *.so* /work/nfs_root/first_fs1/lib/ -d
复制的库并不是都会被用到,不过没用到的也可以留着,具体的可以参考嵌入式开发完全手册。
这时在/work/nfs_root/first_fs1/目录下就有:
/bin
/sbin
/lib
/usr
linuxc
目前已经安装好glibc和buysbox
ls /dev/console /dev/null -l
crw------- 1 root root 5, 1 2017-06-17 17:15 /dev/console //c 字符设备 5主设备号 1次设备号
crw-rw-rw- 1 root root 1, 3 2017-06-17 17:02 /dev/null
mkdir dev
mkdir etc
cd dev
sudo mknod console c 5 1
sudo mknod null c 5 1
cd etc
vim inittab
::sysinit:/etc/init.d/rcS
::askfirst:/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
mkdir init.d
vim rcS
#!/bin/sh
ifconfig ech0 192.168.0.15
mount -a //挂载/etc/fstab文件指定的所有文件系统。
chmod +x rcS
创建fstab
表示执行mount -a后将挂接proc tmpfs文件系统
#device mount-point type option dump fsck oder
proc /proc proc defaulte 0 0
tmpfs /tmp tmpfs defaulte 0 0
wq
使用mdev创建设备文件:
mdev是udev的精简版,他是通过读取内核信息来创建设备文件的,mdev的用法参考bosybox下的doc/mdve.txt
要在内核启动时自动运行mdev,需要修改/work/nfs_root/first_fs1/ect/fstab来自动挂载文件系统,要修改/work/nfs_root/first_fs1/ect/init.d/rcS来运行命令。
vim fstab 加入
sysfs /sys sysfs defaulte 0 0
tmpfs /dev tmpfs defaulte 0 0
cd init.d
vim rcS
加入:
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
cd ..
vim inittab
将::askfirst:-/bin/sh改为s3c2410_serial0::askfirst:-/bin/sh
构建其他目录:
mkdir tmp mnt root sys
制作根文件系统:
tar xjf yaffs_source_util_larger_small_page_nand.tar.bz2
生成Development_util_ok
cd Development_util_ok
cd /yaffs2/utils
make
sudo cp mkyaffs2image /usr/local/bin/
sudo chmod +x /usr/local/bin/mkyaffs2image
cd /work/nfs_root //进入这里要开始创建镜像
mkyaffs2image first_fs1 first_fs1.yaffs2
用tftp nfs下载烧录都行。