[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