genkernel uses the hardcoded path to /sbin/init instead of the 'real_init' kernel parameter while checking the mounted root partition. The caused the mount. genkernel should use the real_init option instead of the hard coded path. Reproducible: Always Steps to Reproduce: 1. Rename /sbin/init to /sbin/init_ouch 2. Append kernel option real_init=/sbin/init_ouch 3. Reeboot Actual Results: genkernel says "The filesystem mounted at ${REAL_ROOT} does not appear to be a valid /, try again" Expected Results: Continue booting after mounting the filesystem.
Created attachment 325598 [details, diff] patch Patch to use rel_init kernel parameter instead of hard coded path during root check.
Thanks for the patch. If I am not mistaken, we cannot rely on Bash features here but on POSIX shell, only.
The same syntax is used later in the script, too. I've just copied it... I'm not an bash expert, but as far as I can see, there are some more parts of the script which are not POSIX compatible.
Fair enough. Patch applied to master: http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commitdiff;h=d89f3d59e8e0ee31b228d28888b302031838a672
+*genkernel-3.4.43 (03 Oct 2012) + + 03 Oct 2012; Sebastian Pipping <sping@gentoo.org> +genkernel-3.4.43.ebuild: + Bump to 3.4.43 +
Thank you.