前に戻る|次をみる。??

展開 の 要約

前半の おさらい まず ”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 )内容ですやりかたは 同じです。良く見ると ハー ドディスク 関連は 最小の 構成が あるようですが ネットワーク 関連が あり ませんね、違うものを 展開 しているのですから当然ですね。

これで 展開 ばらし は 完了

捕捉事項
man よりの 抜粋 引用違ってるかもしれませんが
gzip -dc gzipfile > newfile
オプション
-dc に付いて
圧 縮されたファイルは gzip -d, gunzip, zcat を使うと元の形に
復元することができる。
-c --stdout --to-stdout
出力を標準出力に書き出し、元ファイルを変更しな い。
入 力ファイルが複数ある場合、出力はファイル毎に圧縮
されたものとなる。圧縮率を上げるには、圧縮する前 に
すべての入力ファイルを (tar などで) まとめること。
-d --decompress --uncompress
伸長する。

gzip -V
gzip 1.3.2

取り敢えず 展開 ばらし は こういう 方法で 可能ということの 簡単な メ モの まとめです。


前に戻る|次をみる。??


目次の所 に戻る

Copyright © 2004.-2007. nyantarou All Rights Reserved.