この場合、ネットワークからのブートをサポートしている BIOS と対応する ネットワークカードが必要です。これは新しい PC, 特にネットワークアダプターが 付属しているものでは普及しつつあります。 ネットワーク上にサーバーを設置し(詳細はマニュアル diskless(8)) 参照)、 BIOS の設定を最初にネットワークからブートを試みるように変更してください。
もし、BIOS は対応していないが、NetBSD の 'netboot' bootloader が対応している
ネットワークカードをお持ちの場合、DOS をブートし(以下の dosboot.comの
部分を参照してください)、network 上のカーネルをロードするために
'netboot.com' を使用することができます。
適当な 'netboot.com' を作成するためには
/usr/src/sys/arch/i386/stand/netbootに移動し、
Makefileにお持ちのネットワークカードに対応するオプションを
付け加えて "make netboot.com
" を実行してください。
お使いのハードウェアが PXE を使ったネットブートに対応している場合、 そのハードウェアは最初に動的ホスト設定プロトコル (DHCP) を使って IP アドレスの取得を試みます。 dhcpd サーバーは、クライアントのイーサネットアドレス (MAC) をもとに、 IP アドレスとブートローダーのファイル名を決めます。 この要求が成功すると、PXE は二段階目のブートプログラムを簡易ファイル転送プロトコル (TFTP) でダウンロードできるものと判断します。 DHCP 要求に先に応えたサーバーに対して TFTP 接続をして、サーバーから返されたファイル名を要求し、 二段階目のブートプログラムのダウンロードが行なわれます。 それから、このブートプログラムが、 DHCP 要求によって指定されたサーバーとパスから NFS を使ってカーネルをロードします。
NetBSD 配布物の base.tgz 中の /usr/mdec/ ディレクトリーには、二つの PXE ブートローダーファイルがあります。ほとんどの場合は pxeboot_ia32.bin を使うべきです。 pxeboot_ia32_com0.bin は、クライアントの一つ目のシリアルポートをコンソールとして使わせるものだからです。 後者のシリアルコンソール版 PXE ファイルは、 (Soekris のハードウェアのような) シリアルコンソールしかない組み込みシステムで必要になるかもしれません。 9600 8N1 の設定で使ってください。
/etc/dhcpd.conf には以下のように書くことができます。
host pxehost { hardware ethernet 01:23:45:67:89:ab; # PXE ホストの MAC アドレス fixed-address 192.168.17.42; # PXE ホストの IP アドレス # stage 1: filename "pxeboot_ia32.bin"; # /tftpboot からの相対パス # stage 2: next-server 192.168.42.1; # NFS サーバーの IP アドレス option root-path "/usr/tmp/pxestuff/root"; # NFS サーバー上のパス }
PXE システムがたくさんある場合、手短に済ます方法として、 その PXE システム全部に対してまとめて /etc/dhcpd.conf を設定することができます。
class "pxe-clients-ia32" { match if substring (option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000"; filename "pxeboot_ia32_com0.bin"; }
GRUB は、複数の異なる OS のブートに対応したブートローダーで、いくつかの OS のネットワーク経由の ブートも可能です。 GRUB 自体はディスクから、またはネットワークから PXE または NBI (Etherboot のように) ローダーによってロードされます。 Etherboot および GRUB は、 NetBSD の 'netboot' ブートローダーよりも多くの種類の NIC に対応しています。 GRUB バージョン 0.90 以降を使う必要がありますので注意してください。 GRUB と Etherboot は、 GCC および GNU Binutils 2.9.1 以降を必要とします。これらは任意のシステム上でコンパイル可能であり、 NetBSD ホスト上でのコンパイルは必須ではありません。
EtherBoot が GRUB イメージをロードして実行するよう環境変数を設定し、 また、 GRUB が NetBSD カーネルをロードするように設定する必要があります。 必要な手順の概要は以下のとおりです。
option option-150 code 150 = text; group { subnet 192.168.0.0 netmask 255.255.255.0 { option log-servers 192.168.0.1; option domain-name-servers 192.168.0.1; # location of GRUB configuration file option option-150 "/tftpboot/grub.conf"; # NFS root path option root-path "/home/dolecek/netbsd-root"; # path of image EtherBoot should load and execute filename "/tftpboot/nbgrub"; } host foobar { fixed-address foobar; hardware ethernet 00:c0:6c:76:17:46; } }
# uncomment following two lines to use serial terminal # serial --unit=0 --speed=57600 # terminal --timeout=0 serial # Boot automatically after 5 secs. timeout 5 # By default, boot the first entry. default 0 # Fallback to the first entry. fallback 0 # For booting the NetBSD title NetBSD kernel --type=netbsd /tftpboot/netbsd
config netbsd root on ? type nfsそして、カーネルを構築し、 GRUB 設定ファイルに設定したとおりに TFTP サーバーに置いておきます。
options "CONSDEVNAME=\"com\"",CONADDR=0x2f8,CONSPEED=57600
フロッピーにネットワークから root ファイルシステムをマウントするように 設定したカーネルを入れておくこともできます。この場合、カーネルの 設定ファイルには次の行を加えておきます:
config netbsd root on ? type nfsカーネルのコンパイルをした経験がない場合、 カーネルの 作り方を読んだ方が良いでしょう。
NetBSD は特殊な boot loader を"dosboot.com" という 名前の小さな DOS プログラムとして提供しています。 これはインストールされたシステム中では /usr/mdec にありますし、 base.tgz にも含まれています。これを使うためには、 dosboot.comとカーネルの両方を FAT (msdos) パーティションに コピーして、DOS をブートしてください。
"Loading Windows XX" と表示されている間に F8 を押して、 ブートメニューに入ってください。表示されるメニューの内容は インストールしているものによって異なるかもしれません。
HIMEM.SYS と EMM386.SYS ドライバーをロードしないように設定する 必要があるかもしれません。この場合には "Step-by-step confirmation" を 選択し、全ての質問に "n" または ESC と答えてください。
もし、HIMEM.SYS について気にしないのならば、"Command prompt only" を 選択してください。
コンピューターがブートしている間、SHIFT キーを押し続けて config.sys と autoexec.bat を実行させないでください。
dosboot コマンドは HIMEM.SYS ドライバーが提供するのと同様な extended メモリーの取り扱いが可能です。残念なことに、NetBSD が APM BIOS を 呼び出す場合には問題が起こります。 もし、APM BIOS が搭載されていない場合や、お使いの NetBSD カーネルが 使用しない("apm0 at mainbus0"が含まれていない)場合は、何の問題も ありません。 APM を用いる場合には、dosboot を使用する場合 HIMEM.SYS をロードしないでください。
もし、カスタマイズした dosboot.com を作成したい場合は、 /usr/src/sys/arch/i386/stand/dosboot に移動して、 Makefile に特別なオプション(シリアルコンソール, ...)を加えて、 "make" を実行してください。
NT のブートセレクターを用いて NetBSD を直接起動することができます。 詳しくは NetBSD/i386 FAQ のWindows NT のブートメニューに NetBSD を加える方法節を御覧下さい。
|
|