3.3烧写根文件系统

烧写根文件系统,我们要做一个映像文件

 

1.制作yaffs映像文件

获取制作yaffs工具的压缩文件,解压

3.3烧写根文件系统

在yaffs2目录!是2不要搞错

3.3烧写根文件系统

会生成很多工具,我们只需要

3.3烧写根文件系统

加上可执行属性chmod +x /usr/loacl/bin/mkyaffs2image

 

有了工具,我们就可以制作文件系统映像文件了

3.3烧写根文件系统

3.3烧写根文件系统

把这个文件拷贝到电脑上,用DNW烧写

先进入u-boot界面,如果你的bootargs不是root分区的话,设置bootargs

=>set  bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200

=>save

=>boot

进入控制台,ls后

3.3烧写根文件系统

但是我们ps时

3.3烧写根文件系统

所有我们要再完善

3.3烧写根文件系统

如果你不想手工挂载,而是想在制作根文件系统的时候就挂载的话,在虚拟机上这样做

我们之前的程序只有/bin/sh

现在我们多加一个配置文件在inittab加——/etc/init.d/rcS脚本

3.3烧写根文件系统

mkdir etc/init.d

3.3烧写根文件系统

其实我们也可以把上面的改为修改etc/fstab

3.3烧写根文件系统

在rcS文件加个mount -a 它会自动去etc/fstab读取挂载命令

3.3烧写根文件系统

3.3烧写根文件系统

重新生成镜像文件,烧写

直接ps就出来了

3.3烧写根文件系统

 

 

2.改进——自动创建设备

我们现在的设置只有/dev/console 和/dev/null

如果有成千的设备去挂载会很麻烦

在linux里有一种udev机制—— 自动创建/dev/下的设备节点

在busybox有一个简化版本叫mdev

在pc机的busybox下搜索mdev,有mdev.txt,有教你怎么做

3.3烧写根文件系统

我们修改rc.S

3.3烧写根文件系统

还有fstab,再创建sysfs目录

3.3烧写根文件系统

 

制作文件系统映像,烧写

我们一开始只有console 和null,现在挂载了很多文件是mdev帮我们做的

3.3烧写根文件系统

这样我们制作yaffs2文件系统就成功了

出来yaffs2还有jffs2(主要用在nor Flash)这里就不演示,有兴趣看《嵌入式开发手册17.4.5》

 

我们发现我们每次修改完文件系统都要烧写,那么有没有办法不烧写呢,还有一种网络文件系统nfs挂载。我们下一节介绍