When I trying to build an initrd with lvm2 and gensplash support, I get an error Reproducible: Always Steps to Reproduce: 1.genkernel --lvm2 --gensplash=emergence initrd I also tried with: 2.genkernel --lvm2 --gensplash=emergence --kernel-config=/boot/config --no-save-config --xconfig all Actual Results: * Gentoo Linux Genkernel; Version 3.3.6 * Running with options: --lvm2 --gensplash=emergence initrd * Linux Kernel 2.6.14-gentoo-r4 for x86... * module-init-tools: >> Configuring * ERROR: Configure of module-init-tools failed! * -- Grepping log... -- * module-init-tools: >> Configuring /usr/share/genkernel/gen_compile.sh: ./configure: /bin/sh: bad interpreter: Permission denied * Gentoo Linux Genkernel; Version 3.3.6 * Running with options: --lvm2 --gensplash=emergence initrd * ERROR: Configure of module-init-tools failed! * -- End log... -- Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r2, 2.6.14-gen too-r4 i686) ================================================================= System uname: 2.6.14-gentoo-r4 i686 AMD Athlon(tm) XP 2000+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5-r2, 2.4.2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.8.1-r1, 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -momit-leaf-frame-pointer -fprefetch-loop-arrays -ftrace r -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/conf ig /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shut down /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvip dfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/ share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -momit-leaf-frame-pointer -fprefetch-loop-arrays -ftra cer -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig candy distlocks nodoc noinfo sandbox sfperms strict" GENTOO_MIRRORS="http://linuv.uv.es/mirror/gentoo/ http://pandemonium.tiscali.de/pub/g entoo/ ftp://mirror.switch.ch/mirror/gentoo/ ftp://gentoo.inode.at/source/ http://ftp .ntua.gr/pub/linux/gentoo/" LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s" LINGUAS="es" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow X a52 aac alsa apm audiofile avi berkdb bitmap-fonts bzip2 cddb cdpara noia cdr crypt cups curl divx4linux dts dv dvb dvd dvdread emboss encode exif expat f aad fam ffmpeg flac foomaticdb fpx glut gmp gnutls gphoto2 gpm gstreamer gtk gtk2 hal idn imagemagick imlib ipv6 jikes jpeg jpeg2k junit kdexdeltas lcms libwww mad matros ka mhash mikmod mmx mng mp3 mpeg ncurses nls nptl ogg oggvorbis opengl pam pcre pic p ng ppds python quicktime readline socks5 speex spell sql sqlite sse ssl svg tcpd test tetex theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb vidix vorbis xanim xine xml xml2 xmms xprint xv xvid zlib linguas_es userland_GNU kernel_l inux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, MAKEOPTS
/usr/share/genkernel/gen_compile.sh: ./configure: /bin/sh: bad interpreter: Permission denied This totally looks like a local problem. Have you ensured that /bin/sh is a valid interpreter *and* executable by your user?
This isn't a local problem # ls -lF /bin/sh lrwxrwxrwx 1 root root 4 Jul 6 11:26 /bin/sh -> bash* # ls -lF /bin/bash -rwxr-xr-x 1 root root 697784 Jul 6 11:26 /bin/bash*
Want to run an strace on it and see where the ENOPERM kicks in?
# strace -o /tmp/output.log genkernel --lvm2 --gensplash=emergence initrd # grep -i 'ENOPERM' /tmp/output.log It does not show nothing, but: # grep -i 'ENOENT' /tmp/output.log access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) stat64("/var/tmp/genkernel/13762.27314.6066.10870", 0xbf947c50) = -1 ENOENT (No such file or directory) stat64("/usr/share/genkernel/pkg/x86/insmod-x86-static-2.6.bz2", 0xbf947760) = -1 ENOENT (No such file or directory) Does genkernel needs that file? If it is so, it is not installed by genkernel ebuild.
The ENOENTs aren't a problem, that's just tests genkernel does (which fail) so genkernel ends up doing something else. Try the -f flag with strace, looks like configure is failing and not genkernel.
I tried 'strace' with -f flag but it does not show nothing. # strace -f -o /tmp/output.log genkernel --lvm2 --gensplash=emergence initrd # grep -i 'ENOPERM' /tmp/output.log
I give you an idea. My /usr partition is separate from / . Although /usr is mounted correctly: /dev/mapper/sys-usr on /usr type reiser4 (rw,nodev,noatime) You could test it into those separated partitions for to see if you get the same bug.
What filesystems are you using for your other partitions?
I'm using reiser and reiser4 /dev/hda3 on / type reiserfs (rw,noatime) /dev/mapper/sys-usr on /usr type reiser4 (rw,nodev,noatime) /dev/mapper/sys-usr_por on /usr/portage type reiser4 (rw,noexec,nosuid,nodev,noatime) /dev/mapper/sys-var on /var type reiser4 (rw,noexec,nosuid,nodev,noatime) /dev/mapper/sys-var_por on /var/tmp/portage type reiser4 (rw,nosuid,nodev,noatime) /dev/mapper/sys-tmp on /tmp type reiser4 (rw,noexec,nosuid,nodev,noatime) /dev/mapper/sys-home on /home type reiserfs (rw,nosuid,nodev,noatime)
Try making a small loopback ext2 partition and mounting it on /var/tmp/genkernel...
Well, solved it in the end! I's a reiser4 filesystem problem. dd if=/dev/zero of=/root/portage.ext2 bs=1M count=32 mkfs.ext2 /root/portage.ext2 mount -t ext2 -o loop /root/portage.ext2 /var/tmp/genkernel/ genkernel --lvm2 --gensplash=emergence initrd umount /var/tmp/genkernel rm $file
Confirmed! I was a reiser4 bug Now, all my partitions are ext3 except /tmp and /var/tmp that are tmpfs