怎樣才能製作出比較小的 initrd.img呢?
我單純的使用指令
mkinitrd -o /path/to/initrd.img-kernel-version kernel-version
產生的檔案有47m.
相對 一開始從光碟安裝的 檔案 相差太多. 且會導致 kernel panic.
得要 修改.confg參數才行得通. 不過 看別人產生的 檔案似乎都不會很大. 想請教各位 都是怎麼製作 initrd.img (或是 不用產生) 呢?
版主: mufa
yzcie 寫:嗨, 訪客兄,
mount -t auto -o loop /boot/initrd.img-kernel-version /mnt/tmp 可以掛載 initrd.img 檔.
若 auto 無法辨識格式, 可以試試 cramfs.
du -s dir-name 可以顯示該檔案夾的總大小.(-h 可以改變單位)
請問您做出來的 initrd.img 跟 光碟安裝的 initrd.img 比較起來, 是哪些檔案/檔案夾大幅變大了呢?
或您有在 /etc/mkinitrd/modules 裡加入 module 嗎?
還有, 您試過用 gzip 壓縮嗎? 雖然可能只小不到1%...
yzcie 寫:嗨, 訪客兄,
如果您有裝預編的 kernel, 它們的 /lib/modules/kernel-version 的大小都在大約 50 MB 以內吧.
您是不是變動了不少的項目呢?
小弟並不熟悉 menuconfig 中的許多項目.
所以在設定時大多是採保守的做法, 把目前正在用的 /boot/config-kernel-version 複製一份到 /usr/src/kernel-source-version/.config (小弟都是從可以正常運作的預編版本入手)
再用 menuconfig 一次變動/增刪少數項目並進行編譯/安裝.
待確認新 kernel 跟 modules 沒問題後才再繼續進行其他更動.
主要是參照 Debian 參考手冊 中, 7.1.1 的做法.
因為小弟還很菜, 所以多花些時間多編幾次就當是練習..@@a
另外, 小弟做出來的 initrd.img 裡的 ./lib/modules/ 只有幾 MB 而已, mkinitrd 不會把所有的 modules 放進 initrd.img 去.
(小弟還不清楚 mkinitrd 是以什麼來做為該放哪些 modules 的準則)
而 /etc/mkinitrd/modules 應該是讓我們可以指定加入額外的 module 用的.
正在瀏覽這個版面的使用者:Google [Bot] 和 1 位訪客