sys-apps/baselayout-1.9.4-r6 /sbin/rc contains: # If booting off CD, we want to update inittab before setting the runlevel if [ -f "/sbin/livecd-functions.sh" -a -n "${CDBOOT}" ] then ebegin "Updating inittab" livecd_fix_inittab eend $? /sbin/telinit q &>/dev/null fi but livecdfs-update.sh in catalyst already does: # Comment out current getty settings sed -i -e '/^c[0-9]/ s/^/#/' /etc/inittab # Add our own getty settings for x in 1 2 3 4 5 6 do echo "c${x}:12345:respawn:/sbin/agetty -nl /bin/bashlogin 38400 tty${x} linux" >> /etc/inittab done These inittab settings from catalyst get wiped on bootup by the code from /sbin/rc above! Catalyst should be able to master inittab settings which actually get used.
livecd advises on the livecd cruft
Catalyst is doing this as a backup measure since some machines boot faster than it takes for inittab to update, leaving a system with a scrambled root password and a login prompt. Basically, this is here for a reason and won't be removed/modified. Also, catalyst does not do serial consoles, only the virtual consoles, so it is still needed. I will be modifying this to remove some of the redundancy, but not all of it, which is why I'm still keeping this WONTFIX.
Non-deterministic behaviour doesn't sound good, can't it be solved with a sync or SIGHUP to init, so we know for sure which inittab is being used? And can livecd_fix_inittab check for a DONT_TOUCH inside inittab before it runs? I'm sure I'm not the only one who wants to use their own inittab in catalyst.