This is a perfect example to to why, when our BDFL recommends, to make a USB boot stick "just in case". Its a bit lengthy for the tl;dr crowd, but may be useful to some as it also shows that UEFI implementations can vary.
I have set up on old Slackware-14.1 server to allow PXE boot via syslinux menu of both Slackware64-current and Slackware-current. This avoids the need to update an install DVD or USB stick, or in case one's laptop does not have an optical drive. TFTP boot was set up as per instructions in README_PXE.TXT and syslinux docs. This has worked well. So far:
Asus x200CA Intel notebook PC UEFI, safe boot off
This system does not provide a legacy boot mode. PXE boots works, set up GPT partitions, installer runs to completion. skip lilo and elilo config prompts normally. Slackware64-current boots normally in UEFI via elilo.
MSI U123 Atom netbook BIOS
PXE boots works, set up standard partitions, installer runs to completion. lilo prompts run normally. Slackware-current boots normally from MBR via lilo.
MSI X99S SLI Krait motherboard UEFI, UEFI+Legacy, safe boot off
This motherboard allows UEFI only boot or simultaneous UEFI+Legacy boot. With UEFI+legacy setting, PXE boot works, I set up the appropriate GPT partitions, setup runs and completes. However, only the lilo setup prompt occurs; no elilo prompts occur. The usb stick, however, is set up for UEFI boot. In summary:
- LILO boots old Slackware-14.1 (/dev/sdb1) ok with UEFI+legacy setting.
- PXE boots ok on UEFI+legacy setting
- PXE does NOT boot on UEFI only setting
- USB stick only boots via UEFI and NOT UEFI+legacy
- eliloconfig does not run under UEFI+legacy mode (no error message)
At this point, I needed to set the X99 to boot UEFI only, plug in the USB stick, and I can now boot into the new Slackware64-current install on /dev/sda2. At this point, I note that /boot/efi/EFI/Slackware is empty. Being in UEFI only, run eliloconfig, which now works, and I can boot into Slackware64-currect without the USB stick.
However, in UEFI only, I cannot boot onto the old /dev/sdb1 Slackware partition. Howver, in UEFI+legacy mode, all the boot options are available. I can copy a 14.1 kernel and initrd over from /dev/sdb1 and set up elilo.conf:
Code:
prompt
chooser=simple
delay=1
timeout=50
default=slack64c
#
image=vmlinuz-generic
label=slack64c
initrd=initrd.gz
read-only
append="root=/dev/sda2 vga=normal ro"
image=vmlinuz-generic-3.10.17
label=slackwarew64
initrd=initrd2.gz
read-only
append="root=/dev/sdb1 vga=normal ro"
I can now boot into either Slackware installation without converting /dev/sdb to GPT partitions.
It may not be worth while determining why setup and liloconfig are a bit brittle on this particular motherboard UEFI firmware implementation. Going forward, I doubt many of us will need a legacy boot mode for much longer.