5. Grub を用いたフロッピーディスクからのブート

次の段階は、Grub を用いたブートフロッピーディスクの作成です。 Grub とは、GRand Unified Bootloader のことです。 これは BOOTP と TFTP が扱えるので、ネットワークからブートできます。

5.1. Grub のメニューファイル

現在のディレクトリで、 grub.conf という名前で、以下のような内容のファイルを作ります。

default=0
timeout=1
title Clone
	bootp
	root (nd)
	kernel /vmlinuz rw root=/dev/ram ramdisk_size=4096 init=/bin/clone
	initrd /initrd.gz
			

最後の 4 行は、ネットワークからブートするのに使う、 Grub のコマンドです。

5.2. ネットワークサポートをつけた Grub のコンパイル

Grub をコンパイルする場合は、 最初にソースの tar ボールを the Grub web site からダウンロードし、展開します。 そして、作成したばかりのメニューファイルと、 ネットワークインタフェースカードの型を引数に指定して、 configure を実行します。 それからいつものとおり、make を実行します。

# tar xzf grub-0.92.tar.gz
# cd grub-0.92
# ./configure --enable-preset-menu=../grub.conf --enable-3c90x
# make
			

繰り返しますが、 3c90x という型を見たら、 自分が使っているネットワークインタフェースカードの型に読み変えてください。 その際、最初に、Grub がその型をサポートしているかどうか調べて下さい。

5.3. ブートフロッピーディスクの作成

一度 Grub をコンパイルしたら、 ブートフロッピーディスクのイメージは、 stage1/stage1 ファイルと stage2/stage2 ファイルを連結すればできます。 このフロッピーディスクを作成するには、 次のコマンドを実行して下さい。

# cat stage1/stage1 stage2/stage2 | dd of=/dev/fd0
			

これで、ブートフロッピーディスクができたはずです。