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.

Important

It is not recommended to move between 4k and 64k page size kernels after the initial boot without reinstallation of the OS.

Procedure

  1. Open the terminal as the root user, and enter:

    # dnf -y install kernel-64k
  2. To set the kernel-64k as default, enter:

    # k=$(echo /boot/vmlinuz*64k)
    # grubby --set-default=$k \
               --update-kernel=$k \
               --args="crashkernel=2G-:640M"
  3. Set the system boot order to use RHEL as the default option.

    1. 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
    2. 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
  4. Reboot the system:

    # reboot
  5. 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.

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.