中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
initrd.img

initrd 的英文含義是 boot loader initialized RAM disk,就是由 boot loader 初始化的內存盤。在 linux內核啟動前, bootloader 會將存儲介質中的 initrd 文件加載到內存,內核啟動時會在訪問真正的根文件系統(tǒng)前先訪問該內存中的 initrd 文件系統(tǒng)。第一階段啟動的目的是為第二階段的啟動掃清一切障礙,最主要的是加載根文件系統(tǒng)存儲介質的驅動模塊。我們知道根文件系統(tǒng)可以存儲在包括IDE、SCSI、USB在內的多種介質上,如果將這些設備的驅動都編譯進內核,可以想象內核會多么龐大、臃腫。
  
  initrd.img是Linux啟動過程中很重要的一個文件,(如果你編譯內核時將一部分功能編譯為可加載模塊。如果系統(tǒng)的一些設備的驅動編譯為可加載模,那么啟動時如果沒有指定INITRD=/path_to_initrd.img,那么系統(tǒng)啟動或者會失敗,或者啟動后會有設備無法使用(像網(wǎng)卡或者其它設備)。如果沒指定initrd.img或者指定的initrd.img中并沒有包含正確的驅動模塊,則系統(tǒng)啟動時會掛起,并報告"kernel panic: VFS: Unable to mount root fs on 08:06"的錯誤。)
  
    它把kernel的啟動分成兩個階段:在kernel中保留最少最基本的啟動代碼,然后把對各種各樣硬件設備的支持以模塊的方式放在initrd中,這樣就在啟動過程中可以從initrd所mount的根文件系統(tǒng)中裝載需要的模塊。這樣的一個好處就是在保持kernel不變的情況下,通過修改initrd中的內容就可以靈活的支持不同的硬件。在啟動完成的最后階段,根文件系統(tǒng)可以重新mount到其他設備上。
   initrd.img不像通常的以.img為擴展名的ramdisk cramfs文件。它是經(jīng)過用gzip -9進行壓縮過的ramdisk文件。所以,需要先解壓縮然后在mount,否則會出錯。以下是操作過程。 
  首先將initrd.img拷貝到操作目錄下:
  cp initrd.img /work/initrd.gz
  然后解壓縮:
  gunzip initrd.gz
  解壓后可以看到一個沒有gz后綴的文件initrd
  直接mount該文件:
  mount -o loop initrd /mnt 
  mount成功后,/mnt目錄中將能看到initrd.img中的所有文件及目錄
  在work下建一個目錄initrd
  將mnt下的文件都拷貝到initrd下
  cp /mnt/* ./initrd
  現(xiàn)在就可以對目錄里的文件進行修改了。
  修改完成后
  mkcramfs initrd my.initrd
  gzip -9 my.initrd my.initrd.gz
  再將生成的文件拷貝到/boot目錄下即可
  cp my.initrd.gz /boot/initrd.img
  
  如果自己根據(jù)內核來制作initrd.img,如下
Decide on the RAM disk size that you want. Say 8 MB for this example.
dd if=/dev/zero of=imitrd.img bs=1k count=8192
b) Make a filesystem on it. Say ext2fs for this example.
$mke2fs -F -vm0 initrd.img
/*看有的帖子上說是這樣制作initrd文件系統(tǒng)的,不過個人以為下面那個才對,沒試驗過!*/

 cd /lib/modules/kernel_version
  mkinitrd /tmp/initrd-kernel_version.img kernel_version
  cp /tmp/initrd-kernel_version.img /boot
  
  這是一個grub.conf的內容,可以修改一下!
    default=1 
    timeout=10 
    splashimage=(hd0,6)/grub/splash.xpm.gz 
    title Psyche (2.4.18-14 standard)//在啟動菜單里顯示的名字 
    root (hd0,6) //在E盤
    kernel /vmlinuz-2.4.18-14.standard ro root=/dev/hda8  
    initrd /initrd-2.4.18-14.standard.img //改成initrd-kernel_version.img
    title Windows xp 
    rootnoverify (hd0,0) 
    chainloader +1  

 

-----------------------------------------------------------------------------------------------------------------------------------------

我想做一個U盤啟動的linux,照處面的步驟進行:
建立initrd.img文件
# mkdir -p /mnt/initrd 
# cd /tmp 
# mkinitrd /tmp/initrd.gz 2.6.18 
2.解壓initrd.img文件,修改啟動腳本linuxrc 
# gunzip initrd.gz 
# mount -o loop /tmp/initrd /mnt/initrd
到這步就出現(xiàn):mount: you must specify the filesystem type
怎樣指定文件系統(tǒng)都無法mount上去,
我也試過生成2.6.18.img文件,
再mv 2.6.18.img 2.6.18.gz
然后再用gunzip解壓,也是不行。
到底要怎樣才行呢?

你的文件是cpio文件 不是影像文件
你可以用 file initrd看下 文件類型就可以了
從 Fedora Core 3 開始,默認的 initrd 映像變成了一個經(jīng)過壓縮的 cpio 歸檔文件。我們不用再使用 loop 設備來將 initrd 作為壓縮映像進行掛載,而是可以將其作為 cpio 歸檔文件來使用

------------------------------------------

cpio –idcmv < 文件名解壓

制作cpio格式initrd
非常簡單:
1. find . | cpio -c -o > initrd.img
2. gzip initrd.img
3. mv initrd.img.gz initrd.img

要注意,cpio 的-c選項別忘了,否則initrd不能正確掛載。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
linux initrd 制作及使用
什么是initrd?
initrd鏡像文件的作用與制作
Linux內核Ramdisk(initrd)機制
initrd是什么?_我的擴展內存<<工作 學習 生活
詳解linux內存磁盤初始化技術
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服