前半の おさらい まず ”bootなんとか.img” を 入手 して どこかの ディレクトリ を作成して そこに 持っていく、今回は boot.img を 例とします。
$ mkdir uwork
$ mv boot.img uwork/
# cd /home/nyan/uwork/
root で そこに 移動 する 新しく ”bootなんとか.img” を マウント する ディレクトリを 作成
# mkdir edisk
ファイルの種類を調べて 、”bootなんとか.img” の ファイルは FAT であるようなので
# mount -t msdos -o loop boot.img edisk/
の様に して loop back マウント を する。
移動して その中の initrd.img* を 持ち出す
# cd edisk/
# mv initrd.img ../
# cd ../
# umount edisk/
アンマウント しておく
第一段階 ”bootなんとか.img” から initrd.img の 取り出し 完了
initrd.img: gzip compressed data, was ...
というので 展開する。
# gzip -dc initrd.img >initrd.ext2
再度 initrd.ext2 を loop マウントする。
# mount -o loop initrd.ext2 edisk/
ファイルの種類を 確認していないように 見えるが # file ... で 確認すると ext2 に なって いるようだ
# file initrd.ext2
initrd.ext2: Linux rev 1.0 ext2 filesystem data
移動して modules/ ディレクトリ に 移る
# cd edisk/
# cd modules/
# ls -l
total 325
-rw-r--r-- 1 root root 257 May 7 2002 module-info
-rw-r--r-- 1 root root 318600 Nov 4 10:11 modules.cgz
-rw-r--r-- 1 root root 159 Nov 4 10:11 modules.dep
-rw-r--r-- 1 root root 8100 Nov 4 10:11 pcitable
内容は このように なっている 問題の ものは modules.cgz と いうものである これを 取り出す、尚修正しな いといけないのは、module-info ; modules.dep ; pcitable も 必要な為まと めてとりだす。
# mv modules.cgz ../../
# mv * ../../
# cd ../../
# umount edisk/
第三段階 modules.cgz の 取り出し 完了
これから modules.cgz の 展開に かかる
# file modules.cgz
modules.cgz: gzip compressed data, from Unix, max compression
というので これを 展開する。
# gzip -dc modules.cgz >modules.cpio
第四段階 modules.cgz の 展開 完了
これから modules.cpio の 内容を 調査 modules.cpio を 調べる
# file modules.cpio
modules.cpio: ASCII cpio archive (SVR4 with CRC)
リスト を 得る
# cpio -itv < modules.cpio > modules.listing
展開する ディレクトリの 作成 移動して 、展開
# cd tmodules/
# cpio -idumv <../modules.cpio
# ls -l
total 4
drwx------ 2 root root 4096 Jan 15 14:23 2.4.27-0vl7BOOT/
移動して 内容を 見ると
# cd 2.4.27-0vl7BOOT/
# ls
BusLogic.o crc32.o hid.o megaraid.o sd_mod.o sym53c8xx.o
usb-storage.o vfat.o aic7xxx.o fat.o initio.o scsi_mod.o
sr_mod.o usb-ohci.o usb-uhci.o
このような モジュールが あることが わかる これから 選択 再構築 が 必要である。 適宜 アンマウントしておくこと。
注意 先ほどの bootnet.img の 展開 内容と モジュールの 内容が 異なって いるが これはまた別の ものを展開したものの ( boot.img )内容ですやりかたは 同じです。良く見ると ハー ドディスク 関連は 最小の 構成が あるようですが ネットワーク 関連が あり ませんね、違うものを 展開 しているのですから当然ですね。
これで 展開 ばらし は 完了
捕捉事項gzip -V
gzip 1.3.2
取り敢えず 展開 ばらし は こういう 方法で 可能ということの 簡単な メ モの まとめです。