ubuntu启动流程及定制

转载 2013年12月03日 20:55:19

原文地址:http://blog.csdn.net/ydt_lwj/article/details/8233627

Linux系统主要通过以下步骤启动:
1、读取MBR的信息,启动Boot Manager
2、加载系统内核,启动/sbin/init进程
       init进程是Linux的根进程,所有的系统进程都是它的子进程。
3、init进程读取“/etc/inittab”(注:新版本找不到此文件)文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本:
       /etc/init.d中存储着可执行脚本文件。/etc/rcS.d和/etc/rcN(0-9)中存储有脚本的链接文件。
       通常情况下,“/etc/rcS.d/”目录下的链接文件首先被执行,然后根据运行级别选择N,执行“/etc/rcN.d/”目录下的链接文件。例如您设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/”。
       链接文件以K/S+两位数字+脚本名字方式命名,S/K代表脚本运行的参数为start/stop,两位数字代表链接文件执行的优先级。
       注:此时执行的脚本处于root用户权限下。
       注:如需增加自定义开机启动脚本,需要创建脚本,拷贝到/etc/init.d目录下,增加可执行属性,并在对应的运行级别/etc/rcN.d目录下按SXXScript的方式创建脚本的链接文件。系统还提供了对应的脚本工具update-rc.d帮助快速的建立和删除链接文件。(见附录)
4、根据“/etc/rcS.d/”文件夹中对应的脚本启动Xwindow服务器“xorg”,Xwindow为Linux下的图形用户界面系统。
5、启动登录管理器,等待用户登录
       Ubuntu系统默认使用GDM作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在“/etc/rc3.d/”文件夹中找到一个名为“S13gdm”的链接)
       此时将进入用户权限。
 
 
附录:update-rc.d用法
 
1) 将你的启动脚本复制到/etc/init.d目录下
 
    以下假设你的脚本文件名为test。
 
    2) 设置脚本文件的权限
 
    $ sudo chmod 755 /etc/init.d/test
 
    3) 执行如下命令将脚本放到启动脚本中去:
 
    $ cd /etc/init.d
 
    $ sudo update-rc.d test defaults 95
 
    注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
 
    update-rc.d: warning: /etc/init.d/test missing LSB informationupdate-rc.d: see
 
    卸载启动脚本的方法:
 
    $ cd /etc/init.d
 
    $ sudo update-rc.d -f test remove
 
    命令输出的信息参考如下:
 
    Removing any system startup links for /etc/init.d/test …    /etc/rc0.d/K95test    /etc/rc1.d/K95test    /etc/rc2.d/S95test    /etc/rc3.d/S95test    /etc/rc4.d/S95test    /etc/rc5.d/S95test    /etc/rc6.d/K95test


Ubuntu下添加开机启动脚本
方法一
Ubuntu开机之后会执行/etc/rc.local文件中的脚本,

所以我们可以直接在/etc/rc.local中添加启动脚本。

方法二

如果要添加为开机启动执行的脚本文件,

可先将脚本复制或者软连接/etc/init.d/目录下,

然后用:update-rc.dxxx defaults NN命令(NN为启动顺序),

将脚本添加到初始化执行的队列中去。

方法三

1.编写shell脚本
gedit /etc/init.d/mongo-server
#!/bin/bash

/usr/local/mongodb/bin/mongod --logpath /var/log/mongodb/mongodb.log --logappend --fork --dbpath /var/db/mongodb --pidfilepath /var/run/mongod.pid
2. chmod 755 /etc/init.d/mongo-server    
3. ubuntu默认启动级别为2加载的脚本在/etc/rc2.d/
ln -s /etc/init.d/mongo-server        /etc/rc2.d/S99mongo-server (S为开始执行99为执行顺序mongo-server为文件名)



