読者です 読者をやめる 読者になる 読者になる

ichily.blog

{ "${it} is always there :)" }

DHCPサーバーが存在する環境でPXE boot用tftpサーバー作る設定を引っ張り出した

概要

192.168.100.10のマシンにdnsmasqでProxy DHCP兼TFTPサーバーを立てて頑張ってもらう。
Kickstart, UEFI対応は含まれていない(自分がこれを参照する場所では使うメリットがない)。

設定

yum install syslinux
mkdir -p /var/tftpboot/pxelinux.cfg
cd /var/tftpboot
cp -pr /var/share/syslinux ./
cp -p syslinux/pxelinux.0 ./
mkdir -p centos/7
cd cetnos/7
wget http://ftp.iij.ad.jp/pub/linux/centos/7/os/x86_64/images/pxeboot/vmlinuz
wget http://ftp.iij.ad.jp/pub/linux/centos/7/os/x86_64/images/pxeboot/initrd.img
vi /var/tftpboot/pxelinux.cfg/default

/var/tftpboot/pxelinux.cfg/default

default syslinux/menu.c32
timeout 300

menu title PXE Boot Menu

# [ftp_server]をURLに置換する
LABEL centos7
        MENU LABEL centos. CentOS-7.0-x86_64 Installer
        kernel centos/7/vmlinuz
        append initrd=centos/7/initrd.img inst.repo=[ftp_server]/pub/linux/centos/7/os/x86_64/

# 2つ目以降を作るならこんな風に
# LABEL centos6
#         MENU LABEL centos. CentOS-6.0-x86_64 Installer
#         kernel centos/6/vmlinuz
#         append initrd=centos/6/initrd.img inst.repo=[ftp_server]/pub/linux/centos/6/os/x86_64/

DHCPサーバーが既にあるLAN内でTFTP兼DHCPとしてdnsmasqを利用する設定。
/etc/dnsmasq.d/proxydhcp.conf

enable-tftp
tftp-root=/var/tftpboot

# set server as proxy dhcp
dhcp-range=192.168.100.0,proxy

pxe-service=x86PC, "PXE Boot ", "pxelinux", 192.168.100.10
pxe-prompt="press [Enter]"

# boot file
dhcp-boot=./pxelinux.0

エラーとか

pxelinux.cfg, menu.c32を違うところから取得すると Failed to load COM32 files のようなエラーが出てしくじる。 PXE bootの設定でつまづき、あちこちを参照しながらやった時にありがち。