[Tutorial] Convert to systemd-boot

Dalto, I followed these steps (for testing purposes): I’m using the dracut mode.

  • Boot to live USB
  • Update mirrors through Welcome app (optional)
CLI
# pacman -Syy (optional)
# pacman -S snapper boost-libs
$ yay -S btrfs-assistant
# mount /dev/sda2 /mnt -o subvolid=5
# cp /mnt/@/etc/snapper/configs/* /etc/snapper/configs
# cp /mnt/@/etc/conf.d/snapper /etc/conf.d/snapper

Then, open btrfs-assistant and restore the snapshot

archchroot and kernel-install
# umount /mnt
# mount -o subvol=@ /dev/sda2 /mnt
# mount /dev/sda1 /mnt/efi
# arch-chroot /mnt
# kernel-install2 #this is the bottom part of Dalto's script, copied to /usr/bin with +x attribute.
exit

It worked, however as we can see in the image below, my boot entries are showing both kernel versions:

Systemd boot entries

image

Fixed my boot entries like this:
cd /efi/91192e68b46945dba4aad45cee594025/
sudo rm -rf 5.19.12-arch1-1
sudo rm -rf 5.19.12-zen1-1-zen/
cd ../loader/entries
sudo rm 91192e68b46945dba4aad45cee594025-5.19.12-arch1-1.conf
sudo rm 91192e68b46945dba4aad45cee594025-5.19.12-zen1-1-zen.conf
sudo kernel-install2 #this is the bottom part of Dalto's script, copied to /usr/bin with +x attribute.

Really thanks :slight_smile: Now I can restore everything in case of a boot problem, using btrfs with dracut.

1 Like