Debian編
tftpd32はWindowsXP以上限定のようでWindows2000ではうまく動かなかったので、Debianでやってみることにする。
TFTP ブートで Pre-boot Execution Environment (PXE) 法を使用するには、 tsizeをサポートする TFTP サーバが必要になります。 Debian GNU/Linux サーバでは、atftpd と tftpd-hpa がその資格があります。 tftpd-hpa をお奨めします。
http://www.debian.org/releases/stable/i386/ch04s06.html.ja
フリーソフトウェアの DHCP サーバのひとつに、 ISC の dhcpd があります。 Debian GNU/Linux では、dhcp3-server パッケージをお奨めします。
Debianでの推奨はtftpd-hpaとdhcp3-serverらしい。
dhcp3-server
dhcp2系のオプションの"option-135"を使ったのが原因らしく、dhcp3ではdhcpd.confの先頭に「option option-135 code 135 = text;」 と書き足しておくと大丈夫みたいです。ちなみにこのオプションがないと、bpbatchが対話モードにならなくて撃沈。
http://nekojita.org/diary/20040710.html
というわけで、/etc/dhcp3/dhcpd.conf は以下のようにしてみた。
option option-135 code 135 = text; option domain-name "localdomain"; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; allow booting; allow bootp; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.150; option broadcast-address 192.168.1.255; option routers 192.168.1.1; option domain-name-servers 192.168.1.1; # option dhcp-class-identifier "PXEClient"; # option vendor-encapsulated-options 01:04:00:00:00:00; filename "/bpbatch"; next-server 192.168.1.2; option option-135 "-i"; }
tftpd-hpa
/etc/inet.confの設定はこんなだった。
なので、公開ディレクトリは/var/lib/tftpboot
% grep tftp /etc/inetd.conf tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot