亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

2.6.24內核編譯 initrd-2.6.24.img分析

2024-07-26 00:37:49
字體:
來源:轉載
供稿:網友
 

initrd 的英文含義是 boot loader initialized RAM disk,就是由 boot loader 初始化的內存盤。在 linux內核啟動前, bootloader 會將存儲介質中的 initrd 文件加載到內存,內核啟動時會在訪問真正的根文件系統前先訪問該內存中的 initrd 文件系統。第一階段啟動的目的是為第二階段的啟動掃清一切障愛,最主要的是加載根文件系統存儲介質的驅動模塊。我們知道根文件系統可以存儲在包括IDE、SCSI、USB在內的多種介質上,如果將這些設備的驅動都編譯進內核,可以想象內核會多么龐大、臃腫。

initrd.img是Linux啟動過程中很重要的一個文件,如果沒指定initrd.img或者指定的initrd.img中并沒有包含正確的驅動模塊,則系統啟動時會掛起,并報告"kernel panic: VFS: Unable to mount root fs on 08:06"的錯誤。)

它把kernel的啟動分成兩個階段:在kernel中保留最少最基本的啟動代碼,然后把對各種各樣硬件設備的支持以模塊的方式放在initrd中,這樣就在啟動過程中可以從initrd所mount的根文件系統中裝載需要的模塊。這樣的一個好處就是在保持kernel不變的情況下,通過修改initrd中的內容就可以靈活的支持不同的硬件。在啟動完成的最后階段,根文件系統可以重新mount到其他設備上。

initrd.img不像通常的以.img為擴展名的ramdisk cramfs文件。它是經過用gzip -9進行壓縮過的ramdisk文件。一下是我對它的分析過程。

首先將initrd-2.6.24.img拷貝到操作目錄下:(測試環境:redflag6.0)

cp initrd-2.6.24.img /home/kernel/initrd.gz

然后解壓縮:

gunzip initrd.gz

解壓后可以看到一個沒有gz后綴的文件initrd

這里就可以用”file initrd”來查看文件的類型

在這里可以由另一種方法分析和查看initrd中的內容.但是由于這種方法我沒有試通,所以也就不詳加說明了,只是把這種方法也列出來.

mount –o loop initrd /mnt

cd /mnt

這時就可以看到initrd中的內容了.

一下是我在我機子上測試通過的方法。環境是redflag6.0。

cp initrd-2.6.24.img /home/kernel/initrd.gz

cd /home/kernel/

gunzip -dc initrd | cpio –idmv

這時在單前文件夾中就可以看到initrd中的內容了.

可以看到這里面有以下一些目錄和文件(當然是除了initrd.gz這是原先cp過來的):

Bin:

這里面有三個文件: insmod modPRobe,nash.insmod是用來加載內河模塊的.還可看到modprobe是指向nash程序的.那什么是nash呢? nash (not a shell)它不是一個SHELL,是一個設計的盡可能小的簡單命令解釋器。主要用于初始化RAM DISK時候解釋里面的linuxrc或者init這些簡單的腳本。nash目前常用的構建命令如下:

echo 將字符串輸出到標準輸出,只是功能上沒有系統里面echo那么多。

find 顯示指定路徑下所匹配名稱的文件,即只支持linux系統里find命令中的-name參數。

losetup 將文件幫定到回環設備/dev/loopdev上

mkdevices指定創建的塊設備文件存放路徑,如:mkdevices /dev

mknod 創建設備文件

mkrootdev 創建根文件系統的設備節點,根據內核傳遞參數當中的“root=”來創建對應該設備的節點,節點的名稱是/dev/root,它不僅能夠根據root=/dev/xxx來生成對應的設備節點,還能夠在碰到root=LABEL=/的情況下探測所有的硬盤分區,以便找到對應著卷標為/的分區。

pivot_root 轉換根文件系統,以及掛載臨時根文件系統。

raidautorun 自動檢測所有的raid設備

showlabels 顯示設備的LABEL以及UUID sw

itchroot 與pivot_root功能類似,用于轉換根文件系統。但只能用于2.6或以后的核心。

Bootsplash: 內核的圖形化啟動進程。

Dev:系統啟動時一些必須的設備文件,都是字符設備,但有一個文件夾,不知何用?

etc:眾所周知這是一個成放配置文件的目錄。這個目錄在嵌入式系統中是非常有有的,有關系統啟動后要執行那些用戶程序或是配置命令都是以shell程序的形式寫在這里面的。這里就不詳加說明了。

