Installer no longer creates EFI/org.clearlinux in /boot/efi

Hello I tried to follow
https://docs.01.org/clearlinux/latest/tutorials/multi-boot/dual-boot-linux.html
and renamed my “EFI System Partition” (/dev/sda1) to CLR_BOOT
The installer claimed to complete successfully but the system did not boot.
Now I have not yet followed the final steps to set up GRUB via the other linux, however I am concerned by the appearance of /dev/sda1 following the install.

Rather than making (as it did a year ago) a directory named something like
EFI/org.clearlinux
(which I believe the GRUB tools would pick up straightforwardly)
it scattered the following files in the root of /dev/sda1:
-rwx------. 1 root root 4800512 Nov 11 13:45 freestanding-00-intel-ucode.cpio
-rwx------. 1 root root 33016 Nov 11 13:45 freestanding-i915-firmware.cpio.xz
-rwx------. 1 root root 11154624 Nov 11 13:45 org.clearlinux.native.5.13.13-1070
-rwx------. 1 root root 530 Nov 11 13:45 syslinux.cfg
In particular I do not find the file that the BIOS used to use to boot
(something with 64 and x in the name, maybe bootx64.efi? Do I need to use the one in EFI/Boot/ ? )

Is this the new normal or did something go wrong and it is straightforward to fix or should I start all over again?

I believe that a previous installation of clearlinux was booted by the BIOS via the file
\EFI\org.clearlinux\bootloaderx64.efi

However that directory \EFI\org.clearlinux\ was not created and that file bootloaderx64.efi does not exist in /dev/sda1.

Clear Linux has a mechanism to only mount /boot when it is needed to avoid corruption. By default, nothing should be in /boot. In rare cases, I’ve seen where files end up on the root partition underneath. When this happens even though they appear under /boot they aren’t on the correct partition and this can cause problems.

Check the contents of /boot.
Make sure mount | grep boot shows the sda1 partition is actually mounted to /boot
If not, run systemctl start boot.mount
Check /boot again

Here is a more comprehensive post on the subject:

should /dev/sda1 (EFI partition) be mounted as
/boot
or
/boot/efi ?

In clearlinux, should /dev/sda1 (EFI partition) be mounted as
/boot
or
/boot/efi ?

(Your post seems to suggest it should be /boot; best I recall, that is not the convention of debian nor fedora.)

There is something clearly wrong. The instructions at
https://docs.01.org/clearlinux/latest/tutorials/multi-boot/dual-boot-linux.html

say to create an entry

menuentry ‘Clear Linux OS’ {
search --fs-uuid --no-floppy --set=root A5A0-337D
chainloader (${root})/EFI/org.clearlinux/bootloaderx64.efi

when that directory /EFI/org.clearlinux/ was not created.

Please note, the problem is not that an old kernel was booting. The problem was that the boot process failed.
Therefore running mount and systemctl would not help.
I was viewing the common EFI partition from another OS.

Which installer file are you using? The presence of syslinux.cfg in your first post has me suspicious. I think some of the cloud images use syslinux as the bootloader but the default for Clear Linux is systemd-boot.

For the regular installers, systemd-boot is used which reads /boot has the EFI partlabel denoting ESP partition. The convention is a difference between systemd-boot and GRUB bootloaders.

It would still be worth verifying /dev/sda1 is actually mounted to /boot before looking.

Here is layout of a boot partition from a Clear Linux systems for reference:

$ sudo systemctl start boot.mount

$ mount | grep boot
/dev/sda1 on /boot type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)

$ sudo ls -lR /boot
/boot:
total 55731
drwx------ 4 root root      512 Jan  7  2020 EFI
-rwx------ 1 root root 57067107 Mar  2  2020 initramfs-5.5.6-914.native.img
drwx------ 3 root root      512 Aug 18 17:43 loader

/boot/EFI:
total 3
drwx------ 2 root root  512 Jan  7  2020 BOOT
drwx------ 2 root root 2048 Aug 18 17:43 org.clearlinux

/boot/EFI/BOOT:
total 104
-rwx------ 1 root root 105830 Jan  7  2020 BOOTX64.EFI

/boot/EFI/org.clearlinux:
total 57803
-rwx------ 1 root root  1196031 Aug 18 17:43 bootloaderx64.efi
-rwx------ 1 root root  4800512 Aug 18 17:43 freestanding-00-intel-ucode.cpio
-rwx------ 1 root root 26812315 Aug 18 17:43 freestanding-clr-init.cpio.gz
-rwx------ 1 root root    30044 Aug 18 17:43 freestanding-i915-firmware.cpio.xz
-rwx------ 1 root root    85844 Aug 18 17:43 initrd-org.clearlinux.native.5.13.11-1068
-rwx------ 1 root root    84156 Jan  5  2021 initrd-org.clearlinux.native.5.9.16-1009
-rwx------ 1 root root 11155424 Aug 18 17:43 kernel-org.clearlinux.native.5.13.11-1068
-rwx------ 1 root root 14927616 Jan  5  2021 kernel-org.clearlinux.native.5.9.16-1009
-rwx------ 1 root root    97040 Aug 18 17:43 loaderx64.efi

/boot/loader:
total 2
drwx------ 2 root root 1024 Aug 18 17:43 entries
-rwx------ 1 root root   45 Aug 18 17:43 loader.conf

/boot/loader/entries:
total 2
-rwx------ 1 root root 780 Aug 18 17:43 Clear-linux-native-5.13.11-1068.conf
-rwx------ 1 root root 778 Jan  5  2021 Clear-linux-native-5.9.16-1009.conf

Another thought: make sure the /boot partition you’re looking at is that of the target disk and not the ISO installer itself. The ISO installer also uses syslinux to boot itself and has a layout similar to your first post:

Reference:

make sure the /boot partition you’re looking at is that of the target disk and not the ISO installer itself.

That’s easy – the ISO installer does not have Debian nor Fedora. The target disk does.

I found a workaround, in case others have this problem:

  1. Create a separate partition ~ 256MiB
  2. Use that as the EFI partition for the Clearlinux install.
  3. Use the BIOS boot menu to select that EFI partition to boot CL.

Note: The EFI spec supports multiple EFI partitions on internal drives, though not on removable media devices.

1 Like