vine-users ML アーカイブ



[vine-users:050092] How to make boot-floppy for Vine-2.5(i386)

  • From: "OOSATO,Kazzrou" <kazz@xxxxxxxxxxxxxx>
  • Subject: [vine-users:050092] How to make boot-floppy for Vine-2.5(i386)
  • Date: Sun, 5 May 2002 00:11:01 +0900
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
  ; 大里@江戸川