The bundled blkid utility from e2fsprogs-1.41.14 (latest) doesn't support detection of nilfs2 and therefore no UUID or disklabel. busybox-1.19.0's blkid utility doesn't support nilfs2 either. The blkid utility from util-linux-2.19.1 detects nilfs2 and correctly outputs both UUID and disklabel. Would it be difficult to switch bundled blkid to the one from util-linux, so genkernel --disklabel would work on nilfs2 root? Is there a temporary workaround? Can I statically compile util-linux and copy blkid into initramfs? --initramfs-overlay= ? Reproducible: Always Steps to Reproduce: 1. mkfs.nilfs2 / 2. run genkernel with --disklabel 3. boot with real_root=LABEL=some_label Actual Results: Genkernel's initramfs init script stop and ask for a root device. Expected Results: Resolve root device from real_root=LABEL=, mount, and handover to real init.
(In reply to comment #0) > Would it be difficult to switch bundled blkid to the one from util-linux, so > genkernel --disklabel would work on nilfs2 root? It would require some effort. It's hard to measure in hours. > Is there a temporary workaround? Can I statically compile util-linux and copy > blkid into initramfs? --initramfs-overlay= ? That could work, yes.
Just thought I'd post the workaround if anyone else should need it: 1. Unpack the util-linux(-2.20.1 confirmed) package which probably lies in your /usr/portage/distfiles to somewhere. 2. Go to the directory unpacked. 3. Enter these commands: # LDFLAGS="-s" ./configure --enable-static-programs=blkid # make # mkdir -p /root/initramfs-overlay/sbin/ # cp misc-utils/blkid.static /root/initramfs-overlay/sbin/blkid # genkernel --initramfs-overlay=/root/initramfs-overlay --install all NOTE! Do *NOT* enable the --disklabel parameter (or DISKLABEL= in genkernel.conf). PS! This new static blkid enlarges the initrd by ~200kb compared to the genkernel-bundled. Hope this can be of help to someone :)
I have just released genkernel 3.4.33 which uses blkid from /sbin/blkid, i.e. system version from util-linux. http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commitdiff;h=5153192ca2109768336dfa5f891ec6f73e29001a
(In reply to comment #3) > I have just released genkernel 3.4.33 which uses blkid from /sbin/blkid, > i.e. system version from util-linux. > > http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commitdiff; > h=5153192ca2109768336dfa5f891ec6f73e29001a Thank you for taking your time to try to solve this. Would that work, though? My /sbin/blkid from the sys-apps/util-linux package is compiled dynamically by default, and depends on libs not found in genkernel's initrd.
(In reply to comment #4) > Would that work, though? My /sbin/blkid from the sys-apps/util-linux package > is compiled dynamically by default, and depends on libs not found in > genkernel's initrd. We have a new function inside that recursively copies all library dependencies.
+*genkernel-3.4.34 (04 Jun 2012) + + 04 Jun 2012; Sebastian Pipping <sping@gentoo.org> +genkernel-3.4.34.ebuild: + Bump to 3.4.34 +