开机自动运行桌面应用程序方法补充
      有些应用程序如一些桌面日历,ToDoList程序等等,是需要在桌面完全载入之后再运行才有效的!所以1,2的方法就行不通了。大家用过windows应该有印象,在“开始”-“程序”-“启动” 这个位置如果放置有其他快捷方式,则在载入桌面后会自动运行。
      Ubuntu下也有这样的文件夹,它的位置是 ~/.config/autostart/,其中保存的文件即为linux下的快捷方式文件,文件名如 RainLendar2.desktop(也就是类似于在“桌面”上点击右键-“创建启动器”所生成的文件)。用vi打开,发现其文件格式如下:
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Rainlendar2                          #应用程序名字
Type=Application                            #程序类型
Exec=/usr/bin/rainlendar2                #可运行应用程序的路径
X-GNOME-Autostart-enabled=true    #是否在载入桌面后自动运行




ubuntu启动流程及定制

Linux系统主要通过以下步骤启动:(参考版本:11.10) 1、读取MBR的信息,启动Boot Manager 2、加载系统内核,启动/sbin/init进程        init进程是Li...
  • MSL918
  • MSL918
  • 2013年08月13日 16:27
  • 210

ubuntu启动流程及定制

 Linux系统主要通过以下步骤启动: 1、读取MBR的信息,启动Boot Manager 2、加载系统内核,启动/sbin/init进程        init进程是Linux的根进程,...
  • x_i_y_u_e
  • x_i_y_u_e
  • 2014年09月14日 15:24
  • 444

Ubuntu启动流程及定制

Linux系统主要通过以下步骤启动: 1、读取MBR的信息,启动Boot Manager 2、加载系统内核,启动/sbin/init进程        init进程是Linux的根进程,所有的系...
  • lk07828
  • lk07828
  • 2015年03月17日 10:30
  • 260

ubuntu定制开机界面系统工具的开发

ubuntu设置开机界面及制作相应的软件工具 1.配置文件实现 Ubuntu14.04(这里以14.04版本为例)的plymouth设定文件放在/lib/plymouth目录内,与主题相关的设定文...
  • black_yu
  • black_yu
  • 2016年05月04日 10:24
  • 783

ubuntu 启动流程

Upstart 简介 假如您使用的 Linux 发行版是 Ubuntu,很可能会发现在您的计算机上找不到/etc/inittab 文件了,这是因为 Ubuntu 使用了一种被称为 upstart 的...
  • darling757267
  • darling757267
  • 2016年08月29日 20:39
  • 1828

ubuntu启动过程

本文讲述了从按下开机按钮到ubuntu(14.04 LTS)启动完毕的过程。grub 入门知识和设置进程开机启动方法。...
  • u013830021
  • u013830021
  • 2017年06月02日 04:31
  • 1030

ubuntu linux定制过程

定制的组成部分 linux安装文件加载程序isolinu及其他相关信息、根文件系统镜像(Ramdisk)、内核镜像、根文件系统四部分组成。安装过程由安装加载程序控制,直至完成后转入到挂载的根文件系统...
  • aniuge008
  • aniuge008
  • 2017年06月13日 15:53
  • 533

ubuntu启动时执行启动脚本流程

当前系统环境为:linux mint mate 17.1(基于ubuntu14.04的衍生版) 查阅资料后总结如下: 首先: /etc/rc.d链接目标为:/etc /etc/rc*.d文...
  • Listener_ri
  • Listener_ri
  • 2015年04月19日 13:54
  • 6460

ubuntu安装镜像定制

1.      安装工具 # apt-get install squashfs-tools genisoimage 2.      解压iso镜像文件 # mkdir oldiso # mou...
  • Resola
  • Resola
  • 2015年09月18日 14:33
  • 2479

WES7 定制界面完整过程

前一段时间得到了很多大侠的指导,今天汇报实验的结果如下: 目的:实验从启动开始到出现桌面,不出现任何windows图标或标识。 WES7启动大致有3个阶段(以界面显示分类) 1、“win...
  • zjc156m
  • zjc156m
  • 2016年09月23日 15:41
  • 873
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ubuntu启动流程及定制
举报原因:
原因补充:

(最多只允许输入30个字)