Chapter 19. Installing Kernel-64k on ARM using the command line
By default, RHEL 9 is distributed with a kernel supporting a 4k page size. This 4k kernel is sufficient for efficient memory usage in smaller environments or small cloud instances where the usage of a 64k page kernel is not practical due to space, power, and cost constraints.
If you have already installed RHEL with the default kernel (supporting 4k page size), you can install kernel-64k
post installation using the command line.
It is not recommended to move between 4k and 64k page size kernels after the initial boot without reinstallation of the OS.
Procedure
Open the terminal as the root user, and enter:
# dnf -y install kernel-64k
To set the
kernel-64k
as default, enter:# k=$(echo /boot/vmlinuz*64k) # grubby --set-default=$k \ --update-kernel=$k \ --args="crashkernel=2G-:640M"
Set the system boot order to use RHEL as the default option.
Obtain the current boot order. For example:
# efibootmgr BootCurrent: 0000 Timeout: 5 seconds BootOrder: 0003,0004,0001,0000,0002,0005 Boot0000\* Red Hat Enterprise Linux
Set the boot order to prioritize RHEL. For example, for the output in the previous step, use the following command:
# efibootmgr -o 0000,0001,0002,0003,0004,0005
Reboot the system:
# reboot
Optional: After reboot, remove the 4k kernel:
# dnf erase kernel
Keeping both versions accidentally can make the 4k kernel default when you update the kernel in future using the
yum update
command.
Verification
To verify the page size, open the terminal and run the following command as any user:
$ getconf PAGESIZE 65536
The output
65536
indicates that the 64k kernel is in use.To verify swap is enabled, enter:
$ free total used free shared buff/cache available Mem: 35756352 3677184 34774848 25792 237120 32079168 Swap: 6504384 0 6504384
The total and free columns are non-zero, which indicates the swap is enabled successfully.