Installing Rocky 9 through PXE server

Hello,

I have a centos PXE server from which I can install different Linux distributions. I can’t find the correct configuration for installing Rocky 9.

I have copied the Rocky 9 ISO content to a folder reacheable by http (http://mirror/rocky/9/). The kickstart file is loaded too, as I see that partitions are created as expected. I even see the software to be installed.

However when coming to “boot loader installation” I see an error in the /tmp/storage.log :

ERROR:anaconda.modules.common.task.task:Thread AnaTaskThread-InstallBootloaderTask-1 has failed: Traceback (most recent call last):
File “/usr/lib64/python3.9/site-packages/pyanaconda/threading.py”, line 275, in run
threading.Thread.run(self)
File “/usr/lib64/python3.9/threading.py”, line 910, in run
self._target(*self._args, **self._kwargs)
File “/usr/lib64/python3.9/site-packages/pyanaconda/modules/common/task/task.py”, line 96, in _thread_run_callback
self._task_run_callback()
File “/usr/lib64/python3.9/site-packages/pyanaconda/modules/common/task/task.py”, line 109, in _task_run_callback
self._set_result(self.run())
File “/usr/lib64/python3.9/site-packages/pyanaconda/modules/storage/bootloader/installation.py”, line 139, in run
install_boot_loader(storage=self._storage)
File “/usr/lib64/python3.9/site-packages/pyanaconda/modules/storage/bootloader/utils.py”, line 216, in install_boot_loader
storage.bootloader.write()
File “/usr/lib64/python3.9/site-packages/pyanaconda/modules/storage/bootloader/efi.py”, line 121, in write
self.write_config() # pylint: disable=no-member
File “/usr/lib64/python3.9/site-packages/pyanaconda/modules/storage/bootloader/efi.py”, line 175, in write_config
with open(config_path, “w”) as fd:
FileNotFoundError: [Errno 2] No such file or directory: ‘/mnt/sysroot/boot/efi/EFI/rocky/grub.cfg’

Indeed the folder “/mnt/sysroot/boot/efi” is empty. This path is mounted from /dev/sda1 regarding “df -h”

I paste my menu entry here in case :

menuentry “- Install Rocky 9” {
linuxefi kernels/rocky/9/vmlinuz inst.ks=nfs://mirror/export/kickstart/KS-rocky9.cfg inst.stage2=http://mirror/rocky/9/
initrdefi kernels/rocky/9/initrd.img
}

Thanks in advance.

Adding to kickstart :

bootloader --location=none

It fixed the issue but now the problem is with initramfs :

FileNotFoundError: [Errno 2] No such file or directory: ‘dracut’

Note that the bootloader line only specifies how the bootloader is installed, not where it is at that moment. Setting it to none means if the installation succeeds, you won’t have a bootable system. The kickstart should have no bearing on booting a system over the network before installation even starts.

You are specifying linuxefi and initrdefi. Are you sure you are booting this system in EFI mode? I’ve not had issues with EFI and legacy boot for PXE and grub2. See my notes here.

Hi, thanks for your answer. I am sure I am booting in UEFI mode.