Skip to content

Commit

Permalink
Merge pull request #1274 from sincorchetes/master
Browse files Browse the repository at this point in the history
Create change_kernel_boot.rst
  • Loading branch information
pixelgeek authored May 30, 2024
2 parents 4964178 + a732aab commit 61a60f1
Showing 1 changed file with 234 additions and 0 deletions.
234 changes: 234 additions & 0 deletions source/guides/kernel/change_kernel_boot.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
.. _change_kernel_boot:

Change Kernel Boot
########################

This tutorial explains the process of change kernel boot entry |CL-ATTR|.

.. contents::
:local:
:depth: 1

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
***************************

.. code-block:: bash
bootctl status
This is an example output:

.. code-block:: bash
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
*****************************

.. code-block:: bash
bootctl list
And example output:

.. code-block:: bash
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:

.. code-block:: bash
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

.. code-block:: bash
sudo bootctl set-default ID
For example to set 6.9.1 entry:

.. code-block:: bash
sudo bootctl set-default Clear-linux-native-6.9.1-1436.conf
Just reboot

.. code-block:: bash
sudo systemctl reboot
You will boot with the kernel set before.

0 comments on commit 61a60f1

Please sign in to comment.