国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
initrd是什么?_我的擴(kuò)展內(nèi)存<<工作 學(xué)習(xí) 生活

initrd是什么?
-------------------------------------------------
    initrd = init ramdisk,是一個(gè)啟動(dòng)時(shí)存在于內(nèi)存的文件系統(tǒng)。initrd的最初的目的是為了把kernel的啟動(dòng)分成兩個(gè)階段:在kernel中保留最少最基本的啟動(dòng)代碼,然后把對(duì)各種各樣硬件設(shè)備的支持以模塊的方式放在initrd中,這樣就在啟動(dòng)過(guò)程中可以從initrd所mount的根文件系統(tǒng)中裝載需要的模塊。這樣的一個(gè)好處就是在保持kernel不變的情況下,通過(guò)修改initrd中的內(nèi)容就可以靈活的支持不同的硬件。在啟動(dòng)完成的最后階段,根文件系統(tǒng)可以重新mount到其他設(shè)備上。

Linux啟動(dòng)一定要用initrd么?
-------------------------------------------------
   如果把需要的功能全都編譯到內(nèi)核中(非模塊方式),只需要一個(gè)內(nèi)核文件即可。initrd能夠減小啟動(dòng)內(nèi)核的體積并增加靈活性,如果你的內(nèi)核以模塊方式支持某種文件系統(tǒng)(例如ext3,UFS),而啟動(dòng)階段的驅(qū)動(dòng)模塊放在這些文件系統(tǒng)上,內(nèi)核是無(wú)法讀取文件系統(tǒng)的,從而只能通過(guò)initrd的虛擬文件系統(tǒng)來(lái)裝載這些模塊。這里有些人會(huì)問(wèn): 既然內(nèi)核此時(shí)不能讀取文件系統(tǒng),那內(nèi)核的文件是怎么裝入內(nèi)存中的呢?答案很簡(jiǎn)單,Grub是file-systemsensitive的,能夠識(shí)別常見(jiàn)的文件系統(tǒng)。

如何察看initrd的內(nèi)容?
-------------------------------------------------
#cd /lib/modules/`uname -r`
#mkinitrd /tmp/initrd.`uname -r`.img   `uname -r`
#cd /tmp
#mv initrd.`uname –r`.img initrd.`uname –r`.img.gz(initrd使用gzip壓縮,如果不改名字的話,后面無(wú)法解壓縮)
#gunzip initrd.`uname -r`.img.gz
#file initrd.`uname –r`.img(不同的linux操作系統(tǒng),這個(gè)文件格式有不同,在RHEL4中,這個(gè)文件是cpio的,在其他的可能是ext2的,此處使用file命令,察看格式)

如果是cpio:
#mkdir /mnt/tmp
#cd /mnt/tmp
#cpio -idmv </tmp/initrd.`uname -r`.img

如果是ext2:
#mount -o loop   /tmp/initrd.`uname -r`    /mnt/tmp
#ls -al /mnt/tmp

如何修改initrd?
-------------------------------------------------
   通過(guò)上面的操作,我們可以看到initrd的內(nèi)容,然后就可以修改按照要求,比如我們可以添加一個(gè)驅(qū)動(dòng)進(jìn)去,在上面的/mnt/tmp下面,有一個(gè)文件叫“init”或者“linuxrc”,查看/mnt/tmp中的這個(gè)文件內(nèi)容即可知道啟動(dòng)時(shí)會(huì)裝入哪些驅(qū)動(dòng)程序。還可以更改其中的內(nèi)容,例如,如果想增加另一種SCSI驅(qū)動(dòng)aic7xxx.o進(jìn)入到initrd.img,可以進(jìn)行如下兩種操作:

#cd /mnt/tmp
#vi linuxrc 加上一行“ insmod /lib/aic7xxx.o”
#cp /lib/modules/`uname -r`/scsi/aic7xxx.o lib/
#cd /
#umount /mnt/tmp
#dd if=/tmp/ininrd.`uname –r`.img | gzip > /boot/initrd2.img

或者:
#cd /mnt/tmp
#vi init加上一行 insmod /lib/aic7xxx.o
#cp /lib/modules/`uname -r`/scsi/aic7xxx.o lib/
#cd /mnt/tmp
#find –print |cpio –ov>/tmp/initrd2.img (find的時(shí)候最好不要用絕對(duì)路徑,否則cpio出來(lái)的文件以后解壓縮也會(huì)解到這個(gè)絕對(duì)路徑上面)
#gzip /tmp/initrd2.img
#mv /tmp/initrd2.img.gz /boot/initrd2.img
至此,新的initrd文件initrd2.img中就包含了aic7xxx的驅(qū)動(dòng)程序了


再將其改名拷貝至/boot目錄,重啟就可以觀察修改后的效果。重啟后無(wú)法成功引導(dǎo)。這是因?yàn)樯傻膇nitrd.img不對(duì)。解決如下:
生成initrd
find . | cpio -o -H newc | gzip > /mnt/sda1/boot/initrd.img-2.6.18-4-686
(注:-H newc 是必須的,否則內(nèi)核會(huì)認(rèn)為是ramdisk,而不是initramfs)

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
linux內(nèi)核initrd文件自定義方法
initrd鏡像文件的作用與制作
initrd.img
Linux內(nèi)核Ramdisk(initrd)機(jī)制
linux initrd 制作及使用
如何制作initrd.img文件
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服