# \[Tutorial\] Convert to systemd-boot

**URL:** <https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290>\
**Category:** General system\
**Created:** [April 3, 2021, 2:48pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290 "2021-04-03T14:48:33Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![ringo](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ringo/32/66182_2.png) [@ringo](https://forum.endeavouros.com/u/ringo)\
**Post date:** [April 3, 2021, 4:04pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/21 "2021-04-03T16:04:46Z")

</div>

must be ef00 not msftdata efi

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 4:14pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/22 "2021-04-03T16:14:16Z")

</div>

@dalto  
The second last step didn’t run either. Are you suppose to run it from the current place you are in after the makepkg -i

Or am i supposed to do that from the normal open terminal user

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [April 3, 2021, 4:16pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/23 "2021-04-03T16:16:14Z")

</div>

> [@ricklinux](#):
>
> Are you suppose to run it from the current place you are in after the makepkg -i

It doesn’t matter where you run it from. What do you mean it “didn’t run”, what specific error did you get?

Also, did you fix all the earlier stuff? If anything doesn’t work the subsequent steps will also not work.

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 4:22pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/24 "2021-04-03T16:22:07Z")

</div>

```auto
[ricklinux@eos-xfce ~]$ sudo #!/usr/bin/env bash

# Find the configured esp
esp=$(bootctl -p)

# Prepare the efi partition for kernel-install
machineid=$(cat /etc/machine-id)
if [[${machineid}]]; then
    mkdir ${esp}/${machineid}
else
    echo "Failed to get the machine ID"
fi

# Run kernel install for all the installed kernels
while read -r kernel; do
    kernelversion=$(basename "${kernel%/vmlinuz}")
    echo "Installing kernel ${kernelversion}"
    kernel-install add ${kernelversion} ${kernel}
done < <(find /usr/lib/modules -maxdepth 2 -type f -name vmlinuz)
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
            [command]
usage: sudo [-AbEHknPS] [-C num] [-D directory] [-g group] [-h host] [-p
            prompt] [-R directory] [-T timeout] [-u user] [VAR=value] [-i|-s]
            [<command>]
usage: sudo -e [-AknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt]
            [-R directory] [-T timeout] [-u user] file ...
mkdir: cannot create directory ‘/efi/2d4b045e204a44ef944ef9836c283074’: Permission denied
Installing kernel 5.11.11-arch1-1
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.dep.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.dep.bin.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.alias.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.alias.bin.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.softdep.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.symbols.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.symbols.bin.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.builtin.bin.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.builtin.alias.bin.3592.227065.1617466559, 301, 644): Permission denied
depmod: ERROR: openat(/lib/modules/5.11.11-arch1-1, modules.devname.3592.227065.1617466559, 301, 644): Permission denied
==> ERROR: Unable to write to path: `/efi/2d4b045e204a44ef944ef9836c283074/5.11.11-arch1-1/initrd'
==> ERROR: Unable to write to path: `/efi/2d4b045e204a44ef944ef9836c283074/5.11.11-arch1-1/initrd-fallback'
[ricklinux@eos-xfce ~]$ 

```

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [April 3, 2021, 4:23pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/25 "2021-04-03T16:23:42Z")

</div>

sudo doesn’t work like that.

Save it as a script, `convert.sh`. Then run `sudo bash ./convert.sh`

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 4:24pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/26 "2021-04-03T16:24:47Z")

</div>

Can you explain that. I’m bash illiterate!  
Are you saying that i use wget to download the script and then i have to run it from terminal as.

sudo ./ xxxxxx

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [April 3, 2021, 4:26pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/27 "2021-04-03T16:26:42Z")

</div>

Sure.

That is a script.

- Open an editor.
- Copy and paste the contents into the editor.
- Save the file as `convert.sh`
- From the terminal, `cd` to the location where you saved the file
- Type `sudo bash ./convert.sh`

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 4:33pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/28 "2021-04-03T16:33:07Z")

</div>

Do i have to chmod the file? It won’t run.  
Edit: Sorry I labeled the file wrong? 🤦‍♂️

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 4:42pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/29 "2021-04-03T16:42:05Z")

</div>

Okay i got it working. The fall back entry is first in the menu but it works. The only issue I’m having is it won’t size v-box properly but that’s a v-box thing.

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 4:45pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/30 "2021-04-03T16:45:59Z")

</div>

@dalto  
Thanks … I learned a few more things.

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 4:48pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/31 "2021-04-03T16:48:45Z")

</div>

@dalto  
Are you going to put this in Discovery as a wiki?

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 4:58pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/32 "2021-04-03T16:58:28Z")

