内核模块的自动加载和Ubuntu-Linux的开机流程(ubuntu9.10到现在的ubuntu发行版)
来源:互联网 发布:mac os bogon 知乎 编辑:程序博客网 时间:2024/06/01 11:50
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/rcS,即将参数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的开机流程(ubuntu9.10到现在的ubuntu发行版)
- 内核模块的自动加载和Ubuntu-Linux的开机流程(ubuntu6.10~ubuntu9.10)
- 内核模块的自动加载和Ubuntu-Linux的开机流程
- Linux Fedora或Ubuntu发行版清除旧的内核
- linux开机流程 自定义模块的加载
- Ubuntu:编译Linux的内核源代码和内核模块
- VPS主机和Linux的发行版Ubuntu的援助
- 如何查看ubuntu的内核版本和发行版本号?
- 查看ubuntu的内核版本和发行版本号
- 如何查看ubuntu的内核版本和发行版本号?
- 如何查看Ubuntu的内核版本和发行版本号?
- 如何查看ubuntu的内核版本和发行版本号?
- 如何查看ubuntu的内核版本和发行版本号?
- 如何查看ubuntu的内核版本和发行版本号?
- 如何查看ubuntu的内核版本和发行版本号?
- 加载模块到linux内核的方法
- linux发行版和内核的关系
- Ubuntu在开机时加载内核模块
- 页面tips实现文字过长换行显示
- NMHDR Structure
- VP8视频格式初探
- js IDE方案
- jquery的slideToggle效果增强
- 内核模块的自动加载和Ubuntu-Linux的开机流程(ubuntu9.10到现在的ubuntu发行版)
- 什么是Tkinter?
- WPF RICHTEXTBOX 和数据库读写图文的方法。
- VC6.0工程设置
- 对完成端口的一些看法
- Hello, Tkinter
- Servlet过滤器大全
- hello , world --Tkinter代码描述
- 今日之迪卡龙