前面两节介绍了如何安装Busybox、C库,建立了 bin/、sbin/、usr/sbin、usr/bin、lib/等目录,最小根文件系统的大部分目录、文件已经建好。本节介绍剩下的部分,假设开发板的根文件系统在主机上的目录为/home/song/nfs_root/fs_mini。
一、构建 etc 目录
1、进入你的根文件系统在主机上的目录,创建一个 etc目录,如下
init 进程根据/etc/inittab 文件来创建其他子进程,比如调用脚本文件配置IP地址、挂接其他文件系统,最后启动shell等。
etc 目录下的内容取决于要运行的程序,本部分只需要创建3个文件:etc/inittab、etc/init.d/rcS、etc/fstab。
1、创建 etc/inittab 文件
执行命令:cd etc,进入你刚才创建的etc目录
执行命令:vim inittab,创建一个inittab文件
创建inittab文件,可以仿照BusyBox的examples/inittab文件,本节创建的内容如下
2、创建 etc/init.d/rcS 文件
执行命令:mkdir init.d,在当前etc目录下再创建一个init.d文件夹
执行命令:cd init.d,进入init.d文件夹
执行命令:vim rcS,创建一个rcS文件
这是一个脚本文件,可以在里面添加想自动执行的命令。以下命令配置IP地址、挂接/etc/fstab指定的文件系统。
第一行表示这是一个脚本文件,运行时使用 /bin/sh解析。
第二行用来配置IP地址。
第三行用来挂接/etc/fstab指定的所有文件系统。
最后,执行命令:chmod +x rcS,改变它的属性,使它能够执行。
3、创建 /etc/fstab 文件
执行命令:cd .. 返回上一级目录
执行命令:vim fstabz,创建fstab文件,该文件内容如下,表示执行“mount -a”命令后将挂接proc、tmpfs文件系统。
/etc/fstab 文件被用来定义文件系统的“静态信息”,这些信息被用来控制mount命令的行为。文件中各子段的意义如下。
① device:要挂接的设备。
比如/dev/hda2、/dev/mtdblock1等设备文件;也可以是其它格式,比如对于 proc 文件系统这个字段没有意义,可以是任意值;对于NFS文件系统,这个<host>:<dir>。
② mount-point:挂接点。
③ type:文件系统类型。
比如 proc、jffs2、yaffs、ext2、nfs等,也可以是auto,表示自动检测文件系统类型。
④ options:挂接参数,以逗号隔开。
/etc/fstab的作用不仅仅是用来控制“mount -a”的行为,即使是一般的mount命令也受它控制。
⑤ dump和fsck order:用来决定控制dump、fsck程序的行为。
dump是一个用来备份文件的程序。dump程序根据 dump 字段的值来决定这个文件系统是否需要备份,如果没有这个字段或其值为0,则dump程序忽略这个文件系统。
fsck是一个用来检查磁盘的程序。fsck程序根据fsck order字段来决定磁盘的检查顺序,一般来说对于根文件系统这个字段设为1,其他文件系统设为2。如果设为0,则fsck程序忽略这个文件系统。
二、构建 dev 目录
为了简单起见,本节使用最原始的方法处理设备:在 /dev 目录下创建各种节点(即设备文件)。当然还可以用 mdev 创建设备文件,这是韦老师书上的,我还不会哈!
4、执行命令:cd .. 返回上一级目录
5、执行命令:mkdir -p /home/song/nfs_root/fs_mini/dev ,创建dev目录
6、执行命令:cd dev,进入dev目录
7、在dev目录下先后执行以下命令
sudo mknod console c 5 1
sudo mknod null c 1 3
sudo mknod ttySAC0 c 204 64
sudo mknod mtdblock0 b 31 0
sudo mknod mtdblock1 b 31 1
sudo mknod mtdblock2 b 31 2
从系统启动过程可知,设计的设备有:/dev/mtdblock*(MTD块设备)、/dev/ttySAC*(串口设备)、/dev/console、/dev/null,只需要建立以上设备就可以启动系统。
注意:在一般系统中,ttySAC0的主设备号为4,但是在S3C2440、S3C2410所用的linux 2.6.22.6上,它们的串口号设备为204。
其他设备文件可以当系统启动后,使用 “cat /proc/devices” 命令查看内核中注册了哪些设备,然后一一创建相应的设备文件。
三、构建其他目录
其他目录可以是空目录,比如 proc、mnt、tmp、sys、root等。
8、执行命令:cd ..,进入上一级目录
9、执行命令:mkdir proc mnt tmp sys root 创建其他目录
现在,咱们这个/..../nfs_root/fs_mini 目录下就是一个非常小的根文件系统。开发板可以将它作为网络根文件系统直接启动。
如果要烧入开发板,还要将它制作为一个文件,称为映像文件。下一节将介绍制作使用 yaffs文件系统映像文件,未完,正在写..........
分享到:
相关推荐
linux根文件系统构建(etc目录包)
2.2、构建根文件按系统 19 2.2.1、建立根文件系统目录 19 2.2.2、建立动态链接库 21 2.2.3 交叉编译Bosybox 21 2.2.4 建立etc目录下的配置文件 24 2.2.5 制作根文件系统映像文件 26 第三章 启动系统 26 第四章 总结 ...
作为根文件系统配置中最重要的一个文件夹,etc目录至关重要。 文件夹内包含嘴角根文件系统的fstab脚本,inittable脚本和profile脚本,以及自启动的配置文件rcS。
文件系统:简单的说就是一种目录结构,由于 linux操作系统的设备在系统中是以文件的形式存在,将这些...根文件系统中还包括了许多的应用程序bin目录等,任何包括这些Linux 系统启动所必须的文件都可以成为根文件系统
使用 busybox 构建文件系统, busybox 仅仅只是帮我们构建好了一些常用的命令和文件,像 lib 库、 /etc 目录下的一些文件都需要我们自己手动创建,而且 busybox 构建的根文件系统默认没有用户名和密码设置。...
创建根文件系统目录,主要包括以下目录 /dev /etc /lib /usr /var /proc /tmp /home /root /mnt /bin /sbin /sys #mkdir /home/rootfs #cd /home/rootfs #mkdir dev etc lib usr var proc tmp home root mnt ...
busybox创建根文件系统所需的etc文件夹
11 将根目录下的文件信息追加到list.txt文件中 12 以三种方式关机或重启,分别是立刻关机,在随后的15:35关机,在过30min 重启并显示“the system will reboot”。的信息 ,取消关机 13修改game文件5为天...
这里面包含了可用的制作linux根文件系统用到的busybox和写好的启动脚本,已经测试过通过,具体流程请看我的博客。
etc目录文件介绍
在做linux移植时可以用它直接生成根文件系统中/etc目录下的内容。
etc.tar.bz2是已制作好的根文件系统压缩吧,解压就可以使用
linux系统etc目录下常用的所有配置文件详解
下面小编就为大家带来一篇新装linux系统/etc/sysconfig目录下无iptables文件的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
2.2、构建根文件按系统... 19 2.2.1、建立根文件系统目录... 19 2.2.2、建立动态链接库... 21 2.2.3 交叉编译Bosybox. 21 2.2.4 建立etc目录下的配置文件... 24 2.2.5 制作根文件系统映像文件... 26
因为根文件系统不能被umount,所以,必须首先创建一个分区,其文件系统为ext2文件系统,然后将目前的根分区上的所有文件与 目录,原原本本地复制到这一个分区,然后更改/etc/fstab文件,替换原来的根分区。
1. 基本的文件系统结构,包含一些必要的目录如:/dev、/bin、/etc、/lib、/usr、/tmp 等 2. 基本库,如 glibc 库 3. 基本的系统配置文件,如 rc、inittab等脚本文件。 4. 必要的设备文件支持,如/dev/fd0。 ...
Linux下etc中各个文件的作用 .../etc/conf:系统配置的主目录 I4 T8RDln /etc/conf/bin:与unix核心有关的命令 Ob UY 4r /etc/conf/cf.d:包含了用于连接unix核心所需的配置文件和主要的系统配置命令。
ETC中文对照,对于简单的方式,用这个即可