Bug 1153410
Summary: | grubby 8.35-6 results in unbootable system after (live) installation due to missing initrd16 line in grub.cfg | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Adam Williamson <awilliam> |
Component: | grubby | Assignee: | Peter Jones <pjones> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | urgent | Docs Contact: | |
Priority: | unspecified | ||
Version: | 21 | CC: | awilliam, bcl, pbrobinson, pjones |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | grubby-8.35-7.fc21 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-10-20 23:02:38 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: | |||
Attachments: |
Description
Adam Williamson
2014-10-16 02:41:06 UTC
Created attachment 947400 [details]
journal output from a 'fail case' (new grubby, installed system missing initrd16 line) install
Created attachment 947401 [details]
journal output from a 'success case' (old grubby, installed system not missing initrd16 line) install
Can you actually attach the good and bad config files, as well? Created attachment 947678 [details]
grub.cfg from the success case (old grubby, working boot)
Created attachment 947680 [details]
grub.cfg from the fail case (new grubby, no initrd16 line, no boot)
aside from UUIDs, looks like it's really just the missing initrd16 line where they differ. So I think I have a theory, here - we may be hitting the new 'filter by title' stuff. I ran the new-kernel-pkg command from the journal through sh -x, and it winds up running this: +++ /sbin/grubby --grub2 -c /boot/grub2/grub.cfg --update-kernel=/boot/vmlinuz-3.17.0-301.fc21.x86_64 --initrd /boot/initramfs-3.17.0-301.fc21.x86_64.img '--args= LANG=en_CA.UTF-8' '--title=Fedora (3.17.0-301.fc21.x86_64) 21 (Twenty One)' that title does not match anything in the grub.cfg - so I think that will mean the filter added to updateInitrd() in "[PATCH 6/9] Support filtering --update-kernel= by title as well." will not match? Yup, I think that's it. If I run the same command, but cut out the --title parameter, the initrd16 line shows up in the config file. new-kernel-pkg set_title() does this: elif [ -f /etc/os-release ]; then . /etc/os-release title="$NAME ($version) $VERSION" if you look at /etc/os-release on an F21 box it has: NAME=Fedora VERSION="21 (Twenty One)" so, that's where the title that gets used in the 'bad' new-kernel-pkg comes from. I don't know where the actual title in grub2.cfg - "Fedora, with Linux 3.17.0-301.fc21.x86_64" - comes from...kernel post? oh, no, it's from grub2-mkconfig. anaconda runs grub2-mkconfig at 22:19:22 then re-generates the initramfs and runs that grubby command (from c#7) and 22:19:30. So at some point, grub2-mkconfig's idea of what the kernel title should be and grubby's idea of what the kernel title should be have diverged. grub2-mkconfig's title comes from /etc/grub.d/10_linux , it looks like: ... title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;; ... echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/" ... around line 98. If you trace it out, 'os' is taken from GRUB_DISTRIBUTOR in /etc/default/grub , 'version' is derived from the names of the actual kernels in /boot . grubby-8.35-7.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/FEDORA-2014-12932/grubby-8.35-7.fc21 Looks good in a quick test, live image with -7 boots. Thanks. Package grubby-8.35-7.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing grubby-8.35-7.fc21' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-12932/grubby-8.35-7.fc21 then log in and leave karma (feedback). grubby-8.35-7.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. |