pxeboot をやってみた。
用意するもの
- pxeboot 対応のNIC (Type-Gは内蔵のものでいける)
- LANハブ
- LANケーブル×2
- pxebootのサーバ
- pxebootによりインストールしたいマシン(今回はType-G)
以下は作業メモで各設定等の細かい点についてはあまりふれていません.
まず, サーバに DHCP/tftp/NFS の設定をします.
それからクライアントを起動すれば自動的にブータが起動します.
DHCPサーバの設定(isc-dhcp)
ソースとってきて, configure して make すれば install できた.
# cp /usr/local/etc/dhcpd.conf /etc # vi /etc/dhcpd.conf # dhcpd
うまくいかない. デフォルトの設定ファイルが複雑でエラー箇所が特定できないので一から書く
# dhcpd.conf # option domain-name "example.org"; default-lease-time 600; max-lease-time 7200; ddns-update-style none; log-facility local7; subnet 10.0.1.0 netmask 255.255.255.0 { range 10.0.1.101 10.0.1.120; option domain-name-servers 10.0.1.1; option broadcast-address 10.0.1.255; option routers 10.0.1.254; } host nico { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 10.0.1.110; filename "pxeboot"; option root-path "/mnt"; } # dhcpd *** 省略 *** Can't open lease database /usr/local/var/db/dhcpd.leases: No such file or directory -- check for failed database rewrite attempt! Please read the dhcpd.leases manual page if you don't know what to do about this. *** 省略 ***
ここで dhcpd を実行すると, dhcpd.leases がないっぽいエラーがでるので touch する
# touch /usr/local/var/db/dhcpd.leases touch: /usr/local/var/db/dhcpd.leases: No such file or directory # mkdir /usr/local/var/db # touch /usr/local/var/db/dhcpd.leases # dhcpd *** 省略 *** No subnet declaration for fxp0 (no IPv4 addresses). ** Ignoring requests on fxp0. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface fxp0 is attached. ** Not configured to listen on any interfaces! *** 省略 ***
先に IP アドレスふっとかないとだめらしい.
# ifconfig fxp0 fxp0: flags=8802mtu 1500 ether XX:XX:XX:XX:XX:XX media: Ethernet autoselect (100baseTX ) status: active # ifconfig fxp0 10.0.1.1 netmask 0xffffff00 # ifconfig fxp0 fxp0: flags=8843 mtu 1500 inet 10.0.1.1 netmask 0xffffff00 broadcast 10.0.1.255 ether XX:XX:XX:XX:XX:XX media: Ethernet autoselect (100baseTX ) status: active # dhcpd fxp0
これでやっと起動した.
tftpの設定
# vnconfig -c -v /dev/vn0 6.X-RELEASE-amd64-boot.iso /dev/vn0: 0 bytes on 6.X-RELEASE-amd64-boot.iso # mount -t cd9660 -o ro /dev/vn0 /mnt # vi /etc/inetd.conf ''tftp の部分の # を削除'' tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpboot tftp dgram udp6 wait root /usr/libexec/tftpd tftpd -s /tftpboot # mkdir /tftpboot # cp /mnt/boot/pxeboot /tftpboot # kill -HUP `cat /var/run/inetd.conf`
tftp のチェック
# tftp localhost tftp> get pxeboot Received 228066 bytes in 0.2 seconds tftp> quit
NFSの設定
sysinstall で,
Configure → Networking → NFS server をチェック → ファイル編集(/etc/exports)
ハブにつながったところだけで運用するネットワークなのでとりあえずこれで
#/etc/export # @see man exports /mnt
起動チェック
# ps x | egrep 'mountd|nfs' 81 ?? Is 0:00.00 mountd -r 84 ?? Is 0:00.00 nfsd: master (nfsd) 86 ?? I 0:00.00 nfsd: server (nfsd) 87 ?? I 0:00.00 nfsd: server (nfsd) 88 ?? I 0:00.00 nfsd: server (nfsd) 89 ?? I 0:00.00 nfsd: server (nfsd)
インストール
BIOS の設定でネットワークブートを enable にして起動すればうまくいくはず.
後片付け
NFS, tftp サービスを停止
参考文献
http://wiki.milkcup.jp/index.php?pxeboot%A4%F2%BB%C8%CD%D1%A4%B7%A4%BFFreeBSD%A4%CE%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
pxeを使ったFreeBSDインストール
独り言
あーあー.
やってしまった...X-(