rootfs的制作
最小根文件系统:
(1)/dev/console /dev/null
(2)init ==> busybox
(3)/etc/initab
(4)配置文件指定的程序
(5)C库
构建完善根文件系统:
(1)创建 /dev/console /dev/null
mkdir -p work/nfs_root/first_fs/dev
cd work/nfs_root/first_fs/dev
sudo mknod console c 5 1 //参考虚拟机的主次设备号
sudo mknod null c 1 3
(2)创建/etc
vim /etc/inittab
console::ASKFIRST:-/bin/sh
(3)安装glic库
cd /home/book/100ask_2440_study/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
cp -a *.so* /home/book/100ask_2440_study/busybox/work/nfs_root/first_fs/lib (-a 保持链接文件属性)
(4)配置文件指定的程序 ,这里最简单,不需要制作
(5)制作根文件系统镜像 yaffs2
解压缩 yaffs_source_util_larger_small_page_nand.tar.bz2
/home/book/100ask_2440_study/filesystem/Development_util_ok/yaffs2/utils
make CROSS_COMPILE=arm-linux-
在 yaffs2/utils 目录下生成工具 mkyaffs2image
sudo cp mkyaffs2image /usr/local/bin (注意可执行属性)
(6)挂载proc虚拟文件系统
mkdir proc
vim /etc/inittab
::SYSINIT:/etc/init.d/rcS
vim /etc/init.d/rcS (注意可执行的属性)
#mount -t proc none /proc
mount -a (依赖于/etc/fstab文件)
vim /etc/fstab
......
cat /proc/mounts (查看挂载的文件系统)
(7)udev 或 mdev, 自动创建/dev/设备节点
参考手册 17.4.2节的操作
参考:韦东山Linux教程