ARM64 PXE installation of Rocky 9.4 installs un-bootable kernel

This is driving me nuts!

I recently upgraded to an M3-based Mac, and started to investigate running Rocky under VMware Fusion. I had already read somewhere that Rocky 8 was problematic, so concentrated on Rocky 9.

My initial experience was good… using the minimal ISO, everything installed out of the box, and runs fine.

Now the tricky part… I tend to install things using PXE, so wanted to add arm64 support to that. After many trials and tribulations, I decided I needed to switch from my syslinux based setup to grub2… which I now have working. (using the rocky 9 grub2-mknetdir as a base)

Now for the issue…

If I install the OS from PXE boot, either manually or via kickstart, the installation completes, gets back to grub, but is unusable… selecting the kernel, the screen blanks for a few seconds and come back to grub. Occasionally I have seen messages about the 64K granular kernel not being supported by my CPU. Indeed, looking at the grub menu I can see that it’s trying to use an aarch64+64k-debug kernel, which is obviously the root cause of the problem.

It is odd that manually installing from an ISO image using the same options installs the regular kernel and works fine.

Why does PXE booting behave differently?

What part of the installation process chooses the +64K kernel, and how can I prevent it?

I’ve tried a number of things, like adding transparent_hugepage=never to the linux command line and grub, and disabling the kernel-64k etc.

Hopefully there is a simple fix.

Thanks in advance for any pointers…


Hi there!

so this is interesting, because it should actually be the other way around, by default Rocky Linux 9 installs the kernel package which is 4k, which is also the thing Fusion on macOS needs to be able to run.
If a system needs the 64k kernel you explicitly have to activate that in the kickstart file: Performing an advanced RHEL 9 installation Red Hat Enterprise Linux 9 | Red Hat Customer Portal

That’s what I would have expected too… But the UI installer does the same thing when booting via PXE, not NOT when booting from the ISO image. While installing I can see that it’s using a kernel with 4k pages too. In the UI there’s an option, and it’s set to 4k.

This is why I’m going crazy, and if I had hair, I’d be pulling it out :slight_smile: I’m sure it must be something I’m doing, but after playing with this kind of stuff for decades, I would hope I could spot it…

I guess the difference between the ISO and the PXE installs is that I use a local mirror of the repo… I’ll re-jig my grub to try against a remote mirror, just in case.