Init: init則是其引導的核心文件,在cpio格式的initrd里,該文件的名稱只能是init。init是一個可以被nash來執行的腳本文件,負責加載內核訪問根文件系統必須的驅動,以及加載根文件系統。

Proc:

Sbin:它是指向bin的

Sys,Sysroot,User:這些就不多說了。

Init文件中的內容。

#!/bin/nash

mount -t proc /proc /proc

setquiet

echo Mounting proc filesystem

echo Mounting sysfs filesystem

mount -t sysfs /sys /sys

echo > /sys/power/suspend2/do_resume

echo Creating /dev

mount -o mode=0755 -t tmpfs /dev /dev

mkdir /dev/pts

mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts

mkdir /dev/shm

mkdir /dev/mapper

echo Creating initial device nodes

mknod /dev/null c 1 3

mknod /dev/zero c 1 5

mknod /dev/systty c 4 0

mknod /dev/tty c 5 0

mknod /dev/console c 5 1

mknod /dev/ptmx c 5 2

mknod /dev/rtc c 10 135

mknod /dev/tty0 c 4 0

mknod /dev/tty1 c 4 1

mknod /dev/tty2 c 4 2

mknod /dev/tty3 c 4 3

mknod /dev/tty4 c 4 4

mknod /dev/tty5 c 4 5

mknod /dev/tty6 c 4 6

mknod /dev/tty7 c 4 7

mknod /dev/tty8 c 4 8

mknod /dev/tty9 c 4 9

mknod /dev/tty10 c 4 10

mknod /dev/tty11 c 4 11

mknod /dev/tty12 c 4 12

mknod /dev/ttyS0 c 4 64

mknod /dev/ttyS1 c 4 65

mknod /dev/ttyS2 c 4 66

mknod /dev/ttyS3 c 4 67

echo Setting up hotplug.

hotplug

echo Creating block device nodes.

mkblkdevs

echo "Loading uhci-hcd.ko module"

insmod /lib/uhci-hcd.ko

echo "Loading ohci-hcd.ko module"

insmod /lib/ohci-hcd.ko

echo "Loading ehci-hcd.ko module"

insmod /lib/ehci-hcd.ko

mount -t usbfs /proc/bus/usb /proc/bus/usb

echo "Loading jbd.ko module"

insmod /lib/jbd.ko

echo "Loading ext3.ko module"

insmod /lib/ext3.ko

echo "Loading scsi_mod.ko module"

insmod /lib/scsi_mod.ko

echo "Loading sd_mod.ko module"

insmod /lib/sd_mod.ko

echo "Loading libata.ko module"

insmod /lib/libata.ko

echo "Loading ata_generic.ko module"

insmod /lib/ata_generic.ko

echo "Loading ata_piix.ko module"

insmod /lib/ata_piix.ko

echo Waiting for driver initialization.

stabilized --hash --interval 250 /proc/scsi/scsi

echo "Loading mptbase.ko module"

insmod /lib/mptbase.ko

echo "Loading mptscsih.ko module"

insmod /lib/mptscsih.ko

mkblkdevs

resume LABEL=SWAP-hda3

echo Creating root device.

mkrootdev -t ext3 -o defaults,ro hda2

echo Mounting root filesystem.

mount /sysroot

echo Setting up other filesystems.

setuproot

echo Switching to new root and running init.

