The kernel fails to decompress at boot, taking you back to the grub menu. It is difficult to catch boot messages that early, but I believe that the kernel is failing to decompress properly if compressed with lbzip2 Reproducible: Always Steps to Reproduce: 1. Build app-alternatives/bzip2[lbzip2 -pbzip2 -reference] 2. Build sys-kernel/gentoo-sources with CONFIG_KERNEL_BZIP2 3. Reboot on newly compiled kernel Actual Results: Kernel fails to boot, crashing early in the boot process. Expected Results: Kernel boots normally. Switching to the XZ compression method (CONFIG_KERNEL_XZ), or changing the USE flags for app-alternatives/bzip2[reference]
The last part should read: "Switching to the XZ compression method (CONFIG_KERNEL_XZ), or changing the USE flags for app-alternatives/bzip2[reference] both seem to work around this problem" I'm assuming the other compression methods may work as well, I just tried XZ first and it worked.
Assigning to the lbzip2 maintainer since I assume this is some bug in its compressor that makes it incompatible with the reference implementation. It could also be a kernel bug.
Can you attach your .config, please?
Created attachment 848775 [details] .config used with genkernel
Portage 3.0.43 (python 3.10.9-final-0, default/linux/amd64/17.1, gcc-11, glibc-2.36-r5, 5.15.88-gentoo-x86_64 x86_64) ================================================================= System uname: Linux-5.15.88-gentoo-x86_64-x86_64-Intel-R-_Core-TM-_i7-4770_CPU_@_3.40GHz-with-glibc2.36 KiB Mem: 32825776 total, 739148 free KiB Swap: 50331640 total, 50254840 free Timestamp of repository gentoo: Wed, 18 Jan 2023 15:45:01 +0000 Head commit of repository gentoo: 5babbba77e65af65f422b497b019b4b9fb385ba1 Timestamp of repository brave-overlay: Mon, 16 Jan 2023 21:17:22 +0000 Head commit of repository brave-overlay: 0e61a2d526183621ffcb84972c0432709f00e4f0 Timestamp of repository brother-overlay: Mon, 16 Jan 2023 21:17:19 +0000 Head commit of repository brother-overlay: 4f0ca27f1e4439db85c8222dfd7c88637782006b Timestamp of repository dlang: Fri, 13 Jan 2023 15:02:06 +0000 Head commit of repository dlang: 267fb0a3fab9d348f827be5f2039e52abb4c1745 Head commit of repository e16-overlay: 7eac764d0e52084d2e8d823552fc58d0514f8f48 Timestamp of repository haskell: Mon, 16 Jan 2023 20:32:11 +0000 Head commit of repository haskell: 2dd5143a69a421534adb97f73625ffce7038a959 Timestamp of repository linuxunderground-overlay: Sat, 14 Jan 2023 11:32:49 +0000 Head commit of repository linuxunderground-overlay: edc028d5c0b588efc0589f53c705dea3a313c07b Timestamp of repository palemoon: Tue, 03 Jan 2023 09:03:35 +0000 Head commit of repository palemoon: fed63a03502637f487db1edcbcd437dd9a59fe1b Timestamp of repository steam-overlay: Mon, 16 Jan 2023 21:17:17 +0000 Head commit of repository steam-overlay: 399dcc47ff5087990d25290ecd2f17a61704e41d Head commit of repository local: 8fc629d7ef45c2d10c03354d85c7a739f83386c4 sh bash 5.1_p16-r2 ld GNU ld (Gentoo 2.39 p5) 2.39.0 distcc 3.4 x86_64-pc-linux-gnu [enabled] ccache version 4.7.4 [disabled] app-misc/pax-utils: 1.3.5::gentoo app-shells/bash: 5.1_p16-r2::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.36.0-r1::gentoo dev-lang/python: 2.7.18_p16::gentoo, 3.10.9::gentoo, 3.11.1::gentoo dev-lang/rust: 1.66.1::gentoo dev-lang/rust-bin: 1.66.1::gentoo dev-util/ccache: 4.7.4::gentoo dev-util/cmake: 3.24.3::gentoo dev-util/meson: 0.64.1::gentoo sys-apps/baselayout: 2.9::gentoo sys-apps/openrc: 0.45.2-r2::gentoo sys-apps/sandbox: 2.29::gentoo sys-devel/autoconf: 2.13-r7::gentoo, 2.69-r8::gentoo, 2.71-r5::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.39-r4::gentoo sys-devel/binutils-config: 5.4.1::gentoo sys-devel/clang: 14.0.6-r1::gentoo, 15.0.6-r1::gentoo sys-devel/gcc: 11.3.1_p20221209::gentoo sys-devel/gcc-config: 2.8::gentoo sys-devel/libtool: 2.4.7::gentoo sys-devel/lld: 15.0.6::gentoo sys-devel/llvm: 14.0.6-r2::gentoo, 15.0.6-r1::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.15-r3::gentoo (virtual/os-headers) sys-libs/glibc: 2.36-r5::gentoo sys-libs/libselinux: 3.4::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://server.mcclung.systems/gentoo-portage priority: -1000 volatile: True sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: -4 sync-rsync-verify-max-age: 24 sync-rsync-verify-metamanifest: no brave-overlay location: /var/db/repos/brave-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/brave-overlay.git masters: gentoo volatile: True brother-overlay location: /var/db/repos/brother-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/brother-overlay.git masters: gentoo volatile: True dlang location: /var/db/repos/dlang sync-type: git sync-uri: https://github.com/gentoo-mirror/dlang.git masters: gentoo volatile: True e16-overlay location: /var/db/repos/e16-overlay sync-type: git sync-uri: https://raw.githubusercontent.com/mcclung/e16-overlay/master/repositories.xml masters: gentoo volatile: True haskell location: /var/db/repos/haskell sync-type: git sync-uri: https://github.com/gentoo-mirror/haskell.git masters: gentoo volatile: True linuxunderground-overlay location: /var/db/repos/linuxunderground-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/linuxunderground-overlay.git masters: gentoo volatile: True palemoon location: /var/db/repos/palemoon sync-type: git sync-uri: https://github.com/gentoo-mirror/palemoon.git masters: gentoo volatile: True steam-overlay location: /var/db/repos/steam-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/steam-overlay.git masters: gentoo volatile: True crossdev location: /usr/local/crossdev-overlay masters: gentoo priority: 50 volatile: True local location: /usr/local/portage sync-type: git sync-uri: http://github.com/mcclung/local-portage.git masters: gentoo priority: 50 volatile: True perl location: /usr/local/perl-overlay masters: gentoo priority: 50 volatile: True ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=haswell -mabm -maes --param l1-cache-line-size=64 --param l1-cache-size=32 --param l2-cache-size=8192 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/grs/systems.conf /etc/stunnel/stunnel.conf /etc/teamspeak3-server/ts3server.ini /etc/teamspeak3-server/ts3server_mariadb.ini /etc/teamspeak3-server/tsdns_settings.ini /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.8/conf /usr/share/themes/oxygen-gtk/gtk-2.0 /var/bind /var/lib/i2pd/certificates /var/spool/munin-async/.ssh" CONFIG_PROTECT_MASK="/etc/angband/gamedata/ /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.4/ext-active/ /etc/php/apache2-php8.0/ext-active/ /etc/php/apache2-php8.1/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cgi-php8.0/ext-active/ /etc/php/cgi-php8.1/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/php/cli-php8.0/ext-active/ /etc/php/cli-php8.1/ext-active/ /etc/php/fpm-php7.4/ext-active/ /etc/php/fpm-php8.0/ext-active/ /etc/php/fpm-php8.1/ext-active/ /etc/php/phpdbg-php7.4/ext-active/ /etc/php/phpdbg-php8.0/ext-active/ /etc/php/phpdbg-php8.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=haswell -mabm -maes --param l1-cache-line-size=64 --param l1-cache-size=32 --param l2-cache-size=8192 -pipe" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going --buildpkg --buildpkg-exclude 'virtual/* sys-kernel/*-sources */*-bin'" 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="-O2 -march=haswell -mabm -maes --param l1-cache-line-size=64 --param l1-cache-size=32 --param l2-cache-size=8192 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live cgroup compress-build-logs compressdebug config-protect-if-modified distcc distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict news notitles parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -march=haswell -mabm -maes --param l1-cache-line-size=64 --param l1-cache-size=32 --param l2-cache-size=8192 -pipe" GENTOO_MIRRORS="http://gentoo.mirrors.ovh.net/gentoo-distfiles/ http://www.mirrorservice.org/sites/distfiles.gentoo.org/ http://www.gtlib.gatech.edu/pub/gentoo https://gentoo.osuosl.org/ https://mirrors.rit.edu/gentoo/ http://gentoo-mirror.flux.utah.edu/ http://gentoo.gossamerhost.com https://mirror.csclub.uwaterloo.ca/gentoo-distfiles/" LANG="C" LC_ALL="C" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LEX="flex" LINGUAS="en" MAKEOPTS="-j16" 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="/tmp" SHELL="/bin/bash" USE="X Xaw3d acl alsa amd64 apache2 avx bash-completion bzip2 caps cdr cleartype cli crypt curl dbus dmx dri dvd elogind emacs fam ffmpeg fortran gdbm gif glut gme gtk gui guile hal iconv imlib iproute2 ipv6 jpeg jpeg2k kerberos ladspa lcd libass libedit libglvnd libnotify libtirpc logwatch lua lzma mad mp3 mpeg multilib ncurses nls nptl nptlonly nvidia ogg openal opencl openexr opengl openmp openrc pam pango pcre pdf perl png policykit profile python readline rpc rtmp sdl seccomp slang split-usr sse sse2 sse3 sse4 ssh ssl ssse3 static-libs svg systemtap tcl tcpd test-rust threads tiff tools truetype unicode unwind vdpau vhosts vim-syntax vnc vorbis vpx webm webp x265 xattr xcb xine xinerama xml xrandr xvfb xz zlib" ABI_X86="64 32" ADA_TARGET="gnat_2021" ALSA_CARDS="emu10k1 pcsp loopback" APACHE2_MODULES="access_compat actions alias asis auth_basic auth_digest authn_alias authn_anon authn_core authn_dbd authn_dbm authn_default authn_file authz_core authz_dbd authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cache_disk cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache dumpio env expires ext_filter file_cache filter headers http2 ident imagemap include info log_config log_forensic logio macro mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_fcgi proxy_ftp proxy_html proxy_http proxy_scgi proxy_wstunnel slotmem_shm ratelimit remoteip reqtimeout rewrite setenvif socache_shmcb speling status unique_id unixd userdir usertrack version vhost_alias xml2enc" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="aggregation apache apcups battery bind cgroups conntrack contextswitch cpu cpufreq cpusleep csv curl curl_json curl_xml dbi df disk dns email entropy ethstat exec fhcount filecount fscache hddtemp hugepages interface ipc iptables irq load logfile lvm match_hashed match_regex match_timediff match_value mbmon mcelog md memory mqtt mysql netlink network nfs notify_desktop notify_email ntpd openvpn perl ping postgresql processes protocols python rrdcached rrdtool sensors smart snmp swap syslog tail tail_csv target_notification target_replace target_scale target_set tcpconns thermal threshold tokyotyrant uptime users virt write_graphite write_http write_log write_tsdb" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="openssl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc efi-32 efi-64 emu" INPUT_DEVICES="evdev libinput" KERNEL="linux" L10N="en" LCD_DEVICES="cfontz glcd hd44780 mtxorb t6963 picolcd rawserial serialpos serialvfd text xosd rs232 displaylink framebuffer i2c" LIBREOFFICE_EXTENSIONS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher" LLVM_TARGETS="AArch64 AMDGPU ARM BPF Hexagon Lanai MSP430 Mips NVPTX PowerPC Sparc SystemZ X86 XCore WebAssembly RISCV ARC AVR CSKY VE" LUA_SINGLE_TARGET="lua5-4" LUA_TARGETS="lua5-1 lua5-3 lua5-4 luajit" OFFICE_IMPLEMENTATION="libreoffice" OPENMPI_FABRICS="sctp" PHP_TARGETS="php7-4 php8-0 php8-1" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10 python3_11" QEMU_SOFTMMU_TARGETS="alpha arm i386 m68k mips mips64 mips64el mipsel ppc64 s390x sparc sparc64 x86_64 aarch64 cris lm32 microblaze microblazeel moxie nios2 or1k ppc ppcemb sh4 sh4eb tricore unicore32 xtensa xtensaeb hppa riscv32 riscv64 avr rx loongarch64" QEMU_USER_TARGETS="alpha arm armeb i386 m68k mips mips64 mips64el mipsel mipsn32el ppc64 ppc64abi32 s390x sparc sparc32plus sparc64 x86_64 aarch64 cris hppa microblaze microblazeel mipsn32 nios2 or1k ppc ppc64le sh4 sh4eb tilegx aarch64_be riscv32 riscv64 xtensa xtensaeb loongarch64" RUBY_TARGETS="ruby27 ruby30" USERLAND="GNU" VIDEO_CARDS="nvidia nv nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat 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, LD, LFLAGS, LIBTOOL, 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
I've had a similar configuration fail now on 4 machines, 3 physical Core i7 boxes of various vintages and a KVM VM. After my system finishes updating today, I'll be running some further compiles to verify some assumptions. If there's any other data I can provide please let me know.
Your attached config has: # CONFIG_KERNEL_BZIP2 is not set Is this because you were testing and this is your config that works?
Yes, sorry that wasn't clear. I uploaded my current configuration, the previous one had: CONFIG_KERNEL_BZIP2=y and: # CONFIG_KERNEL_XZ is not set
Created attachment 849149 [details] Working bzip2 configuration with app-arch/bzip2 Performed another test. With the reference implementation of bzip2, and this kernel configuration I'm attaching, I was able to get 5.15.88 booted without issue. If I switch the bzip2 implementation to lbzip2, and recompile the kernel, the boot fails early. I have not yet tried pbzip2, but that may be my next test. I haven't yet compared the compressed data, or examined the kernel decompression routine to see if I can determine the cause.
Using pbzip2 as the default bzip2 also fails, although it may be even earlier in the boot process.