拆解和定製initrd檔案

2021-06-16 03:57:04 字數 898 閱讀 6415

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時指定檔案格式)

# cpio -i < initrd

# rm initrd

2.修改

根據需要修改,下文有些基本修改內容,可以參考

3.打包

# mkdir -p /tmp/tar

# cd /tmp/initrd

# find ./ | cpio -o -h newc > /tmp/tar/initrd (其中的newc是執行file initrd時對比下表得來的)

# cd /tmp/tar/

# gzip -9 initrd

# mv initrd.gz initrd

多種檔案格式參考:

bin 老式的 binary 格式。

odc 老式的 (posix.1) 跨平台格式。

newc 新型 (svr4) 跨平台格式, 支援大於 65536 i節點的檔案系統。

crc 新型 (svr4) 跨平台格式, 並且計算校驗和。

tar 老式的 tar 格式。

ustar posix.1 tar 格式, 也能識別 gnu tar 歸檔檔案, 它們相似但不全相同。

hpbin hp unix 上的 cpio 使用的老式的 binary 格式。(用獨特的方法儲存裝置檔案)

hpodc hp unix 上的 cpio 使用的跨平台格式。 (用獨特的方法儲存裝置檔案)

initrd及initramfs檔案的製作

啟動執行流程initrd和 initramfs 中的檔案 在系統啟動的時候被執行 此兩者二者只可取其一或取0 取0為 無init 流程 二者都有則為initrd initrd執行流程在核心流程上要早於initramfs.也就是 1 2 只可取其一或取0 在整個核心流程上如下 initrd執行流程 1...

Android映象檔案的拆解

ramdisk initrd 是乙個小的分割槽映象,在引導時核心以唯讀方式掛載它。它只保護 init和一些配置檔案。它用於初始化和掛載其它的檔案系統映象。ramdisk是乙個標準的linux特性。ramdisk.img被包含google android sdk中 sdk root tools lib...

檔案和網路定製資源讀取方式

1 檔案讀取 主要是檔案伺服器上資源的讀取,主要使用檔案操作類,比如fileinputstream 和fileoutputstream等相關的類,這些用的比較多,暫時不做詳細介紹了。2 網路字元流定製化的讀取 這類主要是讀取特定封裝的網路字串,比如json或xml的資料流,一般是通過http的url...