Bug 974125

Summary: Broken grub.cfg after F18->F19b upgrade, grub doesn't start
Product: [Fedora] Fedora Reporter: Andrew <travneff>
Component: grubbyAssignee: Peter Jones <pjones>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 19CC: bcl, collura, pjones, travneff, tschweikle
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-17 15:33:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andrew 2013-06-13 13:27:34 UTC
Note 1: appeared after a messed yum distro-sync operation (yum was killed in the middle).

Note 2: that's a RFRemix system and there are own versions of grub2 && grub2-tools. However the problem is reproduced with these packages taken from Fedora repo too.
Under reproduce I mean that grub behaviour doesn't change with the same config file.
Grubby package isn't rebuilt.

Description of problem:
grub.cfg got some breakage after upgrade F18->F19 beta. Difference with the correct case is following:

--- /boot/grub2/grub.cfg        2013-06-13 15:05:43.814793777 +0300
+++ /boot/grub2/grub.cfg.bad    2013-06-13 15:07:39.000000000 +0300
@@ -91,9 +91,9 @@
        echo 'Loading RFRemix (3.9.5-301.fc19.x86_64) 19 (Schrödinger’s Cat)'
        linux   /boot/vmlinuz-3.9.5-301.fc19.x86_64 root=UUID=bd9b55f7-43f7-489d-86d8-8c0520323c79 ro libahci.ignore_sss=1 raid=noautodetect rd.info rd.md=0 rd.luks=0 rd.lvm=0 rd.dm=0 plymouth.enable=0 vconsole.font=ter-v16n drm.debug=0x04 LANG=en_US.UTF-8
        echo 'Loading initial ramdisk ...'
-       initrd /boot/initramfs-3.9.5-301.fc19.x86_64.img
 }
-menuentry 'RFRemix' --class rfremix --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bd9b55f7-43f7-489d-86d8-8c0520323c79' {
+       initrd /boot/initramfs-0-rescue-d35c328a936a49c485ca8a762be109d6.img
+menuentry 'RFRemix (3.9.4-301.fc19.x86_64) 19 (Schrödinger’s Cat)' --class rfremix --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-bd9b55f7-43f7-489d-86d8-8c0520323c79' {
        savedefault
        load_video
        set gfxpayload=keep


This causes following error when grub is starting if you performed grub2-install (reports success) after the update:

  alloc magic is broken at 0xcad6f390: 0
  Aborted. Press any key to exit.


So it's impossible to boot any installed OS without an emergency actions.

Besides of that, grub2-script-check doesn't see anything wrong with the bad config—should it be filed as separate issue?

SW versions:
grub2-2.00-18.fc19.x86_64
grub2-tools-2.00-18.fc19.x86_64
grubby-8.24-1.fc19.x86_64

P.S.
There was a lot of mess while repairing the system after the yum fail. Feel free to close this issue if you think that it comes from there. The only separate point is grub2-script-check behaviour.

Comment 1 Andrew 2013-06-13 16:55:50 UTC
Sorry, confused with own info: grub2-install shouldn't be related here.

Comment 2 Thomas Schweikle 2013-06-19 09:17:30 UTC
/boot/grub2/grub.cfg is generated with default on rescue-system.

Modules for lvm are missing ->
Warning: /dev/fedora/root does not exist
Warning: /dev/fedora/swap does not exist
Warning: /dev/mapper/vg0-root does not exist
Warning: /dev/mapper/vg0-swap does not exist

btw: where does this volume-group "fedora" come from? I only have "vg0" created!

Trying to fix this with (booting from rescue-cd):
# rpm --erase kernel-3.9.5-301.fc19.x86_64
# yum install kernel
Geladene Plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * fedora: be.mirror.eurid.eu
 * updates: be.mirror.eurid.eu
Abhängigkeiten werden aufgelöst
--> Transaktionsprüfung wird ausgeführt
---> Paket kernel.x86_64 0:3.9.5-301.fc19 markiert, um installiert zu werden
--> Abhängigkeitsauflösung beendet

Abhängigkeiten aufgelöst
[...]
Downloading packages:
kernel-3.9.5-301.fc19.x86_64.rpm                                                                             |  29 MB  00:00:34
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warnung: RPMDB wurde außerhalb von yum verändert.
  Installieren     : kernel-3.9.5-301.fc19.x86_64
