根文件系统(rootfs)
展开全文
一、根文件系统的作用
是linux挂载的第一个文件系统,rootfs包含shell命令、linux系统配置文件(文件系统的挂载、网络服务、用户名、主机名、用户密码、环境变量...)、linux应用程序、应用程序处理的数据、独立的驱动模块(*.ko)。
根文件系统,相当于linux内核外围的一个应用环境。
========================================================================================================
二、控制台输出:
[    4.183226] yaffs: dev is 32505860 name is "mtdblock4" rw  //存放rootfs的设备名字mtdblock4 ,rw可读写
[    4.183291] yaffs: passed flags ""
[    4.337878] VFS: Mounted root (yaffs filesystem) on device 31:4.  //31:4 --》主设备:次设备号
[    4.338028] Freeing init memory: 536K  ---->rootfs挂载成功,释放内核中一些初始化函数所占用的内存
[    4.357023] usb 1-1: New USB device found, idVendor=1a40, idProduct=0101
[    4.357083] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    4.357145] usb 1-1: Product: USB 2.0 Hub
[    4.357747] hub 1-1:1.0: USB hub found
[    4.357852] hub 1-1:1.0: 4 ports detected
[    5.886184] smdkc110-rtc smdkc110-rtc: rtc disabled, re-enabling
[    6.086924] eth0: link down
[    6.087198] ADDRCONF(NETDEV_UP): eth0: link is not ready
[root@YueQian /]# vim命令的作用是
[root@YueQian /]# 
[root@YueQian /]# 
[root@YueQian /]# 
最小的根文件系统的内容:
# ls /
bin        home        media      proc        sys        usr
dev        lib        mnt        root        tmp        var
etc        lost+found  opt        sbin 
========================================================================================================
三、根文件系统启动过程 
1、uboot的启动参数:
init=/linuxrc
init是linux运行时的第一个进程,该进程执行的是/linuxrc    其中linuxrc -> bin/busybox 
init=/sbin/init    其中:init -> ../bin/busybox 
--------------------------------------------------------------------------------------------------------
2、内核启动后,首先通过vfs去挂在rootfs,然后再执行init=/linuxrc ,linuxrc是busybox这个工作生成的文件。
linuxrc最后去分析一个rootfs下的一个文件/etc/inittab文件
--------------------------------------------------------------------------------------------------------
3、/etc/inittab
::sysinit:/etc/init.d/rcS  #系统初始化的时候,调用的一个脚本文件
::respawn:-/bin/sh          #系统启动后,进入一个shell环境
::restart:/sbin/init        #系统复位以后,重新执行/sbin/init
#::once:/etc/rc.local
::shutdown:/bin/umount -a -r  #关机的时候,做所有挂载的解压
注意:inittab文件的格式:
id:runlevel:action:process
其中:
--id:用来指定所启动进程的控制台,在嵌入式系统中一般不添;
--runlevel:busybox 完全忽略 runlevel 字段;
-
-action:指出 init 程序在执行相应 process 时,对 process 所采取的动作。<action>: Valid actions
include: sysinit, respawn, askfirst, wait, once, restart, ctrlaltdel, and shutdown.
--process:具体的执行程序或者脚本;
根据inittab文件,得到系统在初始化启动的时候,执行/etc/init.d/rcS脚本,其中rcS我们可以修改
--------------------------------------------------------------------------------------------------------

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。