年紀大了, 如果不是每天在用的話真的沒幾天就忘光光了
以 Ubuntu 10.10 為例
通常 initrd.img 可以在 /boot 下面找到,
為了測試先 copy 一份到一個暫時的目錄
cp /boot/initrd.img-2.6.35-25-generic /xxx/initrd.img.gz
到暫時的目錄去解壓縮
cd /xxx/
gzip -d initrd.img.gz
解壓縮後檔案為 initrd.img, 這個檔案需要用 cpio 解開成為一堆目錄和檔案
mkdir initrd
cd initrd
cpio -i -d < ../initrd.img
看一下裡面的檔案
到這邊解開的動作已經完成
現在就可以對 initrd 裡面的檔案或者 scripts 作修改, 修改完接下來我們要打包出新的 initrd.img,
下面將打包出 newinitrd.img
find . | cpio -o -H newc > ../newinitrd.img
離開 initrd 目錄, 用 gzip 將 newinitrd.img 壓縮
cd ..
gzip -9 newinitrd.img
(gzip 的最高級壓縮)
newinitrd.img.gz 就是 Ubuntu 的 initrd.img 了
註: 注意一下 newinitrd.img.gz 的檔案大小, 如果檔案太小, 可能是步驟有錯