thanks for the replies. Will play around in a VM before testing it on my real systems.
when checking the issue that closed that feature request (https://github.com/systemd/systemd/issues/477) , I would assume that simply not providing a default in config would make it boot the last used entry - but that question was never answered at the end of the issue.
If it still is not that way, I donāt understand how grub can offer that function without issues (I use and have used it on many systems over the years and on UEFI systems too) but systemd canāt xD
It actually does have issues on grub. Grub writes it to the filesystem. However, since grub canāt write every filesystem, that feature doesnāt work on many filesystems.
systemd-boot doesnāt have filesystem drivers. It writes the data to EFI variables. However, they donāt want to write EFI variables every time a boot entry is selected/changed.
Ultimately, grub and systemd-boot are fundamentally different. Neither a superset of the other. If that is a āmust haveā feature for you, stick with grub.
@dalto I just made the switch from mkinitcpio to dracut. Just to confirm, the kernel-install-for-dracut in eosās repo performs essentially the same function as kernel-install-mkinitcpio described here, right?
Thanks for the confirmation. Iām going to go through all the documentations first to get a general understanding of systemd-boot and then perform the steps in this tutorial.
Successfully converted to systemd-boot from grub. System running without any issues. Chose /boot as the new mount point.
I do have a question, @dalto. Do we actually need the dracut-hook package from eosās repo if we already have kernel-install-for-dracut installed? I currently have dracut-hook installed, and I noticed that my /boot/ directory looks like this:
I suspect that the initramfs images (probably generated by the hooks from dracut-hook package) actually serve no purpose here because according to the files inside /boot/loader/entries/, the initrd files are used by the bootloader, not intramfs.
title EndeavourOS
version 5.15.85-1-lts
machine-id (machine-id)
sort-key endeavouros-5.15.85-1-lts
options root=UUID=8624ed1c-e0b4-45b5-ac9e-045fd9c9df4e rw resume=UUID=f31ea3e9-65f7-4ec0-bda8-a491666debae loglevel=3 nowatchdog nvme_load=YES systemd.machine_id=(machine_id) systemd.machine_id=(machine_id)
linux /(machine_id)/5.15.85-1-lts/linux
initrd /(machine_id)/5.15.85-1-lts/initrd
Am I correct to assume that the kernel-install-for-dracut package takes care of all pacman hooks (including the ones responsible for generating kernel images post kernel updates), so I donāt really need the dracut-hook package?
I want to convert my system to systemd-boot but before I do that I also want to switch to dracut. Is the correct way to first install dracut with pacman and then run the following 2 commands:
If you just follow this tutorial and follow the instructions for dracut that will convert to dracut and systemd-boot in a single shot. That would be easiest.
If you would prefer to install and test dracut alone, you should install dracut and eos-dracut. Then remove mkinitcpio and run sudo dracut-rebuild.
I get the following error when running the script, probably not enough space in my efi partition which is 300mb
dracut: dracut: using auto-determined compression method 'gzip'
cp: error writing '/efi/a463d5e357b443a18f592fa89825f7ee/6.1.1-arch1-1/initrd-fallback': No space left on device
dracut: dracut: creation of /efi/a463d5e357b443a18f592fa89825f7ee/6.1.1-arch1-1/initrd-fallback failed