warewulf / warewulf

Warewulf is a stateless and diskless container operating system provisioning system for large clusters of bare metal and/or virtual systems.
https://warewulf.org
Other
222 stars 82 forks source link

dnsmasq template does not support BIOS / legacy boot #1336

Open anderbubble opened 1 month ago

anderbubble commented 1 month ago

Steps to reproduce

It looks like the dnsmasq template provided by warewulf also does not offer to serve up a legacy BIOS ipxe binary to legacy hosts

Your template will probably need something like this:

{{- with (index $.Tftp.IpxeBinaries "00:00" ) }}
dhcp-boot=tag:!iPXE,tag:bios,"/warewulf/{{ index $.Tftp.IpxeBinaries "00:00" }}"
{{- end }}

to support legacy BIOS clients

the bios tag is being set with this existing directive:

dhcp-match=set:bios,option:client-arch,0   #legacy boot

and the dhcp-boot statement I provided above for the template is just matching on that tag to serve up the appropriate ipxe binary

Reported by Ryan Thomson in Slack.

Error message

No response

Information on your system

$ wwctl version
wwctl version:   4.5.1test1+129.gf2213f0e.dirty-1
rpc version: apiPrefix:"rc1" apiVersion:"1" warewulfVersion:"4.5.1test1+129.gf2213f0e.dirty-1"
$ cat /etc/os-release 
NAME="Rocky Linux"
VERSION="9.2 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.2"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.2 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
SUPPORT_END="2032-05-31"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.2"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.2"

General information

anderbubble commented 1 month ago

It's been a while since I had anything booting legacy BIOS, but the example here worked when I did: https://gist.github.com/griznog/219b42e59700469d8df37baf82d6849b

From @griznog