開啟終端,進入initrd.gz所在目錄,先解壓initrd.gz:
#gunzip initrd.gz
在當前目錄下建立一臨時目錄tmp:
#mkdir tmp#cd tmp
把上級目錄內解包的initrd進一步用cpio解包:
#cpio -i -f ../initrd
對目錄內解包的initrd匯出清單列表以便反向封包時用:
#cpio -i -t -f ../initrd > list
有新加或刪除檔案或目錄,開啟list進行編輯就是,一行乙個檔案或目錄。等下會用list檔案來指示cpio進行封包。
反向封包用下面的命令(還是在../tmp目錄裡)
#cpio -o -h newc -o initrd < listgzip
壓縮一下:
#gzip -c initrd > initrd.gz
Initrd原始碼分析
initrd的作用有三 1.提高系統的可移植性 把更多的核心功能條目編譯成模組,不僅僅是為了減小核心體積,更重要的是面對各種不同的硬體架構,可以使用initrd中的linuxrc按需進行模組載入以驅動硬體,甚至對於cpu型別或者多處理機也可以進行手工選擇核心 配合syslinux這類boot loa...
Linux 檢視initrd內容
1 initrd格式 2.6及以後核心中的initrd.img採用cpio壓縮,不再是2.4核心使用的ext2格式,無法使用mount o loop 掛載。需要使用gunzip解壓縮,然後再使用cpio解包。root vm 0 11 centos tmp cp boot initramfs 3.10...
拆解和定製initrd檔案
1.拆解 mkdir p tmp initrd cd tmp initrd cp home ewanbao initrd tmp initrd mv initrd initrd.gz gzip d initrd.gz file initrd 檢查initrd檔案型別為後面cpio o時指定檔案格式 ...