<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

        linux2.4/2.6內(nèi)核kernel對(duì)Initrd的處理流程

        時(shí)間: 若木635 分享

          linux2.4內(nèi)核kernel對(duì) Initrd 的處理流程

          為了使讀者清晰的了解Linux2.6內(nèi)核initrd機(jī)制的變化,在重點(diǎn)介紹Linux2.6內(nèi)核initrd之前,先對(duì)linux2.4內(nèi)核的 initrd進(jìn)行一個(gè)簡(jiǎn)單的介紹。

          Linux2.4內(nèi)核的initrd的格式是文件系統(tǒng)鏡像文件, linux2.4內(nèi)核對(duì)initrd的處理流程如下:

          1. boot loader把內(nèi)核以及/dev/initrd的內(nèi)容加載到內(nèi)存,/dev/initrd是由boot loader初始化的設(shè)備,存儲(chǔ)著initrd。

          2. 在內(nèi)核初始化過(guò)程中,內(nèi)核把 /dev/initrd 設(shè)備的內(nèi)容解壓縮并拷貝到 /dev/ram0 設(shè)備上。

          3. 內(nèi)核以可讀寫的方式把 /dev/ram0 設(shè)備掛載為原始的根文件系統(tǒng)。

          4. 如果 /dev/ram0 被指定為真正的根文件系統(tǒng),那么內(nèi)核跳至最后一步正常啟動(dòng)。

          5. 執(zhí)行 initrd 上的 /linuxrc 文件,linuxrc 通常是一個(gè)腳本文件,負(fù)責(zé)加載內(nèi)核訪問(wèn)根文件系統(tǒng)必須的驅(qū)動(dòng), 以及加載根文件系統(tǒng)。

          6. /linuxrc 執(zhí)行完畢,真正的根文件系統(tǒng)被掛載。

          7. 如果真正的根文件系統(tǒng)存在 /initrd 目錄,那么 /dev/ram0 將從 / 移動(dòng)到 /initrd。否則如果 /initrd 目錄不存在, /dev/ram0 將被卸載。

          8. 在真正的根文件系統(tǒng)上進(jìn)行正常啟動(dòng)過(guò)程 ,執(zhí)行 /sbin/init。

          linux2.4 內(nèi)核的 initrd 的執(zhí)行是作為內(nèi)核啟動(dòng)的一個(gè)中間階段,也就是說(shuō) initrd 的 /linuxrc 執(zhí)行以后,內(nèi)核會(huì)繼續(xù)執(zhí)行初始化代碼,我們后面會(huì)看到這是 linux2.4 內(nèi)核同 2.6 內(nèi)核的 initrd 處理流程的一個(gè)顯著區(qū)別。

          linux2.6 內(nèi)核kernel對(duì) Initrd 的處理流程

          linux2.6 內(nèi)核支持兩種格式的 initrd,一種是前面 linux2.4 內(nèi)核那種傳統(tǒng)格式的文件系統(tǒng)鏡像-image-initrd,它的制作方法同 Linux2.4 內(nèi)核的 initrd 一樣,其核心文件就是 /linuxrc。

          另外一種格式的 initrd 是 cpio 格式的,這種格式的 initrd 從 linux2.5 起開(kāi)始引入,使用 cpio 工具生成,其核心文件不再是 /linuxrc,而是 /init。

          盡管 linux2.6 內(nèi)核對(duì) cpio-initrd和 image-initrd 這兩種格式的 initrd 均支持,但對(duì)其處理流程有著顯著的區(qū)別,下面分別介紹 linux2.6 內(nèi)核對(duì)這兩種 initrd 的處理流程。

          cpio-initrd 的處理流程

          1. boot loader 把內(nèi)核以及 initrd 文件加載到內(nèi)存的特定位置。

          2. 內(nèi)核判斷initrd的文件格式,如果是cpio格式。

          3. 將initrd的內(nèi)容釋放到rootfs中。

          4. 執(zhí)行initrd中的/init文件,執(zhí)行到這一點(diǎn),內(nèi)核的工作全部結(jié)束,完全交給/init文件處理。

          image-initrd的處理流程

          1. boot loader把內(nèi)核以及initrd文件加載到內(nèi)存的特定位置。

          2. 內(nèi)核判斷initrd的文件格式,如果不是cpio格式,將其作為image-initrd處理。

          3. 內(nèi)核將initrd的內(nèi)容保存在rootfs下的/initrd.image文件中。

          4. 內(nèi)核將/initrd.image的內(nèi)容讀入/dev/ram0設(shè)備中,也就是讀入了一個(gè)內(nèi)存盤中。

          5. 接著內(nèi)核以可讀寫的方式把/dev/ram0設(shè)備掛載為原始的根文件系統(tǒng)。

          6. .如果/dev/ram0被指定為真正的根文件系統(tǒng),那么內(nèi)核跳至最后一步正常啟動(dòng)。

          7. 執(zhí)行initrd上的/linuxrc文件,linuxrc通常是一個(gè)腳本文件,負(fù)責(zé)加載內(nèi)核訪問(wèn)根文件系統(tǒng)必須的驅(qū)動(dòng), 以及加載根文件系統(tǒng)。

          8. /linuxrc執(zhí)行完畢,常規(guī)根文件系統(tǒng)被掛載

          9. 如果常規(guī)根文件系統(tǒng)存在/initrd目錄,那么/dev/ram0將從/移動(dòng)到/initrd。否則如果/initrd目錄不存在, /dev/ram0將被卸載。

          10. 在常規(guī)根文件系統(tǒng)上進(jìn)行正常啟動(dòng)過(guò)程 ,執(zhí)行/sbin/init。

          通過(guò)上面的流程介紹可知,Linux2.6內(nèi)核對(duì)image-initrd的處理流程同linux2.4內(nèi)核相比并沒(méi)有顯著的變化, cpio-initrd的處理流程相比于image-initrd的處理流程卻有很大的區(qū)別,流程非常簡(jiǎn)單。

          cpio-initrd同image-initrd的區(qū)別與優(yōu)勢(shì)

          cpio-initrd的制作方法更加簡(jiǎn)單 ,而傳統(tǒng)initrd的制作過(guò)程比較繁瑣,后面有詳細(xì)介紹。

          cpio-initrd的內(nèi)核處理流程更加簡(jiǎn)化

          通過(guò)上面initrd處理流程的介紹,cpio-initrd的處理流程顯得格外簡(jiǎn)單,通過(guò)對(duì)比可知cpio-initrd的處理流程在如下兩個(gè)方面得到了簡(jiǎn)化:

          1. cpio-initrd并沒(méi)有使用額外的ramdisk,而是將其內(nèi)容輸入到rootfs中,其實(shí)rootfs本身也是一個(gè)基于內(nèi)存的文件系統(tǒng)。這樣就省掉了ramdisk的掛載、卸載等步驟。

          2. cpio-initrd啟動(dòng)完/init進(jìn)程,內(nèi)核的任務(wù)就結(jié)束了,剩下的工作完全交給/init處理;而對(duì)于image-initrd,內(nèi)核在執(zhí)行完 /linuxrc進(jìn)程后,還要進(jìn)行一些收尾工作,并且要負(fù)責(zé)執(zhí)行真正的根文件系統(tǒng)的/sbin/init。

          cpio-initrd的職責(zé)更加重要

          cpio-initrd不再象image-initrd那樣作為linux內(nèi)核啟動(dòng)的一個(gè)中間步驟,而是作為內(nèi)核啟動(dòng)的終點(diǎn),內(nèi)核將控 制權(quán)交給cpio-initrd的/init文件后,內(nèi)核的任務(wù)就結(jié)束了,所以在/init文件中,我們可以做更多的工作,而不比擔(dān)心同內(nèi)核后續(xù)處理的銜 接問(wèn)題。當(dāng)然目前l(fā)inux發(fā)行版的cpio-initrd的/init文件的內(nèi)容還沒(méi)有本質(zhì)的改變,但是相信initrd職責(zé)的增加一定是一個(gè)趨勢(shì)。

        75359 主站蜘蛛池模板: 性色av无码久久一区二区三区| 日产一二三四乱码| 免费人成在线观看品爱网| 少妇高潮喷潮久久久影院| 亚洲国产香蕉视频欧美| 久爱www人成免费网站| 中文人成影院| 国产极品粉嫩尤物一线天| 国产叼嘿视频一区二区三区| 国产精品麻豆成人av| 亚洲午夜无码久久久久蜜臀av| 国产成人无码一区二区在线播放| 久久99国产一区二区三区| 亚洲欧美综合中文| 2020精品自拍视频曝光| 亚洲欧美日韩精品久久| 永久黄网站色视频免费直播| 国产老妇伦国产熟女老妇高清| 亚洲精品一区二区区别| 国产99视频精品免费专区| 国产精品嫩草影院一二三区入口| 蜜臀av一区二区国产在线| 男女性高爱潮免费网站| 欧洲美熟女乱又伦免费视频| 免费看黄色片| 午夜精品无人区乱码1区2区| 国产明星精品无码AV换脸| 无码人妻一区二区三区兔费| 亚洲一区二区偷拍精品| 2021久久精品国产99国产精品| 国产午夜亚洲精品福利| 国产日韩在线视看高清视频手机| 亚洲一区二区不卡av| yw尤物av无码国产在线观看| 成人啪啪高潮不断观看| 丰满无码人妻热妇无码区| av无码精品一区二区乱子| 一级毛片在线播放免费| 丝袜老师办公室里做好紧好爽| 国产一区二区三区激情视频| 国产亚洲精品视频一二区|