Vine-2.5(i386版) の boot FD に関して、initrd と vmlinuz の合計 サイズが 1.44MB を越えてしまい、FD に書き込めない問題が発生する ことがあります。 その対策の一つとして、1.6MB で format した FD を使うという方法 を [vine-users:041091] に書きました。 ところが、この方法はうまく起動できないマシンが多いことも分かり ました。syslinux は基本的に DOS アプリなので、BIOS の種類によっ ては 1.6MB FD からは起動できないことも多いようなのです。 [vine-users:050024] で、ちょっと自分の必要もあったので、Vine-2.5 用に lilo を使う 1.6/1.68MB boot FD 作成スクリプトを書きました。 こういう場合は lilo の方が syslinux よりも起動の確実性は高いは ずです。 間に合わせで書いただけなので申し訳ないのですが、同様の問題にあ たった方にはお役に立つかもしれませんので、以下に紹介します。 # 必要とされる方が多いようでしたら、もちょっと汎用的に # 書き直しますが(^^;; -----(ここから) #! /mnt/sysimage/bin/bash # SysImage="/mnt/sysimage" KernelVer="2.4.18-0vl3" ## 1600kB FD # FdDev="/dev/fd0H1600" # FdParm="b 2 124" # 1680kB FD FdDev="/dev/fd0H1680" FdParm="b 2 44" MntPoint="/tmp/fd" RootDev=`${SysImage}/bin/grep -A4 "label=linux$" ${SysImage}/etc/lilo.conf\ | ${SysImage}/bin/grep "root="` RootDev=${RootDev#*root=} ${SysImage}/usr/sbin/chroot ${SysImage} /bin/mknod ${FdDev} ${FdParm} ${SysImage}/usr/sbin/chroot ${SysImage} /usr/bin/fdformat ${FdDev} ${SysImage}/usr/sbin/chroot ${SysImage} /sbin/mke2fs -m 0 ${FdDev} ${SysImage}/usr/sbin/chroot ${SysImage} /bin/mkdir ${MntPoint} ${SysImage}/usr/sbin/chroot ${SysImage} /bin/mount -t ext2 ${FdDev} ${MntPoint} ${SysImage}/bin/cp -a ${SysImage}/boot/vmlinuz-${KernelVer} ${SysImage}${MntPoint}/ ${SysImage}/usr/sbin/chroot ${SysImage} /sbin/mkinitrd ${MntPoint}/initrd.img ${KernelVer} ${SysImage}/bin/mkdir ${SysImage}${MntPoint}/boot ${SysImage}/bin/mkdir ${SysImage}${MntPoint}/etc ${SysImage}/bin/mkdir ${SysImage}${MntPoint}/dev ${SysImage}/usr/sbin/chroot ${SysImage} /bin/cp -a ${RootDev} ${MntPoint}/dev/ ${SysImage}/usr/sbin/chroot ${SysImage} /bin/mknod ${MntPoint}${FdDev} ${FdParm} ${SysImage}/usr/sbin/chroot ${SysImage} /bin/cp -a /boot/boot.b ${MntPoint}/boot/ ${SysImage}/bin/cat > ${SysImage}${MntPoint}/etc/lilo.conf <<EOF boot=${FdDev} timeout=50 image=/vmlinuz-${KernelVer} label=linux root=${RootDev} initrd=/initrd.img EOF ${SysImage}/usr/sbin/chroot ${SysImage} /sbin/lilo -r ${MntPoint} ${SysImage}/usr/sbin/chroot ${SysImage} /bin/umount ${MntPoint} ${SysImage}/bin/rmdir ${SysImage}${MntPoint} -----(ここまで) 使い方の例: --- 事前準備 ---- このスクリプトを FD に書き込む。 mkbootdisk.lilo という名前のファイルにして、 # chmod +x mkbootdisk.lilo # tar cf /dev/fd0 mkbootdisk.lilo --- インストール開始 ---- (1) 『起動ディスク作成』の画面になった。 (2) Ctrl-Alt-F2 を押してシェルプロンプトへ移動する (3) FD からスクリプトを取り出す # cd /mnt/sysimage/sbin # tar xf /dev/fd0 (4) 実行する # ./mkbootdisk.lilo (5) Alt-F7 でインストーラの GUI へ戻る (7) 「ブートディスクの作成を省略」をチェックする (8) 次へ進む linuxマシンがすでにある方はこの例のように tar で FD に書き込む のが簡単です。Windows マシンしかない場合は fat フォーマットした FD をマウントしてコピーすればいいでしょう。 その場合は、改行コードにはご注意ください。 -- ; kazz@xxxxxxxxxxxxxx ; 大里@江戸川