内核模块的自动加载和Ubuntu-Linux的开机流程(ubuntu9.10到现在的ubuntu发行版)
2011-04-04 22:00
423 查看
ubuntu
从6.10
开始逐步用upstart
代替原来的sysinit
进行服务进程的管理的过程.
但是在Ubuntu10.10
的发行版中却找不到/etc/event.d
这个目录了,原因是:
从
ubuntu9.10
后,
http://www.examiner.com/geek-culture-in-rapid-city/ubuntu-10-10-fresh-install-to-acer
从而,在
Ubuntu10.10
发行版中没有了
/etc/event.d
目录了。
下面再来进一步说明,可能部分内容和上面有重复的地方:
在
2.6.35.4
的内核源码中有:
init/main.c
的
init_post()
函数中有
:
系统会按照上述顺序,逐次运行作为
init
的进程。当有任何一个进程被成功运行时,
run_init_process()
函数将不再返回。则当正确执行
run_init_process(“/sbin/init”)
后,则内核启动
init
进程。
Init
进程找到
/etc/init/rc-sysinit.conf
脚本文件
,
确定默认的运行级别
(X)
:
p { margin-bottom: 0.21cm; }
并用
sh
命令执行
rc-sysinit.conf
脚本文件,在该文件中有执行:
p { margin-bottom: 0.21cm; }
即在
rc-sysinit.conf
中执行
/etc/init.d/rcS
脚本完成系统初始化设置。下面跳转到
rcS
脚本:
/etc/init.d/rcS:
p { margin-bottom: 0.21cm; }
rcS
脚本调用
/etc/init.d/rc
S
,即将参数
S
传递给
/etc/init.d/rc
脚本
,
其目的是让
/etc/init.d/rc
执行
/etc/rcS.d
中所有以
S??*
的脚本(即文件名以
S
开头的脚本),其中在
/etc/rcS.d/
的目录下有一个
README
文本来说明该
/etc/rcS.d/
目录下脚本的作用:
p { margin-bottom: 0.21cm; }
即
/etc/rcS.d/
中是一些到
/etc/init.d/
中脚本的符号连接。
执行完
/etc/rcS.d/
中的脚本后,
触发相应的
runlevel
事件,开始运行
/etc/rc.conf
脚本:
p { margin-bottom: 0.21cm; }
因为在前面已经明确了
runlevel
是多少,在此,以
$RUNLEVEL
为参数传递给
/etc/init.d/rc
,
在
/etc/init.d/rc
中,根据
runlevel
的值,执行下面的脚本:
p { margin-bottom: 0.21cm; }a:link { }
即执行
/etc/rc$runlevel.d/
中的脚本按事先设定的优先级依次启动
,
直至最后给出登录画面
(
启动
X
服务器和
GDM)
。
(说明:在本文件中附带有一个用
systemtap
测试的
ubuntu10.04
启动过程执行的具体情况,其中部分内容可以和上面所说的相对应。)
其中模块的加载命令可以在相应的脚本中添加,从而实现启动时自动添加模块。但是,网卡驱动模块的自动添加业可以用下面的方式,参看该网页:
http://blog.csdn.net/ruixj/archive/2009/01/14/3772798.aspx
重要网址:
http://www.comedu.com.cn/linux/ubuntu/tips/2011/0118/11842.html
;
http://www.bitscn.com/os/linux/200812/155459.html
;
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/402759
;
http://ircanswers.com/ubuntu/500213/includes-ubuntu-1010-system-upstart
;
https://help.ubuntu.com/community/UbuntuBootupHowto
;
从6.10
开始逐步用upstart
代替原来的sysinit
进行服务进程的管理的过程.
但是在Ubuntu10.10
的发行版中却找不到/etc/event.d
这个目录了,原因是:
从
ubuntu9.10
后,
http://www.examiner.com/geek-culture-in-rapid-city/ubuntu-10-10-fresh-install-to-acer
从而,在
Ubuntu10.10
发行版中没有了
/etc/event.d
目录了。
下面再来进一步说明,可能部分内容和上面有重复的地方:
在
2.6.35.4
的内核源码中有:
init/main.c
的
init_post()
函数中有
:
系统会按照上述顺序,逐次运行作为
init
的进程。当有任何一个进程被成功运行时,
run_init_process()
函数将不再返回。则当正确执行
run_init_process(“/sbin/init”)
后,则内核启动
init
进程。
Init
进程找到
/etc/init/rc-sysinit.conf
脚本文件
,
确定默认的运行级别
(X)
:
p { margin-bottom: 0.21cm; }
并用
sh
命令执行
rc-sysinit.conf
脚本文件,在该文件中有执行:
p { margin-bottom: 0.21cm; }
即在
rc-sysinit.conf
中执行
/etc/init.d/rcS
脚本完成系统初始化设置。下面跳转到
rcS
脚本:
/etc/init.d/rcS:
p { margin-bottom: 0.21cm; }
rcS
脚本调用
/etc/init.d/rc
S
,即将参数
S
传递给
/etc/init.d/rc
脚本
,
其目的是让
/etc/init.d/rc
执行
/etc/rcS.d
中所有以
S??*
的脚本(即文件名以
S
开头的脚本),其中在
/etc/rcS.d/
的目录下有一个
README
文本来说明该
/etc/rcS.d/
目录下脚本的作用:
p { margin-bottom: 0.21cm; }
即
/etc/rcS.d/
中是一些到
/etc/init.d/
中脚本的符号连接。
执行完
/etc/rcS.d/
中的脚本后,
触发相应的
runlevel
事件,开始运行
/etc/rc.conf
脚本:
p { margin-bottom: 0.21cm; }
因为在前面已经明确了
runlevel
是多少,在此,以
$RUNLEVEL
为参数传递给
/etc/init.d/rc
,
在
/etc/init.d/rc
中,根据
runlevel
的值,执行下面的脚本:
p { margin-bottom: 0.21cm; }a:link { }
即执行
/etc/rc$runlevel.d/
中的脚本按事先设定的优先级依次启动
,
直至最后给出登录画面
(
启动
X
服务器和
GDM)
。
(说明:在本文件中附带有一个用
systemtap
测试的
ubuntu10.04
启动过程执行的具体情况,其中部分内容可以和上面所说的相对应。)
其中模块的加载命令可以在相应的脚本中添加,从而实现启动时自动添加模块。但是,网卡驱动模块的自动添加业可以用下面的方式,参看该网页:
http://blog.csdn.net/ruixj/archive/2009/01/14/3772798.aspx
重要网址:
http://www.comedu.com.cn/linux/ubuntu/tips/2011/0118/11842.html
;
http://www.bitscn.com/os/linux/200812/155459.html
;
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/402759
;
http://ircanswers.com/ubuntu/500213/includes-ubuntu-1010-system-upstart
;
https://help.ubuntu.com/community/UbuntuBootupHowto
;
相关文章推荐
- 内核模块的自动加载和Ubuntu-Linux的开机流程(ubuntu6.10~ubuntu9.10)
- 内核模块的自动加载和Ubuntu-Linux的开机流程
- Linux开机自动加载模块
- linux开机自动加载模块
- 在Linux启动时自动加载内核模块
- Linux如何在系统启动时自动加载内核模块
- Linux如何在系统启动时自动加载内核模块
- Linux如何在系统启动时自动加载内核模块
- Linux如何在系统启动时自动加载内核模块
- linux下自动加载设备驱动程序模块 分类: arm-linux-Ubuntu 2015-05-15 17:40 325人阅读 评论(0) 收藏
- linux自动加载模块,理解linux启动流程
- Linux如何在系统启动时自动加载内核模块
- linux开机流程 自定义模块的加载
- Linux开机自动加载模块
- Linux如何在系统启动时自动加载内核模块
- linux开机自动启动内核模块
- 内核模块开机自动加载和黑名单
- Linux如何在系统启动时自动加载内核模块
- Ubuntu在开机时加载内核模块
- 在Ubuntu上为Android系统编写Linux内核驱动程序 + 编写加载动态模块ko