CentOSのインストールCD/DVDのstage2.img

CentOSのインストールDVDイメージには、images/stage2.imgというファイルがある。ネットワークインストールをすると最初にstage2.imgをHTTPなどで取得するが、stage2.imgの中にインストーラが格納されているようだ。stage2.imgの中がどうなっているのか、調べてみた。

stage2.imgはsquashfsのイメージだ。

% file stage2.img
stage2.img: Squashfs filesystem, little endian, version 3.0, 115222725 bytes, 9837 inodes, blocksize: 65536 bytes, created: Tue Sep  6 07:32:59 2011

以下のようにして、squashfsのイメージをマウントすることができる。

# mount -t squashfs -o ro,loop stage2.img /mnt

そのsquashfsイメージがマウントされることを想定しているディストリビューション以外でマウントしようとすると、マウントに失敗してdmesgに以下のメッセージが記録されることもある。

SQUASHFS error: Major/Minor mismatch, older Squashfs 3.0 filesystems are unsupported

中を覗くと、Linuxのroot filesystem相当のイメージが含まれていて、システムのメンテナンスに必要そうな最低限のファイルは含まれているようだ。一部のコマンドにはbusyboxが使われている。

しかし、この中のどのコマンドから実行が始まるのかは調べきれなかった。インストーラのinitrdを読む必要がありそうだった。ちなみにインストーラのanaconda関係のファイルはusr/lib/anacondaの下に格納されている。