switchroot


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品在线免费观看| 亚州国产精品久久久| 久久久97精品| 另类专区欧美制服同性| 日韩欧美在线看| 国产做受69高潮| 正在播放国产一区| 国产精品av免费在线观看| 欧美激情第1页| 亚洲va码欧洲m码| 69国产精品成人在线播放| 国产精品久久9| 韩国日本不卡在线| 欧美日韩中文在线| 日韩av在线网站| 亚洲欧美国产精品va在线观看| 久久夜色撩人精品| 一区二区在线免费视频| 美女999久久久精品视频| 亚洲人成在线免费观看| 精品久久久久久中文字幕| 精品国产户外野外| 亚洲色图av在线| 日韩在线国产精品| 国产视频精品在线| 久久精品国产2020观看福利| 欧美精品第一页在线播放| 国产99久久久欧美黑人| 日本一区二区在线播放| 欧美激情综合亚洲一二区| 欧美日产国产成人免费图片| 久久最新资源网| xvideos亚洲| 欧美成人精品xxx| 中文字幕成人在线| 欧美一区第一页| 国产精品无av码在线观看| 国产日韩av在线播放| 国产亚洲欧美视频| 亚洲成人免费在线视频| 高清日韩电视剧大全免费播放在线观看| 精品久久久精品| 国产精品视频免费在线观看| 国产ts一区二区| 久久久久久久影院| 亚洲tv在线观看| 欧美一级淫片aaaaaaa视频| 欧美日韩福利在线观看| 国产精品一区二区久久| 黑人巨大精品欧美一区二区| 亚洲天堂日韩电影| 91香蕉亚洲精品| 亚洲精品美女网站| 91精品国产91久久久久久不卡| 久久视频在线视频| 国产精品第一视频| 国产精品扒开腿做| 成人夜晚看av| 性视频1819p久久| 成人黄色中文字幕| 91av在线免费观看视频| 国产欧美精品在线播放| 国产精品亚洲欧美导航| 日韩激情av在线播放| 国产精品扒开腿做| 亚洲精品欧美一区二区三区| 日韩在线欧美在线| 欧美精品亚州精品| 91久久夜色精品国产网站| 国产精品久久久久久久久免费看| 久久精品国产视频| 亚洲国产成人精品久久| 亚洲精品日韩久久久| 亚洲第一区第二区| 中文字幕视频一区二区在线有码| 青青久久av北条麻妃黑人| 欧美乱人伦中文字幕在线| 亚洲欧美自拍一区| 日韩高清中文字幕| 亚洲第一精品夜夜躁人人躁| 4p变态网欧美系列| 色狠狠久久aa北条麻妃| 亚洲国产精品小视频| 国产成人avxxxxx在线看| 欧美一级免费视频| 久久伊人精品视频| 亚洲一区二区三区四区在线播放| 久久精品国产96久久久香蕉| 午夜精品久久久久久久久久久久| 91精品久久久久久久久不口人| 欧美激情亚洲自拍| 国产欧美在线播放| 国内精品一区二区三区四区| 亚洲白拍色综合图区| 日本精品久久久久影院| 国产精品一区二区三区在线播放| 欧美日韩亚洲一区二区三区| 亚洲精品丝袜日韩| 日韩有码在线播放| 亚洲区一区二区| 日本精品久久久久影院| 欧美激情综合亚洲一二区| 久久影院在线观看| 国产午夜精品麻豆| 久久精品国产电影| 黄色成人在线免费| 欧美在线激情视频| 92福利视频午夜1000合集在线观看| 中文字幕亚洲综合久久筱田步美| 亚洲天堂成人在线| 日韩最新免费不卡| 亚洲日韩第一页| 免费91麻豆精品国产自产在线观看| 成人妇女免费播放久久久| 性色av香蕉一区二区| 一本大道亚洲视频| 欧美日韩中文字幕日韩欧美| 欧美视频专区一二在线观看| 欧美高清视频在线播放| 奇门遁甲1982国语版免费观看高清| 91探花福利精品国产自产在线| 91精品在线观看视频| 欧美丝袜一区二区| 亚洲人午夜色婷婷| 欧美国产日韩一区二区在线观看| 2018日韩中文字幕| 91精品国产高清自在线| 国产a级全部精品| 91亚洲精品一区二区| 日韩成人黄色av| 一区二区欧美久久| 成人字幕网zmw| 91精品国产综合久久香蕉922| 91精品国产色综合久久不卡98口| 欧美电影在线观看完整版| 欧美视频免费在线| 欧美大片第1页| 国产69久久精品成人看| 日韩精品视频在线| 国产精品欧美激情在线播放| 国产亚洲精品久久久久久牛牛| 97国产精品免费视频| 国产成人精品午夜| 亚洲r级在线观看| 欧美激情精品久久久久久久变态| 成人中文字幕+乱码+中文字幕| 国产精品精品国产| 亚洲国产精品va在线观看黑人| 亚洲自拍偷拍在线| 国产视频久久久久| 亚州国产精品久久久| 久久99热精品这里久久精品| 热re91久久精品国99热蜜臀| 92国产精品视频| 欧美激情高清视频| 欧美性一区二区三区| 国产精品一区二区三区久久久| 日韩亚洲综合在线| 亚洲一区美女视频在线观看免费| 日韩国产一区三区| 中文字幕欧美日韩va免费视频| 免费成人高清视频| 久久久久亚洲精品成人网小说| 国产精品免费视频xxxx|