修改initrd方法

2021-07-04 17:17:40 字數 445 閱讀 2495

開啟終端,進入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時指定檔案格式 ...