debian etchのnetinst cdromのカーネルを入れ替える。
追記:http://kmuto.jp/debian/d-i/ に23.1のカーネルで作ったインストーラがある。
現在失敗中:日本語が出ないのと/dev/hda,hdcが現れない。
おそらくカーネルのコンパイルオプションが足りないのではないかと思われる。
カーネル作成
kernel.orgからstableの最新カーネルを取得する。
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.13.tar.bz2 $ tar xjf linux-2.6.23.13.tar.bz2 $ cd linux-2.6.23.13 $ make allnoconfig $ make menuconfig
必要なもののみチェックする。
フレームバッファがないと日本語で設定できなくなるので注意
最低:磁気・光学ディスク、ネットワーク、フレームバッファ
make bzImage
CDイメージファイルを展開する。
$ sudo mount -o loop debian-40r1-i386-netinst.iso /mnt $ cp /mnt/* . $ chmod +w isolinux/isolinux.bin install.386/*
isoイメージからファイルを取り出すのにroot権限が必要なのがいまいちだな。mkisofsの逆はないものか。
initrd.gzを展開する
ここまでやったあと次にinitrd.gzを作り直す。
カーネルは全てのモジュールをビルトインで作るので、modules.depは空でよい。
$ mkdir initrd $ cd initrd $ zcat ../iso/install.386/initrd.gz | cpio -i $ mkdir etc/modules/2.6.23.13 $ touch etc/modules/2.6.23.13/modules.dep $ find . | cpio -o -H newc | gzip > ../initrd.gz
cpioは devとか展開するときにroot権限でないと動かないがインストールには支障がないみたい。
カーネルのモジュール対応をoffにすればいけるかと思ったが駄目modprobeがエラーを出すのは止まらない。
CDイメージファイルを作成する
http://homepage1.nifty.com/ttakao/isolinux-doc.htmを参考にやった。
$ cp /usr/src/linux/arch/i386/boot/bzImage install.386 $ cp (initrdをつくったディレクトリ)/initrd.gz install.386 $ mkisofs -o ../debian-netinst-newkernel.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
後は版に焼けばよい。