[Bug 2052382] Re: [os-prober] microcode still in grub.cfg after first update-grub

Guillaume 2052382 at bugs.launchpad.net
Mon Feb 26 09:56:41 UTC 2024


I got another case so here's some logs :

# apt-get purge linux-aws microcode-initrd
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'linux-aws' is not installed, so not removed
The following packages will be REMOVED:
  microcode-initrd*
0 upgraded, 0 newly installed, 1 to remove and 11 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
(Reading database ... 151421 files and directories currently installed.)
Purging configuration files for microcode-initrd (2~20.04.0) ...
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-171-generic
Found initrd image: /boot/initrd.img-5.4.0-171-generic
Found linux image: /boot/vmlinuz-5.4.0-170-generic
Found initrd image: /boot/initrd.img-5.4.0-170-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
[INFO] Checking initrd image...
  [INFO] Checking '/initrd.img-5.4.0-171-generic'...
  [INFO] Checking '/initrd.img-5.4.0-171-generic'...
  [INFO] Checking '/initrd.img-5.4.0-170-generic'...
  [INFO] Checking '/microcode.cpio'...
    [WARN] File '/boot/microcode.cpio' does not exists.
    [ERROR] No initrd found for '/boot/microcode.cpio'

# update-grub2
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-171-generic
Found initrd image: /boot/initrd.img-5.4.0-171-generic
Found linux image: /boot/vmlinuz-5.4.0-170-generic
Found initrd image: /boot/initrd.img-5.4.0-170-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
[INFO] Checking initrd image...
  [INFO] Checking '/initrd.img-5.4.0-171-generic'...
  [INFO] Checking '/initrd.img-5.4.0-171-generic'...
  [INFO] Checking '/initrd.img-5.4.0-170-generic'...
  [INFO] Checking '/microcode.cpio'...
    [WARN] File '/boot/microcode.cpio' does not exists.
    [ERROR] No initrd found for '/boot/microcode.cpio'

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to os-prober in Ubuntu.
https://bugs.launchpad.net/bugs/2052382

Title:
  [os-prober] microcode still in grub.cfg after first update-grub

Status in os-prober package in Ubuntu:
  Confirmed

Bug description:
  If you install microcode-initrd and then remove it, after the FIRST
  update-grub, reference to microcode.cpio. but /boot/microcode.cpio
  don't exists anymore, causing boot failure.

  This problem only occure when using os-prober AND having SUBMENU
  enabled in grub.

  This is due to use of /usr/lib/linux-boot-probes/mounted/40grub2, in
  os-prober, wich use grub.cfg, but when update-grub run, it's
  grub.cfg.new which is the new reference.

  I propose managing grub.cfg.new in 40grub2 :

  <code>
  96c96,101
  < if [ -e "$mpoint/boot/grub/grub.cfg" ] && \
  ---
  > # If fresh grub.cfg.new exists, we where in update-grub/grub-mkconfig generation cycle
  > GRUB_NEW=$(find ${mpoint}/boot/grub/ -maxdepth 1 -type f -name grub.cfg.new -mmin -5 || true)
  > if [ -n "${GRUB_NEW}" ];then
  > 	debug "parsing grub.cfg.new"
  >         parse_grub_menu "$mpoint" "$partition" "$bootpart" < "$mpoint/boot/grub/grub.cfg.new"
  > elif [ -e "$mpoint/boot/grub/grub.cfg" ] && \
  <code>

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/os-prober/+bug/2052382/+subscriptions




More information about the foundations-bugs mailing list