Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 291822

Summary: <=sys-kernel/genkernel-3.4.10.908: blkid of e2fsprogs 1.40.1 is too old to support btrfs
Product: Gentoo Hosted Projects Reporter: Danoz <danoz-gentoo>
Component: genkernelAssignee: Gentoo Genkernel Maintainers <genkernel>
Status: RESOLVED FIXED    
Severity: normal CC: ab4bd, bugs_gentoo_org.Tim_OKelly, lxnay, robbat2, sping, zmedico
Priority: High Keywords: InVCS
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 351772    

Description Danoz 2009-11-04 11:05:34 UTC
the supplied blkid (from e2fsprogs 1.40.1) is too old to have support for detecting filesystems formatted with btrfs. testing with a statically compiled version of blkid from e2fsprogs 1.41.1 correctly identifies the filesystem. update the version of e2fsprogs used by genkernel to correct this issue.

Reproducible: Always

Steps to Reproduce:
1. have rootfs on btrfs
2. have genkernel create ramdisk with --disklabel support
3. boot kernel using root=LABEL/UUID=


Actual Results:  
blkid fails to find filesystem with correct label/uuid

Expected Results:  
blkid id finds btrfs rootfs and continues to boot

Portage 2.2_rc48 (default/linux/x86/2008.0, gcc-4.4.2, glibc-2.10.1-r0, 2.6.31-14-generic i686)
=================================================================
System uname: Linux-2.6.31-14-generic-i686-Intel-R-_Atom-TM-_CPU_N280_@_1.66GHz-with-gentoo-2.1.6
Timestamp of tree: Tue, 03 Nov 2009 07:00:01 +0000
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.4
dev-python/pycrypto: 2.0.1-r8
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.1.6
sys-apps/openrc:     0.5.0-r2
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.19.1-r1, 2.20, 2.20.51.0.2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=core2 -mtune=generic -Os -pipe -fomit-frame-pointer -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -fforce-addr"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=core2 -mtune=generic -Os -pipe -fomit-frame-pointer -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -fforce-addr"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.daum.net/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_AU en_US"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/mozilla /usr/local/portage/layman/gnome /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acpi ads alac alsa autoipd avahi beagle berkdb bluetooth branding bzip2 cairo cdr cleartype cli consolekit cracklib daap dbus dhcpcd dri dts dvd dvdr dvdread encode exif faac faad fbcon fbcondecor ffmpeg firefox flac fuse gdbm gif gimp glibc-omitfp glitz gmp gpm grammar graphite gstreamer gtk hal hddtemp hpn iconv imagemagick injection ipod java jpeg lame laptop lcms ldap libnl libnotify lm_sensors mad madwifi math matroska mdnsresponder-compat mikmod mmx mmxext mng modules mono moonlight mp3 mpeg msn mtp mudflap multislot ncurses new-login nls nptl nptlonly nsplugin ntp ntpl ogg openal openexr opengl openmp optimisememory pam pcre pdf perl physfs png podcast policykit pppd ptw pulseaudio python qq qt qt3support qt4 raw readline reflection rtsp samba samba4 sdl session sound spectools spell spl sqlite sse sse2 sse3 ssl ssse3 startup-notification stream suid svg svga sysfs tcpd thesaurus thunar thunderbird tiff truetype unicode upnp v4l v4l2 vim-syntax vorbis wavpack webkit win32codecs x264 x86 xcomposite xml xorg xosd xv xvid xvmc zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_AU en_US" USERLAND="GNU" VIDEO_CARDS="intel fbdev" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Danoz 2009-11-04 11:07:38 UTC
should be e2fsprogs 1.40.9 and 1.41.9.
Comment 2 Zac Medico gentoo-dev 2010-04-24 21:07:20 UTC
There's support for the busybox findfs applet inside linuxrc, so if we update busybox (bug 310785) to a version that supports findfs then blkid is no longer needed. I've tested with findfs from busybox-1.16.0 and it was able to find a btrfs partition.
Comment 3 Fabio Erculiani (RETIRED) gentoo-dev 2010-05-22 10:25:38 UTC
@robbat2, what about growing VERSION_E2FSPROGS to 1.41.9 inside the ebuild?
findfs support could be added in a more relaxed way.
Let me know if you need any help with genkernel, I've been maintaining my custom version for years
Comment 4 Zac Medico gentoo-dev 2010-05-22 23:47:01 UTC
(In reply to comment #3)
> @robbat2, what about growing VERSION_E2FSPROGS to 1.41.9 inside the ebuild?

The last time I tried bumping the version I had to patch gen_compile.sh to remove the --with-ldopts=-static option and instead set LDFLAGS=-static (--with-ldopts option was no longer supported).
Comment 5 Fabio Erculiani (RETIRED) gentoo-dev 2010-05-23 06:46:08 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > @robbat2, what about growing VERSION_E2FSPROGS to 1.41.9 inside the ebuild?
> 
> The last time I tried bumping the version I had to patch gen_compile.sh to
> remove the --with-ldopts=-static option and instead set LDFLAGS=-static
> (--with-ldopts option was no longer supported).
> 

Just tried to bump VERSION_E2FSPROGS locally and built a new initramfs. blkid inside is still statically linked and correctly detects btrfs.
Comment 6 Zac Medico gentoo-dev 2010-05-23 07:28:56 UTC
(In reply to comment #5)
> Just tried to bump VERSION_E2FSPROGS locally and built a new initramfs. blkid
> inside is still statically linked and correctly detects btrfs.

Excellent, that means we can easily modify the genkernel ebuild and close this bug. I guess --with-ldopts was removed in a later version than 1.41.9.
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-05-23 08:03:46 UTC
lxnay:
do you have your genkernel changes in a local git repo somewhere that I can pull from?

genkernel was previously hosted on an external box, but with that box going away soon, I think I'm going to move the repo back to git.overlays.g.o.
Comment 8 Fabio Erculiani (RETIRED) gentoo-dev 2010-05-23 09:39:55 UTC
http://gitweb.sabayon.org/?p=overlay.git;a=tree;f=sys-kernel/genkernel;hb=HEAD

Patches explanation:
- genkernel-crypt-config.patch: include all necessary kernel mods to make cryptsetup working with every encryption type
- genkernel-3.4.11-aufs-slowusb.patch: add aufs support and remove duplicated sleep call when slowusb is enabled
- genkernel-3.4.11-partial-fix-to-console-arg.patch: make fbsplash happy by automatically converting console=/dev/tty1 into console=tty1
- genkernel-3.4.11-sdelay-compat.patch: on some hardware, sleeping 1 second to wait for CD is not enough. 3 seconds is much safer.
Comment 9 Sebastian Pipping gentoo-dev 2011-01-11 15:43:07 UTC
The experimental branch exposed by genkernel-99999 (five nines) now uses e2fsprogs 1.41.14.  Please report back how it works for you.

This patch is related:
http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commitdiff;h=dd18912193862212586ad73141f61829f70dbf3e

If I do not hear anything, I may close this bug in two weeks.
Comment 10 Andrei Senchuk 2011-06-16 10:55:55 UTC
I emerged genkernel-3.4.16 (it uses e2fsprogs-1.41.14) with ~x86 keyword and it works fine now.