Systemd-boot not working in manjaro architect

/ /dev/sda2 ext4 rw,noatime,data=ordered
|-/boot/efi /dev/sda1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=
|-/home /dev/sda3 ext4 rw,noatime,data=ordered
|-/proc proc proc rw,nosuid,nodev,noexec,relatime
|-/sys sys sysfs ro,nosuid,nodev,noexec,relatime
| -/sys/firmware/efi/efivars | efivarfs efivarf rw,nosuid,nodev,noexec,relatime |-/dev udev devtmpf rw,nosuid,relatime,size=1715692k,nr_inodes= | |-/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,pt |-/dev/shm shm tmpfs rw,nosuid,nodev,relatime
|-/run run tmpfs rw,nosuid,nodev,relatime,mode=755
|-/tmp tmp tmpfs rw,nosuid,nodev
`-/etc/resolv.conf overlay[/etc/resolv.conf]
overlay rw,relatime,lowerdir=/run/miso/sfs/livefs:/

As you have followed the normal course of action when installing Manjaro you have mounted the EFI partition at /boot/efi.

When selecting to use systemd-boot in the Architect Installer, a message is shown telling the EFI partition must be mounted to /boot.

You could try - while you are in the chrooted enviroment - to edit /etc/fstab

Comment the line mounting the EFI partition to /boot/efi and copy the line to a new line beneath but changing the mount point to /boot.

Reboot and check if it works.

It says the file is unwritable

You are in the chroot environment - you should have a red manjaro prompt in the terminal

what is the output of

cat /etc/fstab

Going over the installation in VirtualBox

When going through the mounting process, Architect prompts in the following order

  1. Root
  2. Swap
  3. Other
  4. EFI

As you only have three partitions, what did you do at step three Other?

Did you select Done or did you mount your EFI partition? The EFI partition is mounted in the next step after selecting Done.

If you do mount the EFI partion in step 3 - you will get the exact error you describe so do not mount the EFI partition until asked for by Architect. That will happen in step 4

The result of not selecting Done in step 3 Other is that - due to no more partitions - your EFI partition never gets mounted as it should which is at /boot and not /boot/efi.

You have installed systemd-boot.
But the output given (and requested) will not show if your $esp is /boot.
But never mind.
You can still boot to your installed Manjaro OS using this
But just use this to boot to your manjaro OS,
Do not proceed with step 6.
Check if you $esp is mounted as /boot
findmnt /boot

does this show sda1?
If it shows blank,
findmnt /boot/efi
show sda1?
Then you have incorrectly mounted sda1 as /boot/efi and not as /boot
systemd-boot will not work if that is the case.
But if findmnt /boot shows sda1 then good.
Take a look at this
and then manually add the entries in the section Creating entries and loader.conf there.
Good luck.

1 Like

check also version Bios
there is too much lines entries duplicates

The architect ask me for only root and swap during the mounting process. But I also mount efi at /boot and home at /home. The architect did not ask mt to mount home or efi in step 3.

I mount it at /boot

Thanks I will try it again and see the outcome.

Does system-d boot support ext4 partition?

That is because when you are asked for Other select Done because you have no more than 3 partitions, then and only then you will be asked for EFI partition.

That is not obvious from the installer but as you are installing an EFI system you should do be obs on the EFI partition. Do not mount the EFI partition under Other partitions - it will fail.

That is because EFI is mounted in step 4 (Other). It is very important that you follow the correct path when mounting the partitions

  1. Mount Root
  2. Mount Swap if any
  3. Mount Other like you mention /home
    Mount what ever you need but do not mount EFI until specifically asked for EFI
  4. Mount $esp at /boot/efi

When you later select bootloader Architect will automatically change the mountpoint to /boot when you select systemd-boot.

Your root partition can be ext4. But systemd-boot needs to be installed on your esp, which must be fat32.

Then why mount ’ EFI’ ($esp is a better term) at /boot/efi
Why not just mount /boot ?

I don’t know how exactly how Architect handles it.

Based on my fiddling around with Architect - testing different scenarios - I have discovered a certain flow is expected.

If you break that expected flow - by eg. at the 3. step mount the $esp partition either at /boot or /boot/efi then there will be no more partitions to mount and architect will assume BIOS and install the bootloader accordingly - effectively blocking boot because the flow was not as expected.

Hi fhdk thanks a lot I have now install manjaro systemd-boot on uefi.
You were right about your virtualbox installation. I should wait until the manjaro architect ask me to mount EFI partion at /boot (i.e step 4 after done)
Thanks ounce again
Manjaro Community you guys are the best.

1 Like

Okay. I tried architect several times too myself (but not on systemd-boot) not on ‘regular’ DE’s but with base or openbox (+sddm) {not ‘regular’ openbox}. I’ll just put it down to a series of random bad luck. On the 2 or 3 time with just base, I could not get internet to start after installation, effectively ending any further development on the installed non-internet “working” prompt-only OS. :smiley:

Is there anything important I can do after installing systemd-boot.
Like which kernel I should match in the systemd boot directory for updates.
And how can I set the systemd boot to update automatically?

See this. You will need to manually update kernels in /boot/loader/entries

bootctl install
bootctl update 

does not do it.
But if it does, let us know.

1 Like

Glad that work. But my laptop graphic is AMD. When I check the /boot/loader/entries directory I found that initrd is assign /intel-ucode.img
Why intel-ucode if my system graphic is AMD?

If you have an Intel CPU and AMD GPU you could still be needing the intel-ucode.