The /sbin/livecd-functions.sh script that's part of the livecd-tools doesn't set the RC_NO_UMOUNTS variable that /etc/init.d/halt.sh uses. This causes fuser to attempt killing all the processes that reference /mnt/livecd. The result is that INIT pretty much stops in it tracks. Reproducible: Always Steps to Reproduce: 1. Build a LiveCD per http://gentoo-wiki.com/HOWTO_build_a_LiveCD_from_scratch 2. Be sure to include livecd-tools and psmisc. 3. Boot into the CD, login, and start a shutdown. Actual Results: INIT will stop at: * Unmounting loopback filesystems * Failed to unmount filesystems Could not kill process 14375: No such process INIT: no more processes left in this runlevel Expected Results: For the system to either halt or reboot.
Looks like this has been fixed: http://sources.gentoo.org/viewcvs.py/livecd-tools/trunk/livecd-functions.sh?rev=127&view=markup