It is likely just some small step being missed somewhere.
I have never had any problem on systemd-boot.
It is likely just some small step being missed somewhere.
I have never had any problem on systemd-boot.
There are more places apart from menu that grub sets.
normal.mod uses prefix
variable.
After modifying fstab, run mount -a
to get modifications. Before mkconfig.
You need to inspect the new grub.cfg for @ paths… and the prefix var.
Actually I ran mount -a
. This told me that I should run and afterwards systemctl daemon-reload
. I had checked /boot/grub/grub.cfg
and all occurences of @
were changed to @eos
.
I’m not sure if it is relevant for your use case, but you can change what the subvolumes are named in the first place by editing /etc/calamares/modules/mount.conf
before you start the installer.
It’s generally pretty easy to do with Grub. I must have done it 100 times. I agree there must be something being overlooked somewhere.
What is in your kernel command line in `/etc/default/grub’?
What do you have in /etc/dracut.conf.d/
? Inspect any files referenced in those modules for a path containing @
.
You are right, that the best might be to edit /etc/calamares/modules/mount.conf
before install.
In /etc/default/grub
there is no mentioning of @
. Instead the luks uuid is found. In /etc/dracuf.conf.d
there are calamares-luks.conf
and eos-defaults.conf
.
I am just experimenting to try to understand some things better. For example, if I want to install another arch based distro on the same disk my thinking was that I would need to rename the btrfs subvols.
But when renaming the btrfs subvols (assuming there is also a calamares installer) before running the installer then this might be the easiest way.
I fired up a test install and I was able to get it working.
> lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 115.5G 0 disk
├─sda1 8:1 1 115.5G 0 part
└─sda2 8:2 1 32M 0 part
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot/efi
└─nvme0n1p2 259:2 0 475.9G 0 part
└─luks-1e1afdba-38af-4ca1-8153-467c53df5497 254:0 0 475.9G 0 crypt /var/log
/var/cache
/home
/
> sudo mount -o subvolid=0 /dev/mapper/luks-1e1afdba-38af-4ca1-8153-467c53df5497 /mnt
> ls /mnt
@ @cache @home @log
> sudo mv /mnt/@ /mnt/@eos
> ls /mnt
@cache @eos @home @log
> sudo nano /etc/fstab
> sudo systemctl daemon-reload
> sudo dracut-rebuild
:: Building initramfs for linux (6.9.1-arch1-1)
[ verbose output redacted for brevity ]
:: Building fallback initramfs for linux (6.9.1-arch1-1)
[ verbose output redacted for brevity ]
> sudo grub-install
Installing for x86_64-efi platform.
Installation finished. No error reported.
> sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found background: /usr/share/endeavouros/splash.png
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
> reboot
When I reboot, after unlocking with the passphrase I get the normal journal output and then the Grub menu, and the system boots as expected.
To summarize:
/etc/fstab
;systemctl daemon-reload
;Note: reinstalling Grub is needed in this case (https://wiki.archlinux.org/title/GRUB#LUKS2). I also tested with doing all the other steps but without reinstalling Grub and I get the same error (error: file '/@/boot/grub/x86-64-efi/normal.mod' not found
).
Thanks a lot @BluishHumility . Tested here, and (no suprise) things are working fine.
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.