根文件系统制作
1.根文件系统(root filesystem)是存放运行、维护系统所必须的各
种工具软件、库文件、脚本、配置文件和其他特殊文件的地方,也可
以安装各种软件包。
2.系统运行的第一个文件系统,在根文件系统下还可以挂载其它的文件系统(目录)。
根文件系统主要目录结构:

/proc:虚拟文件系统,将内核的信息暴露给应用层。
程序文件目录:



制作根文件系统是肯定要制作里面的这些程序。
Linux设备文件:
1.Linux系统中所有的对象(包括设备)都是以文件的形式体现的
2.Linux系统中,所有的设备文件(如:设备节点) ,通常放到/dev下,例如:/dev/sda、/dev/led
3.嵌入式系统中只需要创建必须的设备节点即可

c:字符设备,通讯时有先后顺序
b:块设备
通过主、次设备号唯一标识一个设备,主设备号:哪一类设备,次设备号:区分某类设备中的哪个设备,内核中的相关文档Documentatioa/devices. txt
为设备创建一个设备号并关联到驱动
1 | 设备文件不能在加载驱动程序时自动创建,要通过指令创建 |
通过busybox创建了基本的文件系统外,我们还要自己创建设备节点:例如:console

debain:开机启动脚本/etc/init.d/rcS,centos:开机启动脚本/etc/rc.d/rc.local
根文件系统内容制作
Busybox是UNIX系统的一个工具集,常用于制作以下linux命令:
1 | cat, chmod, chown, cp, chroot, copi, date, dd, df, dmesg, |
busybox将这些命令的库都共用起来,达到小巧的特性
vim /etc/inittab:系统初始化第一个要解析运行的脚本,这里指定运行rcS

vim /etc/init.d/rcS:上面指定要运行的脚本文件

echo /sbtn/ndeva/proc/sys/kernel/hotplug mdev -s:热插拔,让设备比如usb一插上生成对应的设备节点。
vim /etc/fstable:指定要挂载的文件系统,在上面用/bin/mount -a表示

vim /etc/profile

根文件系统格式

不同格式的文件系统储存介质不一样,需要根据硬件制作相应格式的文件系统。norflash可以按字节读取,可以直接在flash上运行程序,所以一般由来存储bootloader。
CRAMFS:只读文件系统。
JFFS2:日志文件系统,所以使用过程中可以随时掉电,嵌入式系统常用。
EXT2 over RAM disk:可以将内存虚拟为磁盘。
示例:制作ramdisk文件系统
1 | 通过NFS测试以后,就可以制作ramdisk文件系统了,具体如下, |
- 本文作者: 龙兄嵌入式
- 本文链接: https://hexo.880755.xyz/1970/01/01/zblog/download/66.根文件系统制作/
