cryptsetup-luks installs the executable in /bin but the libraries in /usr/lib. dm-crypt-start is called before partitions are mounted, so if /usr is on a separate partition then cryptsetup is uncable to load the libraries. Copying the libraries to /lib allows dm-crypt-start to run successfully. Maybe these libraries, which are needed at boot time should be installed into /lib rather than /usr/lib Reproducible: Always Steps to Reproduce: 1. Have /usr on a different partition than / 2. setup /etc/conf.d/cryptfs 3. Reboot Actual Results: cryptsetup fails because it is unable to load shared libraries Expected Results: cryptsetup to run without error and setup mappings for encrypted partition(s) emerge --info Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-gentoo i686) ================================================================= System uname: 2.6.13-gentoo i686 Intel(R) Pentium(R) 4 CPU 3.20GHz Gentoo Base System version 1.12.0_pre8 dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=nocona -pipe -fstack-protector -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-O2 -march=nocona -pipe -fstack-protector -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://ftp.du.se/pub/os/gentoo http://ftp.romnet.org/gentoo/ http://mirror.uni-c.dk/pub/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/" LANG="en_GB.UTF-8" LC_ALL="en_GB.UTF-8" LINGUAS="en_GB" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x86 X a52 aac aalib acl acpi aim alsa apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts bonobo browserplugin bzip2 bzlib caps cdparanoia cdr cjk crypt cups curl doc dts dvd dvdr eds emacs emboss encode esd ethereal examples exif expat fam fbcon ffmpeg flac foomaticdb fortran gcj gd gdbm gif glut gmp gnome gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile iconv icq ieee1394 imagemagick imlib ipv6 jabber jack java javascript jce jpeg junit kde lcms leim libg++ libwww lm_sensors logrotate mad mbox mikmod milter mime mmap mmx mng motif mozilla mp3 mpeg mpi msn ncurses nls nptl offensive ogg oggvorbis opengl oscar oss pam pcntl pcre pdflib perl png postgres profile python qt quicktime readline recode sdl sharedmem slang sndfile snmp sockets sox speex spell sse ssl svg sysvipc tcltk tcpd tetex theora threads tiff truetype truetype-fonts type1-fonts unicode usb v4l vhosts vorbis win32codecs wmf xface xine xml xml2 xmms xv xvid yahoo zlib linguas_en_GB userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS
I have a warning in the ebuild that if you are using cryptsetup-luks for such a purpose then you should have your USE=static. This will solve your problems.