a7e66a34a4
To send the Inspector ramdisk over HTTP rather than TFTP, we must first send an iPXE boot image that knows how to speak HTTP, and then instruct it to "chainload" the inspector ramdisk. Previously, we could only do this if the machine being introspected had BIOS firmware. However, most modern servers now use UEFI firmware, which requires a different iPXE boot image (as described at http://ipxe.org/howto/chainloading). We must specify the initrd in the iPXE `kernel` line to avoid the problem described at http://forum.ipxe.org/showthread.php?tid=7589. Change-Id: I9cb102178bee8039a8cfc157154ecbd315aba871
20 lines
651 B
Plaintext
20 lines
651 B
Plaintext
port=0
|
|
interface=<%= @dnsmasq_interface %>
|
|
bind-interfaces
|
|
dhcp-range=<%= @dnsmasq_ip_range %>,29
|
|
enable-tftp
|
|
tftp-root=/tftpboot
|
|
dhcp-sequential-ip
|
|
dhcp-match=ipxe,175
|
|
<% if @enable_uefi -%>
|
|
dhcp-match=set:efi,option:client-arch,7
|
|
<% end -%>
|
|
# Client is running iPXE; move to next stage of chainloading
|
|
dhcp-boot=tag:ipxe,http://<%= @dnsmasq_local_ip %>:8088/inspector.ipxe
|
|
<% if @enable_uefi -%>
|
|
# Client is running PXE over EFI; send EFI version of iPXE chainloader
|
|
dhcp-boot=tag:efi,ipxe.efi
|
|
# Client is running PXE over BIOS; send BIOS version of iPXE chainloader
|
|
<% end -%>
|
|
dhcp-boot=undionly.kpxe,localhost.localdomain,<%= @dnsmasq_local_ip %>
|