☆ 文件系统制作
关于文件系统的制作网上教程很多,可参考http://blog.csdn.net/zhengmeifu/article/details/24174513(制作ext2根文件系统)
☆ 文件系统的nfs方式挂载
看参照教程 http://blog.csdn.net/gdliweibing/article/details/8989783
☆ linuxrc
首先linuxrc是一个可执行的应用程序
/linuxrc的作用是执行/sbin/init进程初始化文件。
==>主要工作是把已安装根文件系统中的/etc 挂载为ramfs,
==>拷贝/mnt/etc/目录下所有文件到/etc,这里存放系统启动后的许多特殊文件;
==>接着Linuxrc重新构建文件分配表inittab;
==>之后执行系统初始化进程/sbin/init。
/Linuxrc这个文件不是系统必须的,如果系统中没有这个文件的话,则默认首先运行/sbin/init,且其他的功能可在/etc/rcS文件中实现
一般在嵌入式中用busybox会生成
☆ busybox
busybox这个程序开发出来就是为了在嵌入式环境下构建rootfs使用的,也就是说他就是专门开发的init进程应用程序。
busybox为当前系统提供了一整套的shell命令程序集。
使用busybox制作rootfs 可参照教程http://www.cnblogs.com/lidabo/p/5300148.html
☆ /etc目录
是文件系统很关键的一个目录,存放着各类运行时配置文件,有些关键配置文件会在执行/linuxrc时候用得到
比较重要的配置文件有/etc/inittab /etc/init.d/rcS
☆ /etc/inittab
init的进程号是1,是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序。
init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。
inittab配置文件中就包含了init进程起来后需要执行的程序和脚本
inittab的格式可参考 http://blog.csdn.net/toormi/article/details/47615107
inittab的解析是在busybox/init/init.c/init_main函数中,先通过parse_inittab函数解析/etc/inittab(解析的重点是将inittab中的各个action和process解析出来),然后后面先直接执行sysinit和wait和once(注意这里只执行一遍),然后在while(1)死循环中去执行respwan和askfirst。
☆ /etc/init.d/rcS
这个文件是linux的运行时配置文件中最重要的一个了
其介绍可参照http://blog.csdn.net/bailyzheng/article/details/7487359
如果我们想添加启动脚本(例如想开机执行insmod操作),最简单的方法就是修改/etc/init.d/rcS,增加相应的shell命令
linux 下,一般而言,产品在启动的过程中应该加载启动命令/脚本的方法还有许多:
==>你只需在/etc/rc.d/rc.local的最后加入一行。
==>在/etc/inittab中加入
==>在/etc/init.d/中加入
==>在.bash_profile中加入有些土,但也是可以的。如果你的passwd文件中的用户使用选定的.bash_profile文件。同理.bashrc。
关于文件系统的制作网上教程很多,可参考http://blog.csdn.net/zhengmeifu/article/details/24174513(制作ext2根文件系统)
☆ 文件系统的nfs方式挂载
看参照教程 http://blog.csdn.net/gdliweibing/article/details/8989783
☆ linuxrc
首先linuxrc是一个可执行的应用程序
/linuxrc的作用是执行/sbin/init进程初始化文件。
==>主要工作是把已安装根文件系统中的/etc 挂载为ramfs,
==>拷贝/mnt/etc/目录下所有文件到/etc,这里存放系统启动后的许多特殊文件;
==>接着Linuxrc重新构建文件分配表inittab;
==>之后执行系统初始化进程/sbin/init。
/Linuxrc这个文件不是系统必须的,如果系统中没有这个文件的话,则默认首先运行/sbin/init,且其他的功能可在/etc/rcS文件中实现
一般在嵌入式中用busybox会生成
☆ busybox
busybox这个程序开发出来就是为了在嵌入式环境下构建rootfs使用的,也就是说他就是专门开发的init进程应用程序。
busybox为当前系统提供了一整套的shell命令程序集。
使用busybox制作rootfs 可参照教程http://www.cnblogs.com/lidabo/p/5300148.html
☆ /etc目录
是文件系统很关键的一个目录,存放着各类运行时配置文件,有些关键配置文件会在执行/linuxrc时候用得到
比较重要的配置文件有/etc/inittab /etc/init.d/rcS
☆ /etc/inittab
init的进程号是1,是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序。
init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。
inittab配置文件中就包含了init进程起来后需要执行的程序和脚本
inittab的格式可参考 http://blog.csdn.net/toormi/article/details/47615107
inittab的解析是在busybox/init/init.c/init_main函数中,先通过parse_inittab函数解析/etc/inittab(解析的重点是将inittab中的各个action和process解析出来),然后后面先直接执行sysinit和wait和once(注意这里只执行一遍),然后在while(1)死循环中去执行respwan和askfirst。
☆ /etc/init.d/rcS
这个文件是linux的运行时配置文件中最重要的一个了
其介绍可参照http://blog.csdn.net/bailyzheng/article/details/7487359
如果我们想添加启动脚本(例如想开机执行insmod操作),最简单的方法就是修改/etc/init.d/rcS,增加相应的shell命令
linux 下,一般而言,产品在启动的过程中应该加载启动命令/脚本的方法还有许多:
==>你只需在/etc/rc.d/rc.local的最后加入一行。
==>在/etc/inittab中加入
==>在/etc/init.d/中加入
==>在.bash_profile中加入有些土,但也是可以的。如果你的passwd文件中的用户使用选定的.bash_profile文件。同理.bashrc。