Kickstart installation of Rocky 8.9 succeed, but no boot device upon reboot

I installed Rocky 8.9 on a Dell PowerEdge server, using PXE kickstart file and the installation went well without issue. After pressing ENTER for reboot, the system could not boot because it could not find a boot device. Disk target for the OS installation is on a SAS HDD.

I checked the installation logs, as well as checked the status before rebooting, all looks fine to me, some of the command status are:

sda                8:0    0 558.4G  0 disk
├─sda1             8:1    0   1.3G  0 part /mnt/sysroot/boot

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sda1  *       4096    331775    327680   1.3G 83 Linux

/dev/sda1                 1.2G   54M  1.1G   5% /mnt/sysroot/boot

Total 48764
drwx------. 4 root root     4096 Jun 28 14:32 grub2
-rw-------. 1 root root 34282725 Jun 28 14:25 initramfs-4.18.0-513.5.1.el8_9.x86_64.img
lrwxrwxrwx. 1 root root       51 Jun 28 14:24 symvers-4.18.0-513.5.1.el8_9.x86_64.gz -> /lib/modules/4.18.0-513.5.1.el8_9.x86_64/symvers.gz
drwxr-xr-x. 3 root root     4096 Jun 28 14:24 loader
drwx------. 2 root root    16384 Jun 28 14:23 lost+found
-rwxr-xr-x. 1 root root 10913432 Nov 17  2023 vmlinuz-4.18.0-513.5.1.el8_9.x86_64
-rw-r--r--. 1 root root   202110 Nov 17  2023 config-4.18.0-513.5.1.el8_9.x86_64
-rw-------. 1 root root  4487594 Nov 17  2023 System.map-4.18.0-513.5.1.el8_9.x86_64
drwx------. 3 root root    16384 Jan  1  1970 efi
total 32
-rw-------. 1 root root  6588 Jun 28 14:25 grub.cfg
-rw-r--r--. 1 root root  1024 Jun 28 14:25 grubenv
drwxr-xr-x. 2 root root 12288 Jun 28 14:25 i386-pc
drwxr-xr-x. 2 root root  4096 Jun 28 14:25 fonts
-rw-r--r--. 1 root root    84 Jun 28 14:25 device.map

The storage.log is also showing mbr record updated for grub2, and grub.cfg exists:

DEBUG:anaconda.modules.storage.bootloader.utils:Configuring the boot loader.
DEBUG:anaconda.modules.storage.bootloader.utils:Collecting the OS images for: 4.18.0-513.5.1.el8_9.x86_64
DEBUG:anaconda.modules.storage.bootloader.base:new default image: <pyanaconda.modules.storage.bootloader.image.LinuxBootLoaderImage object at 0x7f65130b8908>
DEBUG:anaconda.modules.storage.bootloader.utils:Writing to /etc/sysconfig/kernel.
DEBUG:anaconda.modules.storage.bootloader.utils:Installing the boot loader.
DEBUG:program:Return code: 0

INFO:anaconda.modules.storage.bootloader.grub2:bootloader.py: used boot args: crashkernel=auto resume=UUID=98fc8d66-6624-4f1a-bfc5-d7a4b363f81f rd.lvm.lv=vgos/lv_root
INFO:program:Running in chroot '/mnt/sysroot'... grub2-set-default d73a7d95d4c6446cbca1c226b3328772-4.18.0-513.5.1.el8_9.x86_64
INFO:program:Running in chroot '/mnt/sysroot'... grub2-mkconfig -o /boot/grub2/grub.cfg
INFO:program:Generating grub configuration file ...
INFO:program:done
INFO:program:Running... xfs_freeze -f /boot
...
INFO:anaconda.modules.storage.partitioning.base:Omitting kickstart data for: existing 558.38 GiB disk sda (4) with non-existent msdos disklabel

Not sure if the last INFO msg indicates a problem or not.

For bootloader related config in kickstart file, I am hoping not missing any important bit that could cause this issue:

clearpart --all --initlabel
*.....(removed part / pv / vg bits)..... which was setup fine*
bootloader --location=mbr --boot-drive=/dev/disk/by-path/$osdisk

Any idea/suggestion? Does this has anything to do with the Dell hardware in specific?

Not sure if this connected, but on some Dell hardware you can PXE boot (and install) using the legacy BIOS, but the legacy BIOS doesn’t support booting from disk … so you won’t be able to boot any OS installed this way

To be able to boot from disk, you need to switch to using EFI - which can be network booted and will boot off the disks

Thanks @james-p for the suggestion, I didn’t know about legacy BIOS doesn’t support booting from disk. I am supporting some old Dell machines as well and they works fine with legacy BIOS, that’s why I reused those ks files without thinking too much.

Let me try with EFI then!