I foobar'd my /boot and now I am sad

I am running systemd-boot (for a week or so and it booted fine until today, before that, I used refind) and my system won’t boot up anymore. /boot looks very weird, IMHO. I wonder how it ever booted up at all.

/boot
|-- amd-ucode.img
|-- efi
|   |-- efi
|   |   |-- BOOT
|   |   |   `-- BOOTX64.EFI
|   |   |-- EFI
|   |   |   `-- manjaro
|   |   |       `-- grubx64.efi
|   |   |-- Linux
|   |   `-- systemd
|   |       `-- systemd-bootx64.efi <-- my guess is, this is what boots
|   |-- grml
|   |-- grub
|   |   |-- fonts
|   |   |   `-- unicode.pf2
|   |   |-- grub.cfg
|   |   |-- grubenv
|   |   |-- locale
|   |   |   |-- ast.mo
...
|   |   |   `-- zh_TW.mo
|   |   |-- themes
|   |   |   `-- starfield
|   |   |       |-- COPYING.CC-BY-SA-3.0
...
|   |   |       `-- theme.txt
|   |   `-- x86_64-efi
|   |       |-- acpi.mod
...
|   |       `-- zstd.mod
|   |-- initramfs-6.1-x86_64-fallback.img
|   |-- initramfs-6.1-x86_64.img <-- k 6.5 files missing here
|   |-- linux61-x86_64.kver
|   |-- loader  <-- my guess is, this is what it is looking for
|   |   |-- entries
|   |   |   |-- manjarolinux6.1-fallback.conf
|   |   |   |-- manjarolinux6.1.conf
|   |   |   `-- manjarolinux6.5.conf  <-- this is new
|   |   |-- entries.srel
|   |   |-- loader.conf
|   |   `-- random-seed
|   `-- vmlinuz-6.1-x86_64
|-- initramfs-6.1-x86_64-fallback.img
|-- initramfs-6.1-x86_64.img
|-- initramfs-6.5-x86_64-fallback.img
|-- initramfs-6.5-x86_64.img
|-- linux61-x86_64.kver
|-- linux65-x86_64.kver
|-- vmlinuz-6.1-x86_64
`-- vmlinuz-6.5-x86_64

17 directories, 378 files

and it is mounted like that:

UUID=14A8-520F                            /boot/efi      vfat    umask=0077 0 2
UUID=c33d5fc5-ba2a-4f09-a881-68ddaba1c760 /              btrfs   subvol=/@,defaults,discard=async,ssd 0 0
UUID=c33d5fc5-ba2a-4f09-a881-68ddaba1c760 /home          btrfs   subvol=/@home,defaults,discard=async,ssd 0 0
UUID=c33d5fc5-ba2a-4f09-a881-68ddaba1c760 /var/cache     btrfs   subvol=/@cache,defaults,discard=async,ssd 0 0
UUID=c33d5fc5-ba2a-4f09-a881-68ddaba1c760 /var/log       btrfs   subvol=/@log,defaults,discard=async,ssd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

This looks like way to many /boot/efi/efi/EFIs too me, but I am not an expert.

Can any kind soul help me untangle this?
Should fstab /boot not point just to the root of the partition and shouldn’t there be just a single /EFI in boot, and all these recursions are just wrong?

I wonder If just rm-r /boot/* and reinstall a kernel and systemd-boot, and then point /boot to the root of the partition.
Is (bootpart)/EFI magical somehow?

It doesn’t boot because you need to have kernels and initramfs images on ESP partition. I don’t know where your /boot/efi/{initramfs*,linux*} came from, but I doubt manjaro installs them there. What’s in your /boot doesn’t matter, since that is on btrfs.

Read systemd-boot documentation thoroughly: systemd-boot - ArchWiki

You are right, if I understand correctly, /boot must be readable for efi, so it must be on the vfat (boot) partition. In consequence (root)/boot should be an empty directory, right?

I’d mount (boot) into it and then, I use the (boot)/EFI folder.

Not sure I’m following you. Empty or not, easiest is to mount esp on /boot and reinstall kernels. I have to add that I don’t actually know how manjaro does systemd-boot.