[Tutorial] Convert to systemd-boot

Which machineid and kernel do you want to be the default?

The one highlighted in the image in post #275

Isn’t the initramfs bigger with dracut?

That would necessitate bigger EFI partition, right?

Can you copy paste the machineid from that install for me?

Yes

Relatively speaking but it depends on you hardware/software and how many kernels you want installed.

[ricklinux@kde-pc ~]$ cat /etc/machine-id
9edf2a7bc4574a638901c0dc2ac7eb4e
[ricklinux@kde-pc ~]$ 

Put this line in /efi/loader/loader.conf

default 9edf2a7bc4574a638901c0dc2ac7eb4e*-arch1-?.conf

I put it at the bottom in the conf file but it didn’t change anything.

It doesn’t change the order. It just makes that one the default. systemd-boot doesn’t always default to the one at the top of the list

Okay but both entyries are in the menu> How do you select one or the other does it make it opposite then to what’s listed?

What do you mean?

Okay i get it. It automatically highlights the second entry so i don’t have to use the arrow down to select it.

Edit: I think it does? I’ll try again.

Yes. That is right.

1 Like

Okay so i have dual boot btrfs kde and xfce ext4 running on sytemd-boot with swap files. Now i added a swap file on Xfce. Should i have used the btrfs swap file on the other drive? Didn’t know how so i just created one. I don’t do this stuff enough so i have to follow something i can understand.

You can share swap partitions but swap files are usually separate.

1 Like

I think it is important to understand when timeout entry or default entry in loader.conf are not honored.

My observation is that this happens if they are defined as EFI variables which can be listed via efivar --list

How are the entries in loader.conf related to EFI variables?

  • the EFI variable LoaderConfigTimeout corresponds to the timeout entry in the loader.con
  • the EFI variable LoaderEntryDefault corresponds to the default entry in the loader.conf

Why are those EFI variables possibly set? Most probably this was done via bootctl

Example

sudo bootctl set-timeout 4
sudo bootctl set-default 'default 104fd36f1a224baaac5ecfcdf5c204d7*lts.conf'

If one wants to control those values via the loader.conf then the EFI variables should be deleted.

This can be done like follows:

sudo bootctl set-timeout ''
sudo bootctl set-default ''

Please correct me if anything above is wrong. Thank you.

1 Like

While it could be done via bootctl, I think the more common way to change those values is by using hotkeys at the boot menu. The timeout can be set with t, - and/or +. The default entry can be set with d.

1 Like

Yes, you are right. The hotkeys are another possibility.

Edited:

  1. So, it is important to be aware that if using the hotkeys then the corresponding values in loader.conf are no longer honored.
  2. Also important to note that any keyboard setting like for example Colemak (which I use) is not yet active in the boot menu
1 Like

I decided to remove the troll-posting from yesterday and the responses to them since this is a tutorial topic and I didn’t want those posts to confuse anyone who came along later.

3 Likes

It’s still around 300 posts long. Much longer than other tutorial threads.

I would like to believe that is because it is so popular. :grin:

2 Likes