rootfs的制作

发布时间 2023-09-05 22:49:26作者: charlie12345

最小根文件系统:

(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教程