一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

詳細(xì)講解Linux啟動流程及啟動用到的配置文件及腳本

 科技強我 2018-06-25

   《一》:詳解Linux啟動流程及需要使用到的配置文件

POST加電自檢-->BIOS(Boot Sequence)->MBR(bootloader)->Kernel->initrd->rootfs(/sbin/init)  
下面對每個啟動流程做詳細(xì)解釋:

POST(加電自檢)
         計算機本身不執(zhí)行任何程序,所以系統(tǒng)必須要完成自舉的過程,在CPU的控制下,將RAM芯片中的某個程序映射到ROM地址空間,并執(zhí)其中的指令完成系統(tǒng)硬件健康狀況檢查,例如存儲設(shè)備、網(wǎng)卡、CPU、聲卡等其他硬件設(shè)備是否完好。當(dāng)檢查完成后,所有硬件或基本硬件、核心硬件沒有問題,則下一個啟動流程->BIOS

BIOS(Boot Sequence)
      
   按照BIOS所設(shè)定的系統(tǒng)啟動流程,根據(jù)引導(dǎo)次序(Boot Sequence)自上而下的尋找對應(yīng)存儲設(shè)備上操作系統(tǒng)的MBR,如果MBR存在,則會讀取MBR中的bootloader

MBR(bootloader)
       
會根據(jù)MBR所指引的活動分區(qū)上尋找系統(tǒng)分區(qū)中的 bootloader,bootloader稱為是一段程序,占據(jù)446字節(jié)。在bootloader當(dāng)中配置了所要引導(dǎo)操作系統(tǒng)的內(nèi)核所在的位置,因此BIOS被載入內(nèi)存以后,當(dāng)它實現(xiàn)將控制權(quán)限轉(zhuǎn)交給bootloader以后,bootloader接收整個系統(tǒng)的控制權(quán)限,而后根據(jù)用戶的選擇去讀取相應(yīng)操作系統(tǒng)中的內(nèi)核,并將內(nèi)核裝載入內(nèi)存的某個空間位置,解壓縮,這時kernel就可以在內(nèi)存中活動,并根據(jù)kernel本身功能在內(nèi)存當(dāng)中探索硬件并加載硬件驅(qū)動程序并完成內(nèi)核初始化,bootloader會將控制權(quán)限轉(zhuǎn)交給內(nèi)核。

Kernel(初始化)
     
我們知道kernel是完成探索硬件及加載硬件驅(qū)動程序,并以讀寫的方式掛載根文件系統(tǒng)。那么這里就出現(xiàn)一個比較詭異的問題,是什么問題呢?

      我們又知道,要想訪問真正的根文件系統(tǒng)(rootfs)的話,就必須加載根文件系統(tǒng)中的設(shè)備,這時根文件系統(tǒng)又沒有掛載,要掛載根文件系統(tǒng)又得加載根文件系統(tǒng)中的驅(qū)動程序,哪怎么辦呢?這是就用到了initrd文件了。
在來說下kernel初始化所要工作的內(nèi)容做下簡單總結(jié):
        探測硬件->加載驅(qū)動(initrd)->掛載根文件系統(tǒng)->rootfs(/sbin/init)

initrd功能介紹
     
  其實說白了initrd就是一個虛擬的文件系統(tǒng),里面有/、lib、bin、sbin、usr、proc、sys、var、dev、boot等一些目錄,其實你會發(fā)現(xiàn)里面的目錄有點像真的/對吧,所以我們稱之為虛擬的根文件系統(tǒng),作用就是將kernel和真的根文件系統(tǒng)建立關(guān)聯(lián)關(guān)系,讓kernel去initrd中加載根文件系統(tǒng)所需要的驅(qū)動程序,并以讀寫的方式掛載根文件系統(tǒng),并讓執(zhí)行用戶當(dāng)中第一個進程init。

/sbin/init(/etc/inittab)
         /sbin/init啟動會用到/etc/inittab所定義的條目,如:默認(rèn)登陸級別id:3:initdefault:(這里就是默認(rèn)啟動3級別)
下面就來說下/etc/inittab所工作那些內(nèi)容:
/etc/inittab
默認(rèn)運行級別
0:halt
1: single user mode(單用戶維護模式)
2:multi user mode, without NFS(不支持NFS功能)
3: multi user mode, text mode(字符界面)
4:reserved (系統(tǒng)保留)
5: multi user mode, graphic mode  (圖形化界面)
6: reboot   (重啟)
系統(tǒng)初始化(/etc/rc.d/rc.sysinit)
檢測,并以讀寫方式掛載根文件系統(tǒng)
設(shè)定主機名
檢測并掛載/etc/fstab中其它文件系統(tǒng)
啟動swap分區(qū)
初始化外圍硬件設(shè)備驅(qū)動
根據(jù)/etc/sysctl.conf設(shè)定內(nèi)核參數(shù)
激活udev和selinux
激活LVM和RAID設(shè)備
清理過期鎖文件和PID文件
裝載鍵映射-->鍵盤上每個鍵的功能
運行指定級別的服務(wù)腳本
/etc/rc.d/init.d/
/etc/rc.d/rc#.d
                       rc0-rc6
                                     K*     ##只要是以K開頭的文件均執(zhí)行stop工作
                                     S*     ##只要是以S開頭的文件均執(zhí)行start工作
                                     0-99  (執(zhí)行次序,數(shù)字越小越先被執(zhí)行) 
