[English] [Japanese]

Linux CD-ROM ゲームシステム

 
  YAMAMORI Takenori ●yamamori@kt.rim.or.jp

initrd-game.imgを使ってブートFDの作成

ここまでできていれば、initrd-game.img自体は完成だ。 次に、これをもとにFDを作成し、ブートテストを行なう。 なお、このFDのイメージが、最終的にCD-ROMに、El Toritoのブートイメージとして 焼き込まれる。

FDの作成のためには、mkbootdiskコマンドが作成する起動用FDを テンプレートとして用いる。

具体的な手順は以下のようになる。

(ブートFDの作成)
----
 …新しいFDをドライブに入れる…
# /sbin/mkbootdisk -v 2.2.14-1vl6
# mount /dev/fd0 /mnt/floppy   ← ※注
# rm /mnt/floppy/initrd.img    ← mkbootdiskが作成したものは消す
                                  (システムによっては最初から存在しない)      
# cp -p /boot/initrd-game.img /mnt/floppy/initrd-game.img
# vi /mnt/floppy/etc/lilo.conf
  … lilo.confの修正内容は以下参照 …
# vi /mnt/floppy/boot/message
  … /boot/messageの修正内容は以下参照 …
# /sbin/lilo -r /mnt/floppy    ← 最後にFDにLILOをインストール
Added linux *
# umount /mnt/floppy
※注
ここで、単に“mount /mnt/floppy”とコマンド入力してはいけない。 Vine 2.0では、/etc/fstabの/dev/fd0のエントリに、owner オプションが付いているため、この状態で普通にFDをマウントすると、 nodevオプションつき状態でマウントされてしまう。 すると、FDの中のデバイスファイルが機能せず、 LILOをインストールできなくなってしまうのだ。

lilo.confの修正

FDの中にある、/mnt/floppy/etc/lilo.confを以下のように修正する。 ここには、mkbootdiskが作成したrescue用の記述もあるはずだが、 これはすべて削除してよい。

●リスト /mnt/floppy/etc/lilo.conf
boot=/dev/fd0
timeout=30            ← 念のため3秒とした
message=/boot/message
prompt
image=/vmlinuz-2.2.14-1vl6
        label=linux
        root=0x101    ← 実際の値は無視されるが、必ずroot=0x100以外にする
        initrd=/initrd-game.img  ← ゲームシステム用initrdを指定
/boot/messageの修正

システムの動作には直接関係ないが、 /mnt/floppy/boot/messageの内容が、LILOでのブート時に表示されるため、 ここにゲームらしいメッセージを任意に記述しておく。 筆者は、

●リスト /mnt/floppy/boot/message
Linux CD-ROM game system "circuslinux"

と書いておいた。

FD内のlilo.confや、/boot/message を修正したら、そのあとで必ず、 “/sbin/lilo -r /mnt/floppy”と、-r オプションつきでliloを実行するのを忘れてはならない。


●FDからのブートのテスト

これで、FDをライトプロテクト状態にし、FDからブートさせてみる。 今度はFDからのブートなのでロードに少々時間がかかるはずだ。 前回のinitrd-gameの単体ブートテストと同様、initrd-game の中のlinuxrcでシェルが起動されるはずなので、そこで、

# /cdmount /dev/hda1 /mnt/cdrom ext2  
           =========
               |
               +--- 実際のHDDのパーティションに応じて変えること

と手動入力し、exitでシェルを抜けて、ゲームが起動すればテストは完了だ。

これでFDからのブートテストは完了したので、再度HDDから普通にブートし、 ゲームを終了してtelinit 3を実行し、再び通常のシステムを起動する。

そしてテスト完了のブートFDのイメージを以下のようにして吸い出しておく。

# mkdir /images
# dd if=/dev/fd0 of=/images/boot.img bs=1440k count=1

To 『Linux CD-ROM ゲームシステム』index


このページは、(株)アスキー TECH Linux Vol. 2 『CD-ROMだけですぐに遊べる! Linux ゲームシステム全解説!!』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
YAMAMORI Takenori 山森丈範
yamamori@kt.rim.or.jp