Hi! Today I installed arch linux and couldn’t find a solution to this final step. Just old posts that ended up changing to grub.
Get the disk UUID where you have your partition installed.
$ ls -l /dev/disk/by-uuid/
Example output:
...
lrwxrwxrwx 1 root root 10 ago 15 14:41 82923365-30db-6cde-ae91-d22a817fa407 -> ../../sda4
lrwxrwxrwx 1 root root 10 ago 15 14:41 a6f007ed-8473-4b83-b6fb-0d640f18c0a1 -> ../../sda5
...
If I had installed my distro on sda4 I should copy 82923365-30db-6cde-ae91-d22a817fa407
Add this to your configuration.nix
boot.loader.systemd-boot.extraEntries = {
"Arch.conf" = ''
title Example Arch Linux example
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=UUID=82923365-30db-6cde-ae91-d22a817fa407 rootfstype=ext4 add_efi_memmap rw
'';
};
-
Replace the example’s UUID with yours. (Also rootfstype if the disk is formatted with any other filesystem)
-
title option sets the name that will show on the boot menu. Use as many spaces as you like.
-
linux and initrd already exist on
/boot, there is no need to change that. -
“systemd-boot does not accept tabs for indentation, use spaces instead.” ref
-
Arch.conf is the name of the file that will be created at
/boot/loader/entries, you are free to change it to whatever you want, leave that .conf at the end, just in case.
Rebuild, reboot and it should appear now.
First “guide” here, if I got something wrong, drop me a comment and I’ll change it.
Hope this helps.
Error handling
Booting process interrupted/slowed by some “Searching for xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx…”
- Check if the disk’s uuid its correct.
- If you copied it manually, try using something like
ls -l /dev/disk/by-uuid/ >> configuration.nix
This will append ls’s output to your configuration.nix file. Go to the end of it and you will see all the output there, copy relevant, delete the rest.