このページでは、FreeBSDをPXE経由でインストールする方法について説明します。
FreeBSDをPXE経由でインストールするには、
・ PXEブートイメージ配信環境において、tftpサービスが動作していること
・ PXEブートクライアントが接続されているネットワーク上でdhcpが稼動しており、そのdhcpがPXEブートクライアントに対して正しい情報を提供すること
の前提条件に加え、PXEブートイメージ配信環境(tftpサービスが動作しているマシン)において、NFSサーバが動作していることが必須になります。
このページでは、前提条件部分の設定について、既に完了しているものとして説明しています。
前提条件の設定方法については、「PXEブートイメージ配信環境を構築する (tftp/WIDE-DHCP)」をご参照ください。
まず初めに、FreeBSDのインストールに必要なファイルを、CD-ROMからコピーします。
CD-ROMのメディアがない場合は、ISOイメージをCD-ROMとしてマウントして必要なファイルをコピーしてくることも可能です。 ISOイメージをCD-ROMとしてマウントする方法については、「ISOイメージをマウントする(FreeBSD 6.X/5.X)」をご参照ください。
まず初めに、pxebootをtftpで取得可能な場所に配置します。
$ cp -p /cdrom/boot/pxeboot /home/tftp/ |
PXEブートクライアントは、このPXEブートイメージの取得先をDHCPによって知り、続いてtftpによって取得するため、配信側サーバでtftpd/dhcpが正しく設定されている必要があります。
これらの設定の詳細については、「PXEブートイメージ配信環境を構築する (tftp/WIDE-DHCP)」をご参照ください。
次に、kernel/mfsroot等のファイル一式を配置します。
これらのファイルは、pxebootと違い、pxebootが読み込まれた後、NFSによって取得されます。
FreeBSD 6.xのpxebootは、デフォルトで「/pxeroot」をNFSでマウントするようになっているため、この「/pxeroot」ディレクトリを作成し、その中にkernel/mfsroot等のファイル一式をコピーします。
$ mkdir /pxeroot $ cp -Rp /cdrom/boot /pxeroot/ |
次に、コピーしたmfsrootをルートに配置するために、「/pxeroot/boot/loader.conf」に以下の記述を追加します。
vfs.root.mountfrom="ufs:/dev/md0c" |
FreeBSDのpxebootは、NFSを利用してサーバ上のファイルシステムをマウントし、そこからkernel/mfsroot等のファイルを読み込んでインストールを行います。
このため、PXEでFreeBSDをインストールするには、PXEブートイメージを配信するサーバにおいて、nfsサーバのサービスが動作している必要があります。
NFSサーバの構築方法については、「NFSサーバを構築する (nfsd)」をご参照頂き、「/pxeroot」がNFSでマウントできるよう設定してください。
あとは、PXEブートクライアント側の設定を行うだけです。
PXEブートクライアントの設定は、BIOS等で行うのが一般的です、設定については、各ハードウェアのマニュアルをご参照ください。
稀にうまくブートしなかったり、FreeBSDのブートシーケンスの途中でハングアップする場合があります。
その際には、一回PCの電源を完全に落としてから、再度コールドブートさせるとうまくいくようですので、お試しください。
