oopsの日記: PXE ブートメモ
FreeBSD
1)tftp で pxeboot 取得
2)tftp or nfs でカーネルやルートイメージ取得
という感じで起動できる。
通常配布されてる pxeboot は nfs 使う。
/usr/src/sys/boot/i386/ で make -DLOADER_TFTP_SUPPORT として
作った pxeboot だと tftp のみで起動まで持ってこれる。
ただ、2)の段階のtftpはいくつかのサーバーと相性の問題があったりする。
Linux
1)tftp で pxelinux.0 取得
2)tftp で カーネル、ルートイメージ取得
という感じで起動できる。
2) の段階で tsize オプションを要求されるので、tsize に
対応した tftp サーバーを使用する必要がある。
dhcpサーバー、tftpサーバー、nfsサーバーを FreeBSD なり Linux で
用意する場合は事は簡単だが、Windowsで用意するとなると面倒になる。
Linux に関しては、haneWIN DHCPサーバー(tftpサーバーも付属)だけで
十分 PXE ブートを行える。この DHCPサーバーは設定が GUI でできて、
結構思った通りに動かせたりするので便利だ。
FreeBSD の場合も haneWIN DHCPサーバーに加え、haneWIN NFSサーバーも
使えば、tftp+nfs型の起動に関しては問題ない。ただし、tftp+tftp型だと、
上の2)の段階の相性問題がある。ただし、FreeBSDを起動させる側で
ENTER押し捲ってればなんとかブートはできるが。
haneWinのツールは、http://www.hanewin.de/dhcp-e.htm で入手できる。
tftp+tftp型の場合、別のtftpサーバーを用意した方がいいっぽい。
ここで問題なく使えるtftpサーバで気軽に使えそうなのだと、
TFTPサーバ for WinNT/2000/XP/2003 Version 1.00 By さと
(http://park3.wakwak.com/~gao/)
ぐらいしかなかった。tsize非対応なんで、Linux の方では
使えない。
cygwin でコンパイルしてtftpサーバーを用意すれば、atftp、yale-tftpd
あたりは使える。ただし、すんなり使える状態のバイナリをコンパイルして
作れるというわけではない。
atftp は tsize 対応なので Linux の場合でも使えるが、
atftp on cygwin は多少不安定だった。
cygwin には in.tftpd もあるけど、ちと不明。
PXE ブートメモ More ログイン