The Dell FC630 systems used for UPI install with PXE will always fail to boot and we have to manually create/shuffle the bootorder. There is no way to set the disk as the first boot option if it does not have anything in UEFI (at least on Dell servers). With an empty disk (that had wipefs done) the only UEFI boot option I have is PXE boot.
The system is booted with PXE marking NIC as first priority to boot.
It boots and write the ignition to disk but doesn't alter the UEFI entries to boot with disk and hence ends up booting with NIC again.
To workaround we have to manually select disk to boot or alter the bootorder manually after the install is finished to have the correct bootorder using efibootmgr tool as per the workaround from
https://github.com/coreos/coreos-installer/issues/947
meaning I run this after the install finished:
efibootmgr \
-c \
-d "$boot_device" \
-p 2 \
-L redhat \
-l '\EFI\redhat\shimx64.efi'
Simply, the coreos-installer seems to be creating issue by not adding the entry for disk it has written ignition. In general it's expected to write down these things after install and boot from disk but on the said Hardware it's difficult to alter the entries manually if the disk was wiped before install.
Expectation is
On a system where the root disk is completely empty what I see after a reboot is that:
- the coreos ignition DOES NOT add an efi boot entry
- the coreos ignition DOES NOT change the boot order (ideally the next reboot should be to coreos on the disk, not to PXE)
Some other people fall to issue similar
https://discussion.fedoraproject.org/t/using-a-post-install-script-during-coreos-pxe-install/40129/6