dnsmasq配置dhcp和tftp:
1 2 3 4 5 6 7 8 9 | #dhcp-vendorclass=bios,PXEClient:Arch:00000 dhcp-match= set :bios,option:client-arch,0 dhcp-match= set :ipxe,175 dhcp-boot=tag:!ipxe,tag:bios,undionly.kpxe dhcp-boot=tag:!ipxe,tag:!bios,ipxe.efi dhcp-boot=tag:ipxe,boot.ipxe #dhcp-boot=tag:ipxe,http://boot.netboot.xyz enable -tftp tftp-root= /srv/tftp/ |
下载pxe启动要加载的ipxe启动文件,也可自己编译ipxe开启相应的功能。
1 2 3 | cd /srv/tftp/ wget https: //boot .ipxe.org /undionly .kpxe wget https: //boot .ipxe.org /ipxe .efi |
ipxe启动脚本boot.ipxe,更多见使用preseed和kickstart自动安装ubuntu和centos系统。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #!ipxe :start menu PXE Boot Options item shell iPXE shell item ubuntu Ubuntu installation item exit Exit to BIOS choose --default ubuntu --timeout 10000 option && goto ${option} :shell shell :ubuntu #chain --autofree http://boot.netboot.xyz set mirror http://mirrors.aliyun.com/ set release focal set arch amd64 set base-url ${mirror}/ubuntu/dists/${release}/main/installer-${arch}/current/legacy-images/netboot/ubuntu-installer/${arch} kernel ${base-url}/linux auto=true url=https://www.haiyun.me/ubuntu.cfg keymap=us domain= hostname=ubuntu-server interface=auto netcfg/do_not_use_netplan=true initrd ${base-url}/initrd.gz boot :exit exit |
使用其它机器上tftp服务器,地址:192.168.1.6
1 2 3 4 5 6 | #dhcp-vendorclass=bios,PXEClient:Arch:00000 dhcp-match= set :bios,option:client-arch,0 dhcp-match= set :ipxe,175 dhcp-boot=tag:!ipxe,tag:bios,undionly.kpxe,,192.168.1.6 dhcp-boot=tag:!ipxe,tag:!bios,ipxe.efi,,192.168.1.6 dhcp-boot=tag:ipxe,boot.ipxe,,192.168.1.6 |
ubuntu安装tftp服务器:
1 | apt install tftpd-hpa |
参考:
https://wiki.archlinux.org/index.php/dnsmasq#PXE_server
https://dev.to/arachan/ipxe-chainloading-to-use-dnsmasq-and-proxydhcp-4he
https://yangfeiffei.github.io/public/2019/08/12/net-install-centos7-with-ipxe.html