netboot.xyz/src/opensuse.ipxe
Antony Messerli 4180f4a1e5 Splits out nameserver to its own kernel option
Moves nameserver out of ip option to nameserver
option on anaconda style installers, also removes
unused netcfg options
2019-10-07 16:57:24 -05:00

90 lines
3.2 KiB
Text

#!ipxe
# OpenSUSE Operating System
# http://opensuse.org
isset ${dhcp-server} || goto static_ip
set netsetup netsetup=dhcp
goto goto_menu
:static_ip
# Need to convert netmask into prefix, because otherwise the installer
# accepts it but configures the network with /32 prefix, which installs
# fine but breaks connectivity to devices in the same network.
set prefix 32
iseq ${netmask} 0.0.0.0 && set prefix 0 ||
iseq ${netmask} 128.0.0.0 && set prefix 1 ||
iseq ${netmask} 192.0.0.0 && set prefix 2 ||
iseq ${netmask} 224.0.0.0 && set prefix 3 ||
iseq ${netmask} 240.0.0.0 && set prefix 4 ||
iseq ${netmask} 248.0.0.0 && set prefix 5 ||
iseq ${netmask} 252.0.0.0 && set prefix 6 ||
iseq ${netmask} 254.0.0.0 && set prefix 7 ||
iseq ${netmask} 255.0.0.0 && set prefix 8 ||
iseq ${netmask} 255.128.0.0 && set prefix 9 ||
iseq ${netmask} 255.192.0.0 && set prefix 10 ||
iseq ${netmask} 255.224.0.0 && set prefix 11 ||
iseq ${netmask} 255.240.0.0 && set prefix 12 ||
iseq ${netmask} 255.248.0.0 && set prefix 13 ||
iseq ${netmask} 255.252.0.0 && set prefix 14 ||
iseq ${netmask} 255.254.0.0 && set prefix 15 ||
iseq ${netmask} 255.255.0.0 && set prefix 16 ||
iseq ${netmask} 255.255.128.0 && set prefix 17 ||
iseq ${netmask} 255.255.192.0 && set prefix 18 ||
iseq ${netmask} 255.255.224.0 && set prefix 19 ||
iseq ${netmask} 255.255.240.0 && set prefix 20 ||
iseq ${netmask} 255.255.248.0 && set prefix 21 ||
iseq ${netmask} 255.255.252.0 && set prefix 22 ||
iseq ${netmask} 255.255.254.0 && set prefix 23 ||
iseq ${netmask} 255.255.255.0 && set prefix 24 ||
iseq ${netmask} 255.255.255.128 && set prefix 25 ||
iseq ${netmask} 255.255.255.192 && set prefix 26 ||
iseq ${netmask} 255.255.255.224 && set prefix 27 ||
iseq ${netmask} 255.255.255.240 && set prefix 28 ||
iseq ${netmask} 255.255.255.248 && set prefix 29 ||
iseq ${netmask} 255.255.255.252 && set prefix 30 ||
iseq ${netmask} 255.255.255.254 && set prefix 31 ||
iseq ${netmask} 255.255.255.255 && set prefix 32 ||
set netsetup netsetup=hostip,gateway,nameserver hostip=${ip}/${prefix} gateway=${gateway} nameserver=${dns}
:goto_menu
set netsetup ${netsetup} BOOTIF=${netX/mac}
set distro opensuse
menu openSUSE - ${arch} - Image Sig Checks: [${img_sigs_enabled}]
item 15.1 openSUSE Leap 15.1
item 15.0 openSUSE Leap 15.0
item 42.3 openSUSE Leap 42.3
item tumbleweed openSUSE tumbleweed
choose version || goto opensuse_exit
set dir ${opensuse_base_dir}/${version}/repo/oss
iseq ${version} tumbleweed && set dir ${version}/repo/oss ||
imgfree
kernel http://${opensuse_mirror}/${dir}/boot/x86_64/loader/linux
initrd http://${opensuse_mirror}/${dir}/boot/x86_64/loader/initrd
imgargs linux ${netsetup} install=http://${opensuse_mirror}/${dir} ${params} ${console} initrd=initrd
echo
echo MD5sums:
md5sum linux initrd
iseq ${img_sigs_enabled} true && iseq ${version} tumbleweed && goto skip_sigs ||
iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs
:verify_sigs
echo
echo Checking signatures...
imgverify linux ${sigs}${distro}/${dir}/boot/x86_64/loader/linux.sig || goto error
imgverify initrd ${sigs}${distro}/${dir}/boot/x86_64/loader/initrd.sig || goto error
echo Signatures verified!
echo
:skip_sigs
boot
:opensuse_exit
clear menu
exit 0