#!/bin/sh copy_bootparms() { if [ -f /mnt/boot/boot.ini ]; then if mount | grep /fd 1> /dev/null 2> /dev/null ; then cp /mnt/boot/boot.ini /mnt/boot/*.pbr /fd fi fi } dialog --title "レスキューディスク作成" --menu \ "ここでは FD からシステムを起動するためのレスキューディスクを \n\ 作成します.レスキューデイスクの作り方は,マザーボードに直接接 \n\ 続される従来の FD ドライブ(/dev/fd0)と USB で接続される FD ドラ \n\ ブ(/dev/sda)では多少異なります. \n\ お使いの FD はどちらのタイプですか?" 20 72 6 \ "FD" "従来型の FD ドライブ" \ "USB" "USB タイプの FD ドライブ" \ "EXIT" "レスキューデイスクの作成を終了" 2> /tmp/return if [ ! $? = 0 ]; then break; fi FDTYPE=`cat /tmp/return` rm -f /tmp/return if [ "$FDTYPE" = "EXIT" ]; then break elif [ "$FDTYPE" = "FD" ]; then while [ 0 ]; do # the bootdisk menu loop dialog --title "FDD の確認" --menu \ "レスキューディスクを作成する前にFDD にある FD を確認して \n\ ください。レスキューディスク用 FD は完全に上書きされ, \n\ FD 上のデータは全部消去されます.\n\ レスキューディスクは使用するブートローダに応じて \n\ grub 版と syslinux 版の 2 種があります. \n\ ブートディスクにするFDがフォーマットされていない場合,\n\ まずフォーマットしておく必要があります." 22 78 6 \ "format" "/dev/fd0(a:)でフロッピーをフォーマットする" \ "grub" "grubのブートディスクを作成する" \ "syslinux" "syslinuxのブートディスクを作成する" \ "continue" "ブートディスク作成を終了する" 2> /tmp/return if [ ! $? = 0 ]; then break; fi REPLY=`cat /tmp/return` rm -f /tmp/return if [ "$REPLY" = "format" ]; then dialog --title "フロッピーの確認" --msgbox \ "/dev/fd0 のディスクをインストーラの起動ディスクから入れ替えて \n\ いることを確認してください。" 6 72 if [ $? = 0 ]; then dialog --title "/dev/fd0のフォーマット中" --infobox "/dev/fd0を1.44メガ\ バイトでフォーマットしています。" 3 70 fdformat /dev/fd0u1440 dialog --title "formatting.." --infobox "/dev/fd0 にファイルシステムを作成中" 3 70 mkdosfs /dev/fd0u1440 fi rm -f /tmp/return elif [ "$REPLY" = "grub" ]; then # make grub bootdisk dialog --title "grub ブートディスク作成" --yesno \ "\n\ ブート可能なFDドライブにフォーマット済みのフロッピーを \n\ 入れてください。このディスクを Plamo Linux のブートディ \n\ スクにします.ハードディスクからブートできるようになる \n\ までは、このフロッピーをご利用ください。 \n\n\ このフロッピーディスクの内容は完全に上書きされます。\n\n\ YESでディスクを作成し、NOで中止します。\n" 14 74 if [ "$?" = "0" ]; then dialog --title "ディスク作成" --infobox "'vmlinuz'をコピーしています..." 5 70 if [ ! -d /fd ]; then mkdir /fd fi mount /dev/fd0 /fd -t vfat if [ $? = 0 ]; then cp $T_PX/vmlinuz /fd cp $T_PX/boot/grub/stage1 /fd cp $T_PX/boot/grub/stage2 /fd cat < /fd/grub.cfg # GRUB configuration file # generated by 'grubconfig' # # Start GRUB global section default 0 timeout 30 fallback 1 title Plamo Linux kernel (fd0)/vmlinuz root=$ROOT_DEVICE ro EOF dialog --infobox "\nGRUBをインストール中..." 5 40 $T_PX/usr/sbin/grub --batch < /dev/null 2> /dev/null mount -t vfat /dev/fd0 /fd 1> /dev/null 2> /dev/null if [ $? = 0 ]; then cp $T_PX/vmlinuz /fd/vmlinuz cat << EOF > /fd/syslinux.cfg DEFAULT vmlinuz root=$ROOT_DEVICE ro DISPLAY plamo.msg EOF cat << EOF > /fd/plamo.msg plamo2.lss Welcome to Plamo Linux !! We hope you'll enjoy the simple linux environment via Plamo Linux :-)  EOF # cp -a /usr/lib/setup/plamo2.lss /fd/plamo2.lss copy_bootparms sync sync umount /fd else dialog --title "FDマウント不可" --msgbox "FD が正常にマウントできないため \n\ FD に grub をインストールできませんでした" 5 70 fi fi elif [ "$REPLY" = "continue" ] ; then break fi done else # FDTYPE=USB dialog --title "USB FDD の注意" --yesno \ "お使いのマシンに USB FDD 以外の USB 記憶デバイス(外付けUSB HDD \n\ や USB メモリ等)が接続されている場合,USB FDD と誤解されて内容が \n\ 消去される可能性があります.お使いのマシンに USB FDD 以外の USB \n\ 記憶デバイス(USB CD-ROM は接続されていても構いません)が接続されて \n\ いる場合,以下の作業は実施できませんので NO で終了してください.\n\ このまま作業を進めて構いませんか? \n" 12 72 if [ $? != 0 ]; then exit fi dialog --title "FDD の確認" --msgbox \ "レスキューディスクを作成する前にFDD にある FD を確認してください。 \n\ レスキューディスク用 FD は完全に上書きされ,FD 上のデータは全部消去 \n\ されます.また,USB FDD で物理フォーマットすることができないため, \n\ レスキューディスクは 事前に物理フォーマットしておいてください." 10 74 dialog --title "USB 用のブートディスク作成" --yesno \ "USB な FDドライブにフォーマット済みのフロッピーを入れてください。\n\ これが Plamo Linuxシステムを起動するブートディスクとなります。\n\ フロッピーの内容は完全に上書きされます。YESでディスクを作成し、 \n\ NOで中止します。" 9 72 if [ $? = 0 ]; then # make FD DEV=`fdisk -l | grep "1 MB" | cut -d" " -f2 | tr -d ":"` if [ -f /var/adm/mount/boot/syslinux.img ]; then FDIMG=/var/adm/mount/boot/syslinux.img elif [ -f /var/adm/mount/plamo/boot/syslinux.img ]; then FDIMG=/var/adm/mount/plamo/boot/syslinux.img else dialog --msgbox "USBブートディスク用のイメージが見付かりません. \n\ 手動でUSBブートディスクを作る場合は,plamo/boot ディレクトリにある \n\ mkbootdsk.sh コマンドを実行してください." 10 72 exit fi dialog --infobox "$ROOT_DEVICEのための USB ブートディスクを作成中..." 3 70 cat $FDIMG > $DEV $T_PX/sbin/syslinux $DEV 1> /dev/null 2> /dev/null mount -t vfat $DEV /fd 1> /dev/null 2> /dev/null if [ $? = 0 ]; then cat << EOF > /fd/syslinux.cfg DEFAULT vmlinuz root=$ROOT_DEVICE ro DISPLAY plamo.msg EOF cat << EOF > /fd/plamo.msg Welcome to Plamo Linux !! We hope you'll enjoy the simple linux environment via Plamo Linux :-)  EOF copy_bootparms sync sync umount /fd else dialog --title "FDマウント不可" --msgbox "FD が正常にマウントできないため \n\ FD に grub をインストールできませんでした" 5 70 fi fi # end of make FD fi # FDTYPE=USB end