[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