Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#38713 - [grub] 10_archlinux can no longer load kernel image from btrfs subvolume
Attached to Project:
Arch Linux
Opened by Jonathan Charest (jcharest) - Wednesday, 29 January 2014, 14:52 GMT
Last edited by Tobias Powalowski (tpowa) - Tuesday, 08 April 2014, 06:35 GMT
Opened by Jonathan Charest (jcharest) - Wednesday, 29 January 2014, 14:52 GMT
Last edited by Tobias Powalowski (tpowa) - Tuesday, 08 April 2014, 06:35 GMT
|
DetailsDescription: The issue is about the image (kernel, initrd) path in the boot partition generated by 10_archlinux when using btrfs subvolumes:
linux /boot/vmlinuz-linux initrd /boot/initramfs-linux.img I think it should be (__active is my subvolume): linux /__active/boot/vmlinuz-linux initrd /__active/boot/initramfs-linux.img 10_archlinux does not prepend the subvolume name but 10_linux does. I think there are two cases to consider: 1 - In my case the __active subvolume is the default subvolume so shouldn't grub have mounted it in the subvolume automatically ? 2 - In the case the subvolume is not the default or that grub will not mount the default subvolume, then the 10_archlinux needs to add the subvolume name to the path as 10_linux does. I initially posted some info in In the grub config file attached, I patched the image paths to be able to boot. Steps to reproduce: This is what I did but don't know if the issue might have been be there before this version since I don't generate grub.conf often. - Upgrade to grub grub 1:2.02.beta2-1 - Generate grub.cfg - Reboot - Grub complains about missing theme files but the kernel boots (image is found in /boot) - grub-install (try to fix the missing files errors) - Reboot - Theme works but grub not able to find kernel with the generated path - Add subvolume prefix (/__active/) - Kernel boots ok |
This task depends upon
This means that the 10_archlinux script needs to use: 'make_system_path_relative_to_its_root' on the boot path to get the real path.
Just one comment: In 10_archlinux lines 127,156 and 180 we see: "set gfxpayload=keep". Shouldn't it be conditional on the config from /etc/default/grub ? I just noticed this because on my home desktop using the nvidia binary blob, there are some warnings about using vesafb.
Btrfs root on a subvol/UEFI here.
rootflags=subvol=__active
It is not really required since the __active subvol is the default one but it does not cause problems. Since the subvol is required for the image path by grub it might be less error prone to specify it everywhere like it is done in this version.