ベースとしたKNOPPIXは、4.0.2 です。
PCはこんな感じ。
| CPU |
Celeron1GA |
| RAM |
384MB |
| HDD |
40GB IDE |
| CD-ROM |
32倍速 |
KNOPPIXをランレベル2で起動します。GUIきら嫌いだし。軽いし。
KNOPPIXのブート画面で、F3 キーを押して、ランレベル2で起動します。
knoppix 2
cfdiskかfdiskでパーティションをきります。
FAT32はおまけ。
| /dev/hda1 |
2GB |
SWAP |
| /dev/hda2 |
30GB |
EXT2 |
| /dev/hda3 |
8GB |
FAT32 |
SWAP と EXT2 は、こんな感じに初期化。
# mkswap /dev/hda1
# mke2fs /dev/hda2
ハードディスクをマウントします。
# mount /dev/hda2 /mnt/hda2
最初は、CD内のデータをコピーするディレクトリを作成します。
# mkdir -p /mnt/hda2/source/KNOPPIX
# mkdir -p /mnt/hda2/master/KNOPPIX/KNOPPIX
linuxの中身を、CDからsourceディレクトリにコピーします。また、
起動に関係するファイルをCDからmasterディレクトリにコピーします。
# cp -Rpv /KNOPPIX/* /mnt/hda2/source/KNOPPIX
# cp -p /cdrom/KNOPPIX/*.* /mnt/hda2/master/KNOPPIX/KNOPPIX
# cp /cdrom/*.* /mnt/hda2/master/KNOPPIX/
# cp -Rpv /cdrom/boot /mnt/hda2/master/KNOPPIX/
今回のリマスタリングのゴールは、パッケージを削除してCDをダイエットします。
リマスタリングするKNOPPIXのルートディレクトリにchrootします。ここが作業領域になります。
で、proc も作成する。
# chroot /mnt/hda2/source/KNOPPIX
# mount -t proc /proc proc
ネットワークを使う時は、ここでchroot内のネットワークを設定する必要があります。
設定は、NTTさんの資料を参照してください。
パッケージの削除にはネットワークは不要ですので、やりません。
パッケージの削除は、wineから削除してみます。
# dpkg -l | grep wine
をやったり、
# apt-get -s remove --purge libwine
をやったりして、削除するパッケージに依存するファイルを検討します。
また、サイズが大きいパッケージから削除したい場合は、こんな感じで検索します。
# dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n
で、こんな感じに削除します。
# apt-get remove --purge libwine winesetuptk
私の場合、以下のパッケージに関するファイルを削除して、
650MB程度までダイエットできました。
| libwine,winesetuptk |
53.2MB |
| scribus |
14.4MB |
| kstars-data |
22.6MB |
| audacity |
4.792KB |
| gdb |
5.497KB |
| k3blibs,k3b-defaults,k3b-i18n |
17.6MB |
| squid-common |
6.005KB |
| snort-common,snort-rules-default |
3.260KB |
| frozen-bubble-data |
7.682KB |
chrootを抜ける時は、以下の作業をします。
ネットワーク設定をした場合は、初期値に戻す事を忘れずに。
NTTさんの資料に詳しく書いています。
# umount /proc
# exit
これで抜ける。
抜けた後に、chroot していた時の.bash_historyを削除します。
# rm /mnt/hda2/source/KNOPPIX/.bash_history
圧縮ルートイメージの作成
isoにする前に、圧縮ルートイメージを作成します。
これがすんごく時間がかかる。
NTTさんの資料では、-V の後にパイプになっていますが、本当は改行(\)の間違い。
以下のコマンドも、本当は改行なしで。
My-KNOPPIX-20051122の所の名前は、ご自由に。
# mkisofs -R -l -V "My-KNOPPIX-20051122" -hide-rr-moved -v /mnt/hda2/source/KNOPPIX |
create_compressed_fs - 65536 > /mnt/hda2/master/KNOPPIX/KNOPPIX/KNOPPIX
これができたらCDに焼く前にテストをしてみます。
# mkdir /mnt/hda2/KNOPPIX
# cd /mnt/hda2/KNOPPIX
# ln -s ../master/KNOPPIX/KNOPPIX/KNOPPIX
これで、KNOPPIXを再起動した時に、boot時に F3 を押して formhd=/dev/hda2 とパラメータとして入れると、
ハードディスクから起動します。
knoppix fromhd=/dev/hda2
無事起動しましたか?
次に、isoを作成します。
以下のコマンドは、本当は改行なしで。
「My-KNOPPIX-20051122」「my-knoppix-20051122.iso」の所の名前は、ご自由に。
# cd /mnt/hda2/master/KNOPPIX
# mkisofs -l -r -J -V "My-KNOPPIX-20051122" -v -b boot/isolinux/isolinux.bin
-c boot/isolinux/boot.cat -o ../my-knoppix-20051122.iso -no-emul-boot
-boot-load-size 4 -boot-info-table /mnt/hda2/master/KNOPPIX
出来上がり!
後は、isoからCDを焼いてください。