linux 启动脚本 tty,Linux启动过程简介
许多人对Linux的启动过程感到很神秘,因为所有的启动信息都在屏幕上一闪而过。其实,
Linux的启动过程并不象启动信息所显示的那样复杂,它主要分成两个阶段:
1.启动内核。在这个阶段,内核装入内存并在初始化每个设备驱动器时打印信息。
2.执行程序init。装入内核并初始化设备后,运行init程序。init程序处理所有程序的启动,
包括重要系统精灵程序和其它指定在启动时装入的软件。
下面以Red Hat为例简单介绍一下Linux的启动过程。
一、启动内核
首先介绍启动内核部分。电脑启动时,BIOS装载MBR,然后从当前活动分区启动,LILO获得引
导过程的控制权后,会显示LILO提示符。此时如果用户不进行任何操作,LILO将在等待制定
时间后自动引导默认的操作系统,而如果在此期间按下TAB键,则可以看到一个可引导的操作
系统列表,选择相应的操作系统名称就能进入相应的操作系统。
当用户选择启动LINUX操作系统时,LILO就会根据事先设置好的信息从ROOT文件系统所在的分
区读取LINUX映象,然后装入内核映象并将控制权交给LINUX内核。LINUX内核获得控制权后,
以如下步骤继续引导系统:
1. LINUX内核一般是压缩保存的,因此,它首先要进行自身的解压缩。内核映象前面的一些
代码完成解压缩。
2. 如果系统中安装有可支持特殊文本模式的、且LINUX可识别的SVGA卡,LINUX会提示用户
选择适当的文本显示模式。但如果在内核的编译过程中预先设置了文本模式,则不会提示选
择显示模式。该显示模式可通过LILO或RDEV工具程序设置。
3. 内核接下来检测其他的硬件设备,例如硬盘、软盘和网卡等,并对相应的设备驱动程序
进行配置。这时,显示器上出现内核运行输出的一些硬件信息。
4. 接下来,内核装载ROOT文件系统。ROOT文件系统的位置可在编译内核时指定,也可通过
LILO或RDEV指定。文件系统的类型可自动检测。如果由于某些原因装载失败,则内核启动
失败,最终会终止系统。
二、执行init程序
其次介绍init程序,利用init程序可以方便地定制启动其间装入哪些程序。init的任务是
启动新进程和退出时重新启动其它进程。例如,在大多数Linux系统中,启动时最初装入
六个虚拟的控制台进程,退出控制台窗口时,进程死亡,然后init启动新的虚拟登录控制台,
因而总是提供六个虚拟登陆控控制台进程。
控制init程序操作的规则存放在文件/etc/inittab中。Red Hat Linux缺省的inittab文
件如下:
#
#inittab This file describes how the INIT process should set up the system in a certain
#run-level.
#
#
#Default runlevel.The runlevels used by RHS are:
#0-halt(Do NOT set initdefault to tis)
#1-Single user mode
#2-Multiuser,without NFS(the same as 3,if you do not have networking)
#3-Full multiuser mode
#4-unused
#5-X11
#6-reboot(Do NOT set initdefault to tis)
#
id:3:initdefault:
#system initialization
si::sysinit:/etc/rc.d/rc.sysinit
10:0:wait:/etc/rc.d/rc 0
11:1:wait:/etc/rc.d/rc 1
12:2:wait:/etc/rc.d/rc 2
13:3:wait:/etc/rc.d/rc 3
14:4:wait:/etc/rc.d/rc 4
15:5:wait:/etc/rc.d/rc 5
16:6:wait:/etc/rc.d/rc 6
#Things to run in every runlevel
ud:once:/sbin/update
#Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
#When our UPS tells us power has failed,assume we have a few minutes o
power left.Schedule a
#shutdown for 2 minutes from now.
#This does,of course,assume you have powered installed and your UPS
connected and working
#correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Restored;Shutdown Cancelled"
#Run gettys in standard runlevels
1:12345:respawn:/sbin/minggetty tty1
2:2345:respawn:/sbin/minggetty tty2
3:2345:respawn:/sbin/minggetty tty3
4:2345:respawn:/sbin/minggetty tty4
5:2345:respawn:/sbin/minggetty tty5
6:2345:respawn:/sbin/minggetty tty6
#Run xdm in runlevel 5
x:5:respawn:/usr/bin/X11/xdm -nodaemon
Linux有个运行级系统,运行级是表示系统当前状态和init应运行哪个进程并保持在这种
系统状态中运行的数字。在inittab文件中,第一个项目指定启动时装入的缺省运行级。
上例中是个多用户控制台方式,运行级为3。然后,inittab文件中每个项目指定第二个
字段的项目用哪种运行级(每个字段用冒号分开)。因此,对运行级3,下列行是相关的:
13:3:wait:/etc/rc.d/rc 3
1:12345:respawn:/sbin/minggetty tty1
2:2345:respawn:/sbin/minggetty tty2
3:2345:respawn:/sbin/minggetty tty3
4:2345:respawn:/sbin/minggetty tty4
5:2345:respawn:/sbin/minggetty tty5
6:2345:respawn:/sbin/minggetty tty6
最后六行建立Linux提供的六个虚拟控制台。第一行运行启动脚本/etc/rc.d/ rc 3;
这将运行目录/etc/
rc.d/rc3.d中包含的所有脚本,这些脚本表示系统初始化时要启动的程序。一般来说,
这些脚本不需要编辑或改变,是系统缺省的。[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22001907/viewspace-1023619/,如需转载,请注明出处,否则将追究法律责任。
linux 启动脚本 tty,Linux启动过程简介相关推荐
- Linux shell脚本,Linux下的西红柿时间管理法 I
Linux shell脚本,Linux下的西红柿时间管理法 I 全部代码在[https://github.com/younggift/tomato.git]. 1. 西红柿时间管理法是什么 西红柿是一 ...
- 视频教程-Linux shell脚本习题-Linux
Linux shell脚本习题 阿铭,前腾讯运维工程师. 1.职业历程:先后就职于康盛.腾讯.好贷,从基础运维做到运维经理,从月薪3k到年薪40w+. 2.培训经历:11年为女友编写电子版linux入 ...
- linux init.d添加启动脚本 ln,linux编写可运行的shell脚本并在其他目录创建ln连接与设置开机启动...
ln :创建连接文件 - 默认创建的是硬连接,好比复制 ,但是两个文件会同步 命令:ln ./java/android/aa.txt aaa - s :创建的是软连接变为指向(类似于windows的 ...
- linux 自启动脚本顺序,(linux开机启动脚本的顺序.doc
(linux开机启动脚本的顺序 linux开机启动脚本的顺序 来源: ChinaUnix博客 日期: 2009.11.07 13:54 (共有0条评论) 我要评论 ? 如果[url=javascrip ...
- linux shell脚本 nohup,linux真正使用shell脚本做定时任务 关键的Nohup
网上有很多的文章教大家使用定时任务,所以别的废话我就不多说了 我这里直接有SH来做定时,只是有一点大家不知道,一定要用Nohup,否则用户退出终端以后,SH任务会被自动终止掉 假设有一 tash.sh ...
- linux shell 脚本 supress,Linux指令和shell脚本
关于Shell 在计算机科学中,Shell俗称壳(用来区别于核),是指"为使用者提供操作界面"的软件(命令解析器).它类似于DOS下的command.com和后来的cmd.exe. ...
- Android8.0 开机启动脚本,Android开机启动shell脚本(Android 8.0测试OK)
Android 下做开机启动shell脚本的大致流程如下: 目录 写shell脚本 为脚本写te文件 在init.rc中启动脚本 添加Selinux权限 写shell脚本 比如新建一个init.tes ...
- linux spec 脚本,关于linux:shell脚本的单元测试
多年来,我从事的几乎所有产品都涉及到一定程度的Shell脚本(或Windows上的批处理文件,PowerShell等). 即使我们使用Java或C ++编写了大量代码,但似乎总是存在一些集成或安装任务 ...
- php-fpm 没有启动脚本,php-fpm服务启动脚本
在php-fpm还是打补丁的时候,php-fpm重启只需要执行php-fpm restart或者reload, 自从php5.3之后,php-fpm的启动和停止显得比较麻烦,特意改写了一份nginx的 ...
最新文章
- java 反序列化利用工具 marshalsec 使用简介
- C++中的Lambda表达式详解
- 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](3)
- [八省联考2018]劈配 (匈牙利)
- 2021年货节消费趋势报告
- 基于Nginx的Wesocket负载均衡
- magento 客户表相关_第9章 相关性分析
- Mplay 常用命令及功能简介
- 【金猿案例展】某大型股份制银行——指标的统一管理和分析平台
- 【多线程】多线程到底是个甚——多线程初阶(复习自用)
- MacTex 使用教程
- ubuntu20.04 RTX2060||nvidia显卡驱动|cuda|cudnn|pytorch
- python基础知识相关习题
- BT结束,高宽带有何用?
- java 回滚异常_Java异常与事物回滚探究
- apache(阿帕奇)的基本配置1
- 计算机无法读取exe文件,详解EXE文件出错不能打开的修复方法
- Fiddler 插件 hook 参考代码
- Jarvis OJ 软件密码破解-1
- 常用激活函数总结(深度学习)
热门文章
- 编程软件python怎样开始学-Python 3.7从零开始学
- python条件语句-Python 条件语句
- python经典100例答案pdf-Python3基础训练经典100题(带答案)下载
- python stm32-STM32 上面跑Python
- python北京理工大学推荐的书-Python语言程序设计
- 精通python爬虫框架-精通Python爬虫框架Scrapy
- python中一共有多少个关键字-Python中所有的关键字
- python100个免费实例-Python实例100个(基于最新Python3.7版本)
- python培训好学吗-人工智能“速成班”Python好学吗 小心别被忽悠了
- python3创建定时任务