Checkfs and localmount always run before crypto-loop, no matter what dependency flags are set. I've tried need, use, before, and after in localmount, checkfs, and crypto-loop to reorder the scripts. The order and dependencies are correct in /var/lib/init.d/deptree, but do not start in that order. This prevents the mounting of encrypted filesystems on boot or the using of encrypted swap. It appears to be a symptom of a more major problem with the init script system. Reproducible: Always Steps to Reproduce: 1. Edit /etc/init.d/crypto-loop and add "before checkfs localmount" 2. Run "rc-update add crypto-loop boot" 3. Examine /var/lib/init.d/deptree to see that the dependencies appear correct. 4. Reboot and examine the order of the init scripts. Actual Results: crypto-loop is the last script to run. It runs after checkfs and localmount. Expected Results: crypto-loop should run before both checkfs and localmount. I am using sys-apps/baselayout version 1.8.6.8-r1 Portage 2.0.49-r3 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1, 2.4.22) ================================================================= System uname: 2.4.22 i686 AMD Athlon(tm) Processor ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg gnome libg++ mad mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb alsa gdbm berkdb slang readline tetex svga ggi tcltk java X sdl gpm tcpd pam libwww ssl perl python imlib oggvorbis gtk qt motif opengl mozilla gphoto2 apache2 curl dga dvd ethereal faad fbcon flash gb gd gps imap matroska matrox offensive pda ppds samba scanner sse tiff transcode usb v4l wmf xaw3d xinerama xosd xvid -arts -kde -esd"
did you run `depscan.sh` after updating the dependencies ?
Yes, I ran depscan.sh. rc-update runs it automatically but I also tried it manually. Once it has been run the /var/lib/init.d/deptree file gets updated and appears correct. But it still doesn't start in the right order.
Its an 'feature' if you want to call it that. The proper way is: # echo "checkroot hostname modules checkfs crypto-loop localmount" > /etc/runlevels/boot/.critical