device node not found
  Überprüfung läuft: kernel-3.9.5-301.fc19.x86_64

Installiert:
  kernel.x86_64 0:3.9.5-301.fc19

Komplett!

Then, after rebooting the system only allows to boot into rescue mode.

Trying to create a new initrd:
# mkinitrd -v -f /boot/initramfs-3.9.5-301.fc19.x86_64.img 3.9.5-301.fc19.x86_64
I: *** Including module: i18n ***
I: *** Including module: drm ***
I: *** Including module: plymouth ***
I: *** Including module: dm ***
I: Skipping udev rule: 64-device-mapper.rules
I: *** Including module: kernel-modules ***
I: *** Including module: lvm ***
device node not found
I: Skipping udev rule: 64-device-mapper.rules
I: *** Including module: resume ***
I: *** Including module: rootfs-block ***
I: *** Including module: terminfo ***
I: *** Including module: udev-rules ***
I: *** Including module: biosdevname ***
I: *** Including module: systemd ***
I: *** Including module: usrmount ***
I: *** Including module: base ***
I: *** Including module: fs-lib ***
I: *** Including module: shutdown ***
I: *** Including modules done ***
I: *** Installing kernel module dependencies and firmware ***
I: *** Installing kernel module dependencies and firmware done ***
I: *** Resolving executable dependencies ***
I: *** Resolving executable dependencies done***
I: *** Hardlinking files ***
I: *** Hardlinking files done ***
I: *** Stripping files ***
I: *** Stripping files done ***
I: *** Creating image file ***
I: *** Creating image file done ***
I: Wrote /boot/initramfs-3.9.5-301.fc19.x86_64.img:
I: -rw------- 1 root root 14988407 19. Jun 12:04 /boot/initramfs-3.9.5-301.fc19.x86_64.img

seems to work ok.
Looking for grub config shows lvm only loaded if "feature_default_font_path" not set to "y". In all other cases lvm-modules will not load!

--- snip
if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod lvm
insmod ext2
set root='lvm/vg0-root'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='lvm/vg0-root'  059551fe-9f40-4e6f-8ecb-beaee54624f3
else
  search --no-floppy --fs-uuid --set=root 059551fe-9f40-4e6f-8ecb-beaee54624f3
fi
    font="/usr/share/grub/unicode.pf2"
fi
--- snap

Any of the menuentries are generated without "insmod lvm":
menuentry 'Fedora (3.9.5-301.fc19.x86_64) 19 (Schrödinger’s Cat)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-0-rescue-c213435e56fa4a3ba89c96f4aabef12a-advanced-059551fe-9f40-4e6f-8ecb-beaee54624f3' {
                load_video
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  d0dafdf1-b6a1-4c3b-a27c-8e48f5b8fff9
                else
                  search --no-floppy --fs-uuid --set=root d0dafdf1-b6a1-4c3b-a27c-8e48f5b8fff9
                fi
                linux   /vmlinuz-3.9.5-301.fc19.x86_64 root=/dev/mapper/vg0-root ro rd.lvm.lv=fedora/swap rd.md=0 rd.dm=0  rd.luks=0 rd.lvm.lv=fedora/root rhgb quiet LANG=de_DE.UTF-8
        initrd /initramfs-3.9.5-301.fc19.x86_64.img
}

Adding "insmod lvm" to any of them resolves booting into dracut.
Not including "insmod lvm" for any of the menuentries looks like a bug to me.

Comment 3 Thomas Schweikle 2013-06-19 09:25:25 UTC
But this does not solve the main problem here: why does, apart from ignoring /etc/fstab, the system trying to boot from /dev/fedora/root (swap:/dev/fedora/swap)??

And despite telling it includes lvm into initramfs not having lvm available at the dracut prompt??

# pvscan
sh: unknown command
# vgscan
sh: unknown command

Seems like the initrd-building system is badly broken in some way!

Comment 4 Fedora End Of Life 2015-01-09 18:24:42 UTC
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 19 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 5 Fedora End Of Life 2015-02-17 15:33:37 UTC
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.