After updating to GRUB 2.12 and generating a new GRUB configuration as usual, my computer reboots when entering the GRUB menu. Reverting to GRUB stable (2.06-r9) and generating a new GRUB configuration, I was able to boot.
I can confirm. I was able to coax an error message to wit: error: symbol 'grub_is_shimlock_enabled' not found Downgrading to 2.06-r9, reinstalling to disk, and re-configuring was sucessful and was able to boot. Some folks have had sucess on Arch Linux by adding --disable-shim-lock to their grub-install invocation. See https://bbs.archlinux.org/viewtopic.php?id=287024 # emerge --info Portage 3.0.58 (python 3.11.7-final-0, default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr, gcc-13, glibc-2.38-r8, 6.6.8-gentoo-dist x86_64) ================================================================= System uname: Linux-6.6.8-gentoo-dist-x86_64-AMD_Ryzen_7_5700G_with_Radeon_Graphics-with-glibc2.38 KiB Mem: 32133808 total, 27094640 free KiB Swap: 5242876 total, 5242876 free Timestamp of repository gentoo: Tue, 26 Dec 2023 18:02:02 +0000 Head commit of repository gentoo: b7fb67c938b36d952da6423d8983f294f185518c sh bash 5.2_p21-r1 ld GNU ld (Gentoo 2.41 p4) 2.41.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.2_p21-r1::gentoo dev-lang/perl: 5.38.2-r1::gentoo dev-lang/python: 3.11.7::gentoo, 3.12.1_p1::gentoo dev-lang/rust: 1.74.1::gentoo dev-util/cmake: 3.28.1::gentoo dev-util/meson: 1.3.0-r2::gentoo sys-apps/baselayout: 2.14-r1::gentoo sys-apps/sandbox: 2.38::gentoo sys-apps/systemd: 255.2::gentoo sys-devel/autoconf: 2.13-r8::gentoo, 2.72-r1::gentoo sys-devel/automake: 1.16.5-r1::gentoo sys-devel/binutils: 2.41-r3::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/clang: 17.0.6::gentoo sys-devel/gcc: 13.2.1_p20231216::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/libtool: 2.4.7-r1::gentoo sys-devel/lld: 17.0.6::gentoo sys-devel/llvm: 17.0.6::gentoo sys-devel/make: 4.4.1-r1::gentoo sys-kernel/linux-headers: 6.6::gentoo (virtual/os-headers) sys-libs/glibc: 2.38-r8::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo.git priority: -1000 volatile: False sync-git-verify-commit-signature: yes ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--jobs=3 --load-average=9.0" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-march=native -O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=native -O2 -pipe" GENTOO_MIRRORS="https://mirrors.rit.edu/gentoo/ https://gentoo.osuosl.org/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LEX="flex" MAKEOPTS="--jobs=12 --load-average=13.0" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="X a52 aac acl acpi activities alsa amd64 branding bzip2 cairo cdda cdr cli crypt cups dav1d dbus declarative dri dts dvd dvdr encode exif ffmpeg flac fortran gdbm gif gpm gstreamer gtk gui iconv icu ipv6 jpeg kde lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 readline screencast sdl seccomp semantic-desktop sound spell ssl startup-notification svg systemd test-rust theora tiff truetype udev udisks unicode upower usb vorbis vulkan wayland widgets wxwidgets x264 x265 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" SANE_BACKENDS="canon pixma" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Did you make sure to grub-install and grub-mkconfig?
> Did you make sure to grub-install and grub-mkconfig? Are you asking whether this was done as part of the upgrade process? If this is your question, then no, I did not run grub-install, but did run grub-mkconfig. If there was news or other communication that it was necessary to run grub-install post-upgrade, I missed it.
(In reply to Dutch Ingraham from comment #3) > > Did you make sure to grub-install and grub-mkconfig? > > Are you asking whether this was done as part of the upgrade process? If this > is your question, then no, I did not run grub-install, but did run > grub-mkconfig. If there was news or other communication that it was > necessary to run grub-install post-upgrade, I missed it. The package notifies you that you should run it in pkg_postinst: ``` if [[ -n ${REPLACING_VERSIONS} ]]; then local v for v in ${REPLACING_VERSIONS}; do if ver_test -gt ${v}; then ewarn ewarn "Re-run grub-install to update installed boot code!" ewarn "Re-run grub-mkconfig to update grub.cfg!" ewarn break fi done else elog optfeature "detecting other operating systems (grub-mkconfig)" sys-boot/os-prober optfeature "creating rescue media (grub-mkrescue)" dev-libs/libisoburn optfeature "enabling RAID device detection" sys-fs/mdadm fi ``` It is important that the grub version installed to /boot matches the version used for grub-mkconfig, or they may generate e.g. incompatible configuration files.
Actually, now that I think about it, I did run grub-install and grub-mkconfig after the upgrade - just not *immediately* after the upgrade. I upgraded the system a couple of days ago, logged out, and did not try and boot back into that system until today. At which point, after failing to boot, I chrooted in, updated the system, ran grub-install and grub-mkconfig, and rebooted, which failed. On that failed boot, I was presented with the error message noted above and was then able to research the error. I chrooted back in a second time, downgraded grub and re-ran grub-install and grub-mkconfig.
Upgrade to grub 2.12 broke my system too - same as others, would reboot when entering grub. Downgrade to 2.06-r9 fixed it. Seems like it needs to be made ultra clear about this stuff. I will stick to stable grub after this experience, even if this is put in the user error category.
Per the GRUB bug report, this is likely caused by some stale copy of GRUB hanging around on your ESP. https://savannah.gnu.org/bugs/?64406#comment5 Please try cleaning up any extra grubx64.efi or bootx64.efi files.
(In reply to Sam James from comment #4) > (In reply to Dutch Ingraham from comment #3) > > > Did you make sure to grub-install and grub-mkconfig? > > > > Are you asking whether this was done as part of the upgrade process? If this > > is your question, then no, I did not run grub-install, but did run > > grub-mkconfig. If there was news or other communication that it was > > necessary to run grub-install post-upgrade, I missed it. > > The package notifies you that you should run it in pkg_postinst: > ``` > if [[ -n ${REPLACING_VERSIONS} ]]; then > local v > for v in ${REPLACING_VERSIONS}; do > if ver_test -gt ${v}; then > ewarn > ewarn "Re-run grub-install to update > installed boot code!" > ewarn "Re-run grub-mkconfig to update > grub.cfg!" > ewarn > break > fi > done > else > elog > optfeature "detecting other operating systems > (grub-mkconfig)" sys-boot/os-prober > optfeature "creating rescue media (grub-mkrescue)" > dev-libs/libisoburn > optfeature "enabling RAID device detection" sys-fs/mdadm > fi > ``` > > It is important that the grub version installed to /boot matches the version > used for grub-mkconfig, or they may generate e.g. incompatible configuration > files. Is there some type of cache whereby this notification will only appear after the first upgrade of a package? I ask because I'm not getting any post-install message when upgrading to 2.12 after downgrading to 2.06-r9: gentoosdb ~ # emerge -avuDU @world These are the packages that would be merged, in order: Calculating dependencies... done! Dependency resolution took 12.83 s (backtrack: 0/20). [ebuild U ] sys-boot/grub-2.12:2/2.12::gentoo [2.06-r9:2/2.06-r9::gentoo] USE="fonts nls sdl themes truetype -device-mapper -doc -efiemu -libzfs -mount (-test) -verify-sig" GRUB_PLATFORMS="efi-64 -coreboot -efi-32 -emu -ieee1275 (-loongson) -multiboot -pc -qemu (-qemu-mips) -uboot -xen -xen-32 -xen-pvh" 0 KiB Total: 1 package (1 upgrade), Size of downloads: 0 KiB Would you like to merge these packages? [Yes/No] >>> Verifying ebuild manifests >>> Emerging (1 of 1) sys-boot/grub-2.12::gentoo >>> Installing (1 of 1) sys-boot/grub-2.12::gentoo >>> Completed (1 of 1) sys-boot/grub-2.12::gentoo >>> Jobs: 1 of 1 complete Load avg: 2.83, 0.85, 0.32 * Regenerating GNU info directory index... * Processed 129 info files. * After world updates, it is important to remove obsolete packages with * emerge --depclean. Refer to `man emerge` for more information. gentoosdb ~ #
(In reply to Dutch Ingraham from comment #8) The message should be displayed any time grub is upgraded. Perhaps you have removed "echo" from PORTAGE_ELOG_SYSTEM, or removed "warn" from PORTAGE_ELOG_CLASSES in make.conf.
(In reply to Mike Gilbert from comment #9) > (In reply to Dutch Ingraham from comment #8) > > The message should be displayed any time grub is upgraded. > > Perhaps you have removed "echo" from PORTAGE_ELOG_SYSTEM, or removed "warn" > from PORTAGE_ELOG_CLASSES in make.conf. Thanks for that, Mike. In fact, I had neither "echo" nor "warn" in my ELOG settings. (I've been carrying this make.conf around for years; I have no idea when or why I made the settings i had.) Reinstalling GRUB now produces the expected admonishments.
commit 6ad32a60e7c1ddb580c3e9d564a594a62583f046 (HEAD -> master, origin/master, origin/HEAD) Author: Mike Gilbert <floppym@gentoo.org> Date: Tue Feb 6 14:29:45 2024 -0500 2024-02-01-grub-upgrades: fix typo Signed-off-by: Mike Gilbert <floppym@gentoo.org> commit e0e93c981baef4a697dac91e8a9efed0a4a204b5 Author: Mike Gilbert <floppym@gentoo.org> Date: Tue Feb 6 14:26:29 2024 -0500 2024-02-01-grub-upgrades: x86_64-pc -> x86_64-efi Signed-off-by: Mike Gilbert <floppym@gentoo.org> commit 65b494db54e9228fbb4dd0c647f9dd11998c3f4c Author: Mike Gilbert <floppym@gentoo.org> Date: Sun Jan 28 11:23:22 2024 -0500 2024-02-01-grub-upgrades: add news item Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Thanks for the news item Only a small remark: I would update it to use /efi/EFI path (instead of /boot/efi/EFI) as recommended by the install documentation: https://wiki.gentoo.org/wiki/EFI_System_Partition#Mount_point Cheers
(In reply to Pacho Ramos from comment #12) > Thanks for the news item > > Only a small remark: I would update it to use /efi/EFI path (instead of > /boot/efi/EFI) as recommended by the install documentation: > https://wiki.gentoo.org/wiki/EFI_System_Partition#Mount_point grub-install defaults to using /boot/efi as the path the to the EFI system partition. The news item was written with that in mind.