init執(zhí)行/etc/rc.d/rc.local
init執(zhí)行中斷機模擬程序mingetty來啟動login進程,最后等待用戶登錄

下面在來說下/etc/inittab的語法及格式:
/etc/inittab格式及語法(:)
[設(shè)置選項]:[runlevel]:[init操作行為]:[命令選項]
設(shè)置選項:
               代表init主要工作選項
運行級別
               0-6
init操作行為:
               initdefault:代表默認(rèn)運行級別
                  sysinit:代表系統(tǒng)初始化操作選項
                  ctrlaltdel:代表重啟的相關(guān)設(shè)置
                  wait:代表上一個命令執(zhí)行結(jié)束后方可執(zhí)行下面的操作
                  respawn:代表后面字段可以無限制再生(reboot)
命令選項
             
一些命令,不過通常都是腳本
 

init處理流程:
 根據(jù)/etc/inittab設(shè)置進行處理:以默認(rèn)級別3說明:id:3:initdefault:
 default runlevel->/etc/rc.d/rc.sysinit->/etc/rc.d/rc5.d->ctrlatdel->set "pf" and "pr"->mingetty->login


init處理系統(tǒng)初始化流程/etc/rc.d/rc.sysinit(設(shè)置系統(tǒng)環(huán)境)
取得網(wǎng)絡(luò)環(huán)境與主機類型->/etc/sysconfig/network
測試與掛載內(nèi)存設(shè)備/proc及/sys
SElinux
啟動系統(tǒng)的隨機數(shù)生成器
設(shè)置終端機字體
設(shè)置系統(tǒng)啟動過程中的歡迎界面
設(shè)置系統(tǒng)時間與時區(qū)設(shè)置/etc/sysconfig/clock
接口設(shè)備檢測
用戶自定義模塊加載->/etc/sysconfig/modules/*.modules
根據(jù)/etc/sysctl.conf設(shè)置內(nèi)核參數(shù)
初始化軟件磁盤陣列->/etc/mdadm.conf
初始化LVM文件系統(tǒng)功能
fsck檢測磁盤文件系統(tǒng)
磁盤配額
檢測,并以讀寫方式重新掛載根文件系統(tǒng)
清除清除過程當(dāng)中的臨時文件
將啟動的相關(guān)信息->/var/log/dmesg
 
啟動服務(wù)與相關(guān)啟動配置文件(/etc/rc.d/rc # &/etc/sysconfig )
以默認(rèn)級別3說明:id:3:initdefault:
l3:3:wait:/etc/rc.d/rc 3
找到/etc/rc.d/rc3.d
 以K*開頭的文件,并運行/etc/rc.d/rc3.d/K* stop
 以S*開頭的文件,并運行/etc/rc.d/rc3.d/S* start
 /etc/rc.d/rc#.d/里面的文件鏈接的都是/etc/rc.d/init.d的文件

用戶自定義開機啟動程序(/etc/rc.d/rc.local)
可以根據(jù)自己的需求將一些執(zhí)行命令或是腳本寫到/etc/rc.d/rc.local里,當(dāng)開機時,就可以加載啦


根據(jù)mingetty程序調(diào)用login讓用戶登錄->用戶登錄(完成系統(tǒng)啟動)

  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    黄片免费观看一区二区| 99久久婷婷国产亚洲综合精品| 成人午夜爽爽爽免费视频| 99久久婷婷国产亚洲综合精品| 91欧美日韩一区人妻少妇| 污污黄黄的成年亚洲毛片| 99国产精品国产精品九九| 久久永久免费一区二区| 少妇在线一区二区三区| 五月婷婷欧美中文字幕| 小草少妇视频免费看视频| 日韩不卡一区二区三区色图| 91日韩在线观看你懂的| 欧美日韩三区在线观看| 欧美国产日产在线观看| 欧美日韩综合综合久久久| 日韩人妻少妇一区二区| 在线懂色一区二区三区精品| 亚洲中文字幕三区四区| 日韩国产亚洲欧美另类| 一区二区欧美另类稀缺| 色婷婷成人精品综合一区| 欧美日韩黄片免费试看 | 日本最新不卡免费一区二区| 日本丁香婷婷欧美激情| 国产原创激情一区二区三区| 国产麻豆一区二区三区在| 久久国产亚洲精品赲碰热| 国产熟女高清一区二区| 日韩在线欧美一区二区| 日韩国产中文在线视频| 欧美黄色成人真人视频| 麻豆国产精品一区二区三区| 日本高清中文精品在线不卡| 亚洲视频偷拍福利来袭| 日本理论片午夜在线观看| 欧美国产日本免费不卡| 国产亚洲中文日韩欧美综合网| 欧美黄色成人真人视频| 国产精品欧美一区两区| 国产亚洲精品一二三区|