Recently I ran into quite a bit of trouble related to clr-boot-manager (detailed in my previous post).
Some more digging seems to indicate that the issue is coming from some behavior of clr-boot-manager that I don't understand.
The problem is the following: my ESP partition ( /dev/sda1) is normally mounted on /boot/efi, clr-boot-manager is always convinced that the ESP is mounted at /boot, and puts all the relevant files and directories (such as loader/ efi/com.solus-project/) inside the /boot directory.
Running sudo CBM_DEBUG=1 clr-boot-manager update
suggests that this happens because /boot is not empty. Either because the ESP is still mounted at /boot/efi, or because /boot still contains an empty /efi directory after unmounting /dev/sda1.
Important note: /dev/sda1 does not get unmounted automatically after booting.
The only way for clr-boot-manager to behave correctly (list-kernels, set-kernel, set-timeout, update) is to manually unmount /dev/sda1 after boot, and then manually delete the empty boot/efi directory.
alexp@laptop ~ $ sudo CBM_DEBUG=1 clr-boot-manager list-kernels
[DEBUG] cbm (../src/cli/cli.c:L142): No such file: //etc/kernel/update_efi_vars
[INFO] cbm (../src/bootman/bootman.c:L744): Current running kernel: 4.14.189-161.lts
[INFO] cbm (../src/bootman/sysconfig.c:L179): Discovered UEFI ESP: /dev/disk/by-partuuid/36df9b3d-e731-450c-985a-721e61e7acd9
[INFO] cbm (../src/bootman/sysconfig.c:L256): Fully resolved boot device: /dev/sda1
[DEBUG] cbm (../src/lib/probe.c:L271): Root device exists on device-mapper configuration
[DEBUG] cbm (../src/bootman/bootman.c:L140): systemd caps: 0x26, wanted: 0x26
[DEBUG] cbm (../src/bootman/bootman.c:L155): UEFI boot now selected (systemd)
[INFO] cbm (../src/bootman/bootman.c:L459): Checking for mounted boot dir
[DEBUG] cbm (../src/lib/files.c:L603): Directory /boot is not empty, found: efi
[INFO] cbm (../src/bootman/bootman.c:L467): boot_dir is already mounted: /boot
[FATAL] cbm (../src/bootloaders/systemd-class.c:L507): sd_class_get_default_kernel Unable to parse loader config
com.solus-project.lts.4.14.189-161
com.solus-project.current.5.6.19-158
alexp@laptop ~ $ sudo rm -r /boot/efi
alexp@laptop ~ $ sudo CBM_DEBUG=1 clr-boot-manager list-kernels
[DEBUG] cbm (../src/cli/cli.c:L142): No such file: //etc/kernel/update_efi_vars
[INFO] cbm (../src/bootman/bootman.c:L744): Current running kernel: 4.14.189-161.lts
[INFO] cbm (../src/bootman/sysconfig.c:L179): Discovered UEFI ESP: /dev/disk/by-partuuid/36df9b3d-e731-450c-985a-721e61e7acd9
[INFO] cbm (../src/bootman/sysconfig.c:L256): Fully resolved boot device: /dev/sda1
[DEBUG] cbm (../src/lib/probe.c:L271): Root device exists on device-mapper configuration
[DEBUG] cbm (../src/bootman/bootman.c:L140): systemd caps: 0x26, wanted: 0x26
[DEBUG] cbm (../src/bootman/bootman.c:L155): UEFI boot now selected (systemd)
[INFO] cbm (../src/bootman/bootman.c:L459): Checking for mounted boot dir
[INFO] cbm (../src/bootman/bootman.c:L512): Mounting boot device /dev/sda1 at /boot
[SUCCESS] cbm (../src/bootman/bootman.c:L525): /dev/sda1 successfully mounted at /boot
[INFO] cbm (../src/bootman/bootman.c:L425): Attempting umount of /boot
[SUCCESS] cbm (../src/bootman/bootman.c:L429): Unmounted boot directory
- com.solus-project.lts.4.14.189-161
com.solus-project.current.5.6.19-158`
Can someone shine some light on what is happening here?