[Bug 2084584] Re: GRUB / ZFS - unable to detect new kernels installed
Nikolaj Hansen
2084584 at bugs.launchpad.net
Tue Oct 15 20:39:18 UTC 2024
I think I worked this out. You are able to execute an update-grub even
if your pools are not correctly imported into zfs.
I noticed the list looked like this:
$> zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 1.84T 141G 1.71T - - 1% 7% 1.00x ONLINE -
After an import of the bpool.
$> sudo zpool import bpool.
Now looks like
$> zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
bpool 1.88G 285M 1.60G - - 0% 14% 1.00x ONLINE -
rpool 1.84T 141G 1.71T - - 1% 7% 1.00x ONLINE -
And the grub scripts once again starts behaving. A full reinstall of the
latest *47 kernel now correctly updates the boot selection list and lets
me boot into the correct kernel.
I still see this as a bug in the grub scripts.
If the bpool is not correctly imported the scripts should either try to
do this or - maybe even better - simply exit with a descriptive error.
Also when the grub-probe executable gets an error - see to it it prints
out exactly where (on which device) the failing probe was running.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2-unsigned in Ubuntu.
https://bugs.launchpad.net/bugs/2084584
Title:
GRUB / ZFS - unable to detect new kernels installed
Status in grub2-unsigned package in Ubuntu:
New
Bug description:
For some reason GRUB will not update the list of available kernels
after a routine update
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
grub-probe: error: unknown filesystem.
Found linux image: vmlinuz-6.8.0-44-generic in rpool/ROOT/ubuntu_9jipvg
Found initrd image: initrd.img-6.8.0-44-generic in rpool/ROOT/ubuntu_9jipvg
Found linux image: vmlinuz-6.8.0-41-generic in rpool/ROOT/ubuntu_9jipvg
Found initrd image: initrd.img-6.8.0-41-generic in rpool/ROOT/ubuntu_9jipvg
/usr/sbin/grub-probe: error: unknown filesystem.
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
done
This is the contents in the boot folder:
$> ls -lah /boot
total 185M
drwxr-xr-x 4 root root 15 Oct 2 14:56 .
drwxr-xr-x 22 root root 26 Apr 27 20:04 ..
-rw-r--r-- 1 root root 281K Oct 2 13:23 config-6.8.0-44-generic
-rw-r--r-- 1 root root 281K Aug 30 10:32 config-6.8.0-45-generic
drwxr-xr-x 2 root root 2 Sep 11 02:18 efi
drwxr-xr-x 2 root root 4 Oct 2 14:57 grub
lrwxrwxrwx 1 root root 27 Oct 2 14:50 initrd.img -> initrd.img-6.8.0-45-generic
-rw-r--r-- 1 root root 77M Oct 2 13:48 initrd.img-6.8.0-44-generic
-rw-r--r-- 1 root root 77M Oct 2 14:50 initrd.img-6.8.0-45-generic
lrwxrwxrwx 1 root root 27 Oct 2 14:56 initrd.img.old -> initrd.img-6.8.0-44-generic
-rw------- 1 root root 8,7M Aug 30 10:32 System.map-6.8.0-45-generic
lrwxrwxrwx 1 root root 24 Oct 2 14:50 vmlinuz -> vmlinuz-6.8.0-45-generic
-rw------- 1 root root 15M Aug 13 12:22 vmlinuz-6.8.0-44-generic
-rw------- 1 root root 15M Aug 30 11:02 vmlinuz-6.8.0-45-generic
lrwxrwxrwx 1 root root 24 Oct 2 14:56 vmlinuz.old -> vmlinuz-6.8.0-44-generic
I completely purged version 45 and reinstalled it. I cant see any
errors and neither can apt.
When I reboot I will end up in emergency mode and I have to manually
move back to the 44 version of the kernel via
update-initramfs -u -k 6.8.0-44-generic
Then the system boots as expected - but on the old kernel. But for the
un initiated - this will leave the system unusable.
What is up with grub?
> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.1 LTS
Release: 24.04
Codename: noble
$> apt-cache policy grub-efi-amd64
grub-efi-amd64:
Installed: 2.12-1ubuntu7
Candidate: 2.12-1ubuntu7
Version table:
*** 2.12-1ubuntu7 500
500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
100 /var/lib/dpkg/status
> zsysctl list
ID ZSys Last Used
-- ---- ---------
rpool/ROOT/ubuntu_9jipvg true current
$> zsysctl show
Name: rpool/ROOT/ubuntu_9jipvg
ZSys: true
Last Used: current
Users:
$> zfs list -o name,com.ubuntu.zsys:bootfs
NAME COM.UBUNTU.ZSYS:BOOTFS
rpool -
rpool/ROOT -
rpool/ROOT/ubuntu_9jipvg yes
rpool/ROOT/ubuntu_9jipvg/maven_repo yes
rpool/ROOT/ubuntu_9jipvg/srv yes
rpool/ROOT/ubuntu_9jipvg/usr yes
rpool/ROOT/ubuntu_9jipvg/usr/local yes
rpool/ROOT/ubuntu_9jipvg/var yes
rpool/ROOT/ubuntu_9jipvg/var/games yes
rpool/ROOT/ubuntu_9jipvg/var/lib yes
rpool/ROOT/ubuntu_9jipvg/var/lib/AccountsService yes
rpool/ROOT/ubuntu_9jipvg/var/lib/NetworkManager yes
rpool/ROOT/ubuntu_9jipvg/var/lib/apt yes
rpool/ROOT/ubuntu_9jipvg/var/lib/dpkg yes
rpool/ROOT/ubuntu_9jipvg/var/log yes
rpool/ROOT/ubuntu_9jipvg/var/mail yes
rpool/ROOT/ubuntu_9jipvg/var/snap yes
rpool/ROOT/ubuntu_9jipvg/var/spool yes
rpool/ROOT/ubuntu_9jipvg/var/www yes
rpool/ROOT/ubuntu_9jipvg/workspace yes
$> zfs list -o name,canmount,mountpoint -t filesystem
NAME CANMOUNT MOUNTPOINT
rpool off /
rpool/ROOT off none
rpool/ROOT/ubuntu_9jipvg on /
rpool/ROOT/ubuntu_9jipvg/maven_repo on /home/nikolaj/.m2
rpool/ROOT/ubuntu_9jipvg/srv on /srv
rpool/ROOT/ubuntu_9jipvg/usr off /usr
rpool/ROOT/ubuntu_9jipvg/usr/local on /usr/local
rpool/ROOT/ubuntu_9jipvg/var off /var
rpool/ROOT/ubuntu_9jipvg/var/games on /var/games
rpool/ROOT/ubuntu_9jipvg/var/lib on /var/lib
rpool/ROOT/ubuntu_9jipvg/var/lib/AccountsService on /var/lib/AccountsService
rpool/ROOT/ubuntu_9jipvg/var/lib/NetworkManager on /var/lib/NetworkManager
rpool/ROOT/ubuntu_9jipvg/var/lib/apt on /var/lib/apt
rpool/ROOT/ubuntu_9jipvg/var/lib/dpkg on /var/lib/dpkg
rpool/ROOT/ubuntu_9jipvg/var/log on /var/log
rpool/ROOT/ubuntu_9jipvg/var/mail on /var/mail
rpool/ROOT/ubuntu_9jipvg/var/snap on /var/snap
rpool/ROOT/ubuntu_9jipvg/var/spool on /var/spool
rpool/ROOT/ubuntu_9jipvg/var/www on /var/www
rpool/ROOT/ubuntu_9jipvg/workspace on /home/nikolaj/workspace
Expected:
New kernels added to the grub bootloader menu based on the output from /etc/grub.d/10_linux_zfs.
Actual:
New kernel after version 44 not added to the bootloader. Even though mkinitfs does update to the new kernel. Rendering the system unusable.
See the attached debug output from the grub script.
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: grub-efi-amd64 2.12-1ubuntu7
ProcVersionSignature: Ubuntu 6.8.0-44.44-generic 6.8.12
Uname: Linux 6.8.0-44-generic x86_64
NonfreeKernelModules: zfs
ApportVersion: 2.28.1-0ubuntu3.1
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
Date: Tue Oct 15 19:38:01 2024
InstallationDate: Installed on 2023-11-21 (329 days ago)
InstallationMedia: Ubuntu 23.10.1 "Mantic Minotaur" - Release amd64 (20231016.1)
RebootRequiredPkgs: Error: path contained symlinks.
SourcePackage: grub2-unsigned
UpgradeStatus: Upgraded to noble on 2024-04-28 (170 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2-unsigned/+bug/2084584/+subscriptions
More information about the foundations-bugs
mailing list