</div>

@dalto  
I’m running this v-box on Arch. I get this when run updates in v-box of EndeavourOS that i tried systemd boot.

```auto
[ricklinux@eos-xfce ~]$ yay
[sudo] password for ricklinux: 
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
 endeavouros is up to date
:: Starting full system upgrade...
 there is nothing to do
:: Searching databases for updates...
:: Searching AUR for updates...
 -> Missing AUR Packages: eos-systemd-boot
 there is nothing to do
[ricklinux@eos-xfce ~]$ 

```

Edit: Is that because your github package isn’t in the repo?

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [April 3, 2021, 5:14pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/33 "2021-04-03T17:14:55Z")

</div>

Yes, that is what AUR helpers do when you install a package that isn’t in the repos or AUR.

---

<div class="post-metadata">

**Author:** ![Kresimir](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/kresimir/32/73739_2.png) [@Kresimir](https://forum.endeavouros.com/u/Kresimir)\
**Post date:** [April 3, 2021, 7:20pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/34 "2021-04-03T19:20:49Z")

</div>

An excellent tutorial, detailed, easy to follow. Now, I don’t have any intention to convert to systemd-boot just yet, but if did, I would be very grateful for such a wonderful tutorial! 🙂

---

<div class="post-metadata">

**Author:** ![davidw](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/d/c4cdca/32.png) [@davidw](https://forum.endeavouros.com/u/davidw)\
**Post date:** [April 3, 2021, 8:19pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/35 "2021-04-03T20:19:15Z")

</div>

Purely out of interest, I always use `systemd-boot` and I always use `/boot` as my esp.

---

<div class="post-metadata">

**Author:** ![ricklinux](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/ricklinux/32/110798_2.png) [@ricklinux](https://forum.endeavouros.com/u/ricklinux)\
**Post date:** [April 3, 2021, 8:28pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/36 "2021-04-03T20:28:52Z")

</div>

Yes it is an excellent tutorial and i just wanted to try it. I don’t have a lot of bash knowledge so i like to try different things that i know little about. That’s the way i learn. I really want to learn more bash skills. This is one of the reasons i find the Arch wiki so annoying because they assume everyone knows what they are talking about when they leave most of the critical how to out of the equation and just give you the technical info. That’s the way i see it any how. Stuff that i know is easy. Well most of the time. Sometimes i forget because i never write things down. ☹

---

<div class="post-metadata">

**Author:** ![manuel](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/manuel/32/396_2.png) [@manuel](https://forum.endeavouros.com/u/manuel)\
**Post date:** [April 3, 2021, 8:34pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/37 "2021-04-03T20:34:00Z")

</div>

\<off-topic\>  
You’ll learn bash by doing. And reading tutorials help too.

Easiest may be to start your own small bash projects, e.g. writing some useful functions into your ~/.bashrc.  
\</off-topic\>

---

<div class="post-metadata">

**Author:** ![otherbarry](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/otherbarry/32/10801_2.png) [@otherbarry](https://forum.endeavouros.com/u/otherbarry)\
**Post date:** [April 6, 2021, 4:36am UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/38 "2021-04-06T04:36:09Z")

</div>

> [@dalto](#):
>
> Your kernels must be kept inside your efi partition so it needs to be large enough to hold them all

This is the only real issue I have with systemd-boot.

Grub2 allows all kernels and grub config to reside inside a luks encrypted partition, systemd-boot forces these files to be in the unencrypted esp partition.

The only system unencrypted file, ideally, should be the efi stub.

Good tutorial though.

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [April 6, 2021, 1:00pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/39 "2021-04-06T13:00:37Z")

</div>

> [@otherbarry](#):
>
> Grub2 allows all kernels and grub config to reside inside a luks encrypted partition, systemd-boot forces these files to be in the unencrypted esp partition.

Yes. For me, it is isn’t a problem because all I care about encrypting is my data. However, if you have a need/want to protect more than that, I can see why you would prefer grub for that use case. For example, if you were trying to hide what OS you are running.

---

<div class="post-metadata">

**Author:** ![otherbarry](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/otherbarry/32/10801_2.png) [@otherbarry](https://forum.endeavouros.com/u/otherbarry)\
**Post date:** [April 6, 2021, 11:08pm UTC](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290/40 "2021-04-06T23:08:43Z")

</div>

More about protecting crucial parts of the OS, kernels and bootloader config, than hiding the specific Linux variant being run.

[Previous page](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290.md?page=1)

[Next page](https://forum.endeavouros.com/t/tutorial-convert-to-systemd-boot/13290.md?page=3)
