Change Kernel Boot

This tutorial explains the process of change kernel boot entry Clear Linux* OS.

Description

For this tutorial, you will modify your kernel list to boot with the kernel you want to use. This process is valid when you cannot compile third-party kernel modules and need to come back to old, or if you compile your custom kernel.

Get the current boot status

bootctl status

This is an example output:

System:
    Firmware: UEFI 2.70 (HP 265.256)
    Firmware Arch: x64
    Secure Boot: disabled
    TPM2 Support: yes
    Measured UKI: no
    Boot into FW: supported

Current Boot Loader:
      Product: systemd-boot 255
     Features:  Boot counting
                Menu timeout control
                One-shot menu timeout control
                Default entry control
                One-shot entry control
                Support for XBOOTLDR partition
                Support for passing random seed to OS
                Load drop-in drivers
                Support Type #1 sort-key field
                Support @saved pseudo-entry
                Support Type #1 devicetree field
                Enroll SecureBoot keys
                Retain SHIM protocols
                Menu can be disabled
                Boot loader sets ESP information
          ESP: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
         File: └─/EFI/org.clearlinux/loaderx64.efi

Random Seed:
 System Token: set
       Exists: yes

Available Boot Loaders on ESP:
          ESP: /boot (/dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5)
         File: ├─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255)
               └─/EFI/BOOT/BOOTX64.EFI (systemd-boot 255)

Boot Loaders Listed in EFI Variables:
        Title: Linux bootloader
           ID: 0x0007
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
         File: └─/EFI/org.clearlinux/bootloaderx64.efi

        Title: Linux Boot Manager
           ID: 0x0001
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
         File: └─/EFI/systemd/systemd-bootx64.efi

        Title: Windows Boot Manager
           ID: 0x0000
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/48d8a9eb-d84d-4a62-8302-edff383290e5
         File: └─/EFI/Microsoft/Boot/bootmgfw.efi

Boot Loader Entries:
        $BOOT: /boot (/dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5)
        token: clear-linux-os

Default Boot Loader Entry:
         type: Boot Loader Specification Type #1 (.conf)
        title: Clear Linux OS (Clear-linux-native-6.8.10-1434.conf)
           id: Clear-linux-native-6.8.10-1434.conf
       source: /boot//loader/entries/Clear-linux-native-6.8.10-1434.conf
        linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.native.6.8.10-1434
       initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
               /boot//EFI/org.clearlinux/initrd-org.clearlinux.native.6.8.10-1434
               /boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
               /boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
      options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall>
lines 20-71/71 (END)
                Support @saved pseudo-entry
                Support Type #1 devicetree field
                Enroll SecureBoot keys
                Retain SHIM protocols
                Menu can be disabled
                Boot loader sets ESP information
          ESP: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
         File: └─/EFI/org.clearlinux/loaderx64.efi

Random Seed:
 System Token: set
       Exists: yes

Available Boot Loaders on ESP:
          ESP: /boot (/dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5)
         File: ├─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255)
               └─/EFI/BOOT/BOOTX64.EFI (systemd-boot 255)

Boot Loaders Listed in EFI Variables:
        Title: Linux bootloader
           ID: 0x0007
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
         File: └─/EFI/org.clearlinux/bootloaderx64.efi

        Title: Linux Boot Manager
           ID: 0x0001
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5
         File: └─/EFI/systemd/systemd-bootx64.efi

        Title: Windows Boot Manager
           ID: 0x0000
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/48d8a9eb-d84d-4a62-8302-edff383290e5
         File: └─/EFI/Microsoft/Boot/bootmgfw.efi

Boot Loader Entries:
        $BOOT: /boot (/dev/disk/by-partuuid/ea2e4278-5c0c-4498-bc99-dfc48a71ceb5)
        token: clear-linux-os

Default Boot Loader Entry:
         type: Boot Loader Specification Type #1 (.conf)
        title: Clear Linux OS (Clear-linux-native-6.8.10-1434.conf)
           id: Clear-linux-native-6.8.10-1434.conf
       source: /boot//loader/entries/Clear-linux-native-6.8.10-1434.conf
        linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.native.6.8.10-1434
       initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
               /boot//EFI/org.clearlinux/initrd-org.clearlinux.native.6.8.10-1434
               /boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
               /boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
      options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs,f2fs tsc=reliable rw module.sig_unenforce rootflags=x-systemd.device-timeout=0

Get the kernel list installed

bootctl list

And example output:

type: Boot Loader Specification Type #1 (.conf)
title: Clear Linux OS (Clear-linux-preempt_rt-6.1.38-105.conf)
id: Clear-linux-preempt_rt-6.1.38-105.conf
source: /boot//loader/entries/Clear-linux-preempt_rt-6.1.38-105.conf
linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.preempt_rt.6.1.38-105
initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
        /boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
        /boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs t>

type: Boot Loader Specification Type #1 (.conf)
title: Clear Linux OS (Clear-linux-native-6.9.1-1436.conf)
id: Clear-linux-native-6.9.1-1436.conf
source: /boot//loader/entries/Clear-linux-native-6.9.1-1436.conf
linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.native.6.9.1-1436
initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
        /boot//EFI/org.clearlinux/initrd-org.clearlinux.native.6.9.1-1436
        /boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
        /boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs,f>

type: Boot Loader Specification Type #1 (.conf)
title: Clear Linux OS (Clear-linux-native-6.8.10-1434.conf) (default) (selected)
id: Clear-linux-native-6.8.10-1434.conf
source: /boot//loader/entries/Clear-linux-native-6.8.10-1434.conf
linux: /boot//EFI/org.clearlinux/kernel-org.clearlinux.native.6.8.10-1434
initrd: /boot//EFI/org.clearlinux/freestanding-00-early-ucode.cpio
        /boot//EFI/org.clearlinux/initrd-org.clearlinux.native.6.8.10-1434
        /boot//EFI/org.clearlinux/freestanding-clr-init.cpio.gz
        /boot//EFI/org.clearlinux/freestanding-i915-firmware.cpio
options: root=UUID=67e7ac9a-f7a1-4d5e-bbd6-012f5fa81cb5 rd.luks.uuid=abe6aaf2-3425-4eb1-b7f5-3f36746426fa quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs,f>

type: Automatic
title: Reboot Into Firmware Interface
id: auto-reboot-to-firmware-setup
source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f

Set default kernel to boot

You can check the id from the latest command:

bootctl list |grep id: |cut -f 2 -d ":"
  id: Clear-linux-preempt_rt-6.1.38-105.conf
  id: Clear-linux-native-6.9.1-1436.conf
  id: Clear-linux-native-6.8.10-1434.conf
  id: auto-reboot-to-firmware-setup

Set the kernel

sudo bootctl set-default ID

For example to set 6.9.1 entry:

sudo bootctl set-default Clear-linux-native-6.9.1-1436.conf

Just reboot

sudo systemctl reboot

You will boot with the kernel set before.