Linux系统初始化流程(简述)

1,POST [power on self test]:
接通电源后,CPU通过出厂指定的地址读取代码,包括主板芯片上的ROM,测试内存,cpu风扇,显示设备等。此时无论如何,硬盘设备本身必须在硬件平台上被主板等组件识别到。硬盘设备可以是硬盘,U盘,光盘等

BOIS--Boot Sequence--主要设定启动次序(多个磁盘都可以启动OS)

加载磁盘设备第0磁道第0扇区[sector 0]----MBR

446bytes bootloader
:选定启动的OS,能自行识别分区文件系统(kernel文件只能放在基本磁盘分区上),调用相应的内核文件至内存RAM中。

Kernel文件在内存中压缩存放,其文件由两段组成,第一段能解压第二段文件。

64bytes 分区表

2bytes  特殊标记

tips:bootloader加载内核并为内核提供根的驱动模块文件(initrd -
被同时加载到内存中--内核把此文件当磁盘用-),此模块和kernel文件放在同一个基本磁盘分区上。

tips:安装程序在安装系统后能自动识别所需要的驱动模块打包做成文件。能让内核识别更多的硬件设备

2, MBR存在磁盘中,bootloader由OS设定安装,GRUB引导程序安装在bootloader中

GRUB引导阶段: /boot/grub/*

1st
stage: 位于MBR中,为了引导2nd stage

1.5
stage: 位于boot基本磁盘分区中,为识别内核文件所在的文件系统提供文件系统识别扩展

2nd
stage: 位于boot基本磁盘分区中,GRUB的引导程序

当stage2被加载时,GRUB根据请求的情况显示一个内核清单(/etc/grub.conf中定义)

Grub的功能

1、选择要启动的内核或系统;

能隐藏选择界面

2、交互式接口

e:
编辑模式

3、基于密码保护

启用内核映像;

定义在相应的title下

传递参数(进入编辑模式)

定义在全局段中

3,kernel文件自解压,内核运行initrd文件在内存中仿真的伪文件系统,加载驱动模块(运行/linuxrc或者/init脚本,sysroot下的真正根文件系统设备挂载到/下,初始根文件系统挂载到initrd/下,然后释放虚拟文件系统,挂载真正意义上的根目录文件系统并启动第一个用户级进程
init 进程

4,内核主动调用第一个进程/sbin/init。其主要功能是准备软件执行的环境,包括系统主机名,网络设置,语系处理,文件系统格式及其他服务的启动等。
init会读取/etc/inittab的配置文件。inittab定义了init的处理流程,其流程是:
1、取得runlevel即默认执行等级的相关等级
2、使用/etc/rc.d/rc.sysinit进行系统初始化,其主要工作是设置好整个系统的环境。
3、确认启动进入级别,通过/etc/rc.d/rc根据启动的级别来决定启动的服务选项,
4、执行用户自定义开机启动程序/etc/rc.d/rc.local
5、执行终端机模拟程序mingetty来启动login进程,等待用户登入

时间: 2024-10-12 22:51:31

Linux系统初始化流程(简述)的相关文章

[Linux学习笔记] Linux系统引导流程(一)

前面我们已经介绍过以CentOS为例的Linux系统的安装以及Linux常用命令的使用,本节内容我们将介绍Linux系统引导流程.当按下电源的那一刻,到我们看到用户界面,这其中都发生了些什么呢?赶快来一探究竟. 下图为Linux系统引导流程过程图: 以下对Linux引导流程过程做一个简单的说明: 1. POST加电自检 POST(POST ON SELF TEST)首先对每一个设备进行检查,完成后会寻找存有引导记录的设备,找到读入操作系统的引导记录,将系统控制权交给引导记录. 2. MBR引导

linux系统移植流程

linux系统移植流程   "Ctrl" + "+" :放大:"Ctrl" + "-" :缩小:"Ctrl" + "0" :原始大小. linux系统移植流程,布布扣,bubuko.com

linux系统初始化& 优化总结文档

16条优化汇总 1-不用root管理,以普通用户的名义通过sudo授权管理 2-更改默认的远程连接ssh服务端口,22-->55113,禁止root用户远程连接,只监听内网ip(使用vpn,视情况而定) 3-定时自动更新服务器时间,使其和互联网时间同步 4-配置yum更新源,从国外更新源下载安装软件包 5-关闭selinux及防火墙(生产环境中,如果使用了外部ip一定要调整防火墙) 6-调整文件描述符的数量,进程及文件的打开都会消耗文件描述符 7-定时自动清理邮件目录垃圾文件,防止innodes

【linux基础】19、系统初始化流程

一.内核 linux系统的组成:内核(kernel)+根文件系统(rootfs) 1.内核的功能 进程管理:task_struct,scheduler(调度) 内存管理: I/O管理:中断及中断处理 文件系统: 驱动程序 安全相关功能:SElinux,各种加密库 2.内核设计流派 单内核:单一体系 将所有功能都作成一个整体,都作在内核中 linux: 模块化设计:核心 + 外围功能性模块组成 内核支持动态装卸载模块  .ko文件:kernel object 微内核:内核子系统 windows,s

linux系统引导流程

系统引导流程********************************************************************固件 firmware(CMOS/BIOS)--->POST加电自检↓自举程序BootLoader(GRUB)--->载入内核↓载入内核Kernel  ----->驱动硬件↓启动进程init PID=1(恒为一)↓读取执行配置文件/etc/inittab 同步软硬件时钟date软件时钟 hwclock硬件时钟更改软件时钟 # date 070

linux系统初始化--​-调整linux文件系统

调整linux文件系统 安装系统时,我们面临的问题就是磁盘的划分,当然linux很早就明白这点,所以有了LVM卷,下面我们将开始讨论和了解LVM卷的相关内容.除此之外,我们后期会讨论下存储相关的信息,这里不再讨论.当然对于磁盘的其它相关知识这里不再赘述,优化相关的内容,我们后面再扯,这里仅仅去介绍如何为平台建设去调整磁盘.并且以LVM为主. 文件系统简述对比 文件系统 分区大小 单文件大小 最大目录数 其它特性 备注 Ext3 16TB 2TB 32000 高可用性.数据完整性比ext2好,支持

11、系统初始化流程、拯救模式 学习笔记

POST --> BIOS (Boot Sequence) --> MBR(bootloader) --> Kernel (CentOS5: initrd, CentOS6: initramfs) --> /sbin/init (CentOS5:/etc/inittab, CentOS6: /etc/inittab, /etc/init/*.conf) /etc/inittab: CentOS5: 每一行定义一个操作 CentOS6: upstart 脚本 运行级别: 0-6: 7

linux系统初始化--​配置主机网络

配置主机网络 安装完成linux 系统后,我们需要为主机配置一个可用的网络地址 下面以配置eth0接口为例来说明下 说明 在RHEL7中重新定义了Linux网卡的命名规则,不再遵循原来的eth[0,1,--].下面的例子中全部使用RHEL6的示例. 关于RHEL7的网卡命名原则 在进行centos7的pxe安装测试中发现了网卡命名不再遵从来有的命名规则而启用了最新的命名方式,官网文档描述如下: 在 Red Hat Enterprise Linux 7 中,systemd 和 udevd 支持大量

Linux系统开机流程

Linux系统开机的经过可以汇整成底下的流程的:     1. 加载 BIOS 的硬件信息不迚行自我测试,幵依据讴定取得第一个可开机的装置:     2. 读取幵执行第一个开机装置内 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序):     3. 依据 boot loader 的讴定加载 Kernel ,Kernel 会开始侦测硬件不加载驱劢程序:     4. 在硬件驱劢成功后,Kernel 会主劢呼叨 init 程序,而 init 会取得 run-leve