Adding debian version 2.0~a1-1.
[live-boot-grml.git] / scripts / live-bottom / 25configure_init
index bec5608..a84eb75 100755 (executable)
@@ -18,110 +18,87 @@ case "${1}" in
                ;;
 esac
 
-# live-initramfs header
+# live-boot header
 
 . /scripts/live-functions
 
-log_begin_msg "Setting up init..."
+log_begin_msg "Setting up init"
 
-# live-initramfs script
+# live-boot script
 
 # Arrange for shells on virtual consoles, rather than login prompts
 
-if [ -z "${NOAUTOLOGIN}" ]
+if [ -z "${NOAUTOLOGIN}" ] && [ -n "${USERNAME}" ]
 then
-       if [ -n "${USERNAME}" ]
+       if [ ! -z "${LIVE_GETTY}" ]
        then
-               if [ ! -z "${LIVE_GETTY}" ]
+               if echo "${DEFCONSOLE}" | grep -qs ttyS
                then
-                       if echo "${DEFCONSOLE}" | grep -qs ttyS
+                       # AUTOMATIC SERIAL CONSOLE #
+                       PORT=$(echo "${DEFCONSOLE}" | \
+                               sed -e 's%,.*%%')
+                       SPEED=$(echo "${DEFCONSOLE}" | \
+                               sed -e 's%ttyS[0-9]\+,%%' \
+                               -e's%\([0-9]\+\).*%\1%')
+
+                       if ! ( sed -n -e'/^[^#]/p' /root/etc/inittab | grep -qs ":respawn:/sbin/getty.*${PORT}" )
                        then
-                               # AUTOMATIC SERIAL CONSOLE #
-                               PORT=$(echo "${DEFCONSOLE}" | \
-                                       sed -e 's%,.*%%')
-                               SPEED=$(echo "${DEFCONSOLE}" | \
-                                       sed -e 's%ttyS[0-9]\+,%%' \
-                                       -e's%\([0-9]\+\).*%\1%')
-
-                               if ! ( sed -n -e'/^[^#]/p' /root/etc/inittab | grep -qs ":respawn:/sbin/getty.*${PORT}" )
-                               then
-                                       IDs="A B C D E F G H I J K L M N O P Q R S T Q U V V X Y Z 0 1 2 3 4 5 6 7 8 9"
-
-                                       for ID1 in ${IDs}
-                                       do
-                                               for ID2 in ${IDs}
-                                               do
-                                                       ID="${ID1}${ID2}"
-
-                                                       if ! grep "^${ID}:" /etc/inittab
-                                                       then
-                                                               #make sure it is not already in use
-                                                               break 2
-                                                       fi
-                                               done
-                                       done
-
-                                       echo "${ID}:2345:respawn:/sbin/live-getty -L ${PORT} ${SPEED} vt100" >> /root/etc/inittab
-                               fi
-                       fi
+                               IDs="A B C D E F G H I J K L M N O P Q R S T Q U V V X Y Z 0 1 2 3 4 5 6 7 8 9"
 
-                       if [ -f /root/etc/inittab ]
-                       then
-                               sed -i -e'/^[^#]/s%respawn:/sbin/getty%respawn:/sbin/live-getty%' /root/etc/inittab
-                       fi
-               else
-                       if [ -f /root/etc/inittab ]
-                       then
-                               sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(tty[0-9]*\).*$|\1:/bin/login -f ${USERNAME} </dev/\2 >/dev/\2 2>\&1|" /root/etc/inittab
-                       fi
-
-                       if [ "/root/etc/event.d/tty*" != "$(echo /root/etc/event.d/tty*)" ]
-                       then
-                               for f in /root/etc/event.d/tty*
+                               for ID1 in ${IDs}
                                do
-                                       sed -i -e "s|^respawn.*|respawn /bin/login -f ${USERNAME} </dev/$(basename ${f}) > /dev/$(basename ${f}) 2>\&1|" ${f}
-                               done
-
-                               if [ "${BUILD_SYSTEM}" = "Ubuntu" ]
-                               then
-                                       for x in $(cat /proc/cmdline)
+                                       for ID2 in ${IDs}
                                        do
-                                               case ${x} in
-                                                       noninteractive)
-                                                               sed -i -e "s|^exec.*|exec /usr/bin/ubiquity noninteractive </dev/tty1 > /dev/tty1 2>\&1|" /root/etc/event.d/tty1
-                                                               rm -f /root/etc/rc?.d/[SK]??[gkx]dm
-                                                               ;;
-
-                                                       textonly)
-                                                               rm -f /root/etc/rc?.d/[SK]??[gkx]dm
-                                                               ;;
-                                               esac
+                                               ID="${ID1}${ID2}"
+
+                                               if ! grep "^${ID}:" /etc/inittab
+                                               then
+                                                       #make sure it is not already in use
+                                                       break 2
+                                               fi
                                        done
-                               fi
+                               done
+
+                               echo "${ID}:2345:respawn:/sbin/live-getty -L ${PORT} ${SPEED} vt100" >> /root/etc/inittab
                        fi
                fi
 
-               # Since we use autologin, lastlog doesn't make sense on the console.
-               sed -i '/^[^#].*pam_lastlog\.so/s/^/# /' /root/etc/pam.d/login
+               if [ -f /root/etc/inittab ]
+               then
+                       sed -i -e'/^[^#]/s%respawn:/sbin/getty%respawn:/sbin/live-getty%' /root/etc/inittab
+               fi
+       else
+               if [ -f /root/etc/inittab ]
+               then
+                       sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(tty[0-9]*\).*$|\1:/bin/login -f ${USERNAME} </dev/\2 >/dev/\2 2>\&1|" /root/etc/inittab
+               fi
+
+               if [ "/root/etc/init/tty*" != "$(echo /root/etc/init/tty*)" ]
+               then
+                       for f in /root/etc/init/tty*
+                       do
+                               sed -i -e "s|^exec.*|exec /bin/login -f $USERNAME </dev/$(basename $f .conf) > /dev/$(basename $f .conf) 2>\&1|" $f
+                       done
+               fi
        fi
+
+       # Since we use autologin, lastlog doesn't make sense on the console.
+       sed -i '/^[^#].*pam_lastlog\.so/s/^/# /' /root/etc/pam.d/login
 fi
 
 # do not try to remove files if using file-rc
-if [ -d /etc/rc0.d ]
+if [ -d /root/etc/rc0.d ]
 then
        # This has the nice side effect of the cron.{daily,weekly,monthly} jobs in
        # /etc/crontab remaining disabled, yet also not run by anacron
        if [ -x /root/usr/sbin/anacron ]
        then
                chroot /root dpkg-divert --add --rename --quiet /usr/sbin/anacron
-               ln -s /bin/true /usr/sbin/anacron
+               ln -s /bin/true /root/usr/sbin/anacron
        fi
 
-       # No point, really
-       rm -f /root/etc/rc?.d/[SK]??postfix
-
        # Avoid clobbering the user's clock
-       rm -f /root/etc/rc?.d/K??hwclock.sh
+       rm -f /root/etc/rc?.d/K??hwclock.sh /root/etc/init/hwclock-save.conf
 fi
 
 # Disable readahead since it doesn't play well with squashfs + unionfs
@@ -131,6 +108,11 @@ then
        chmod -x /root/sbin/readahead-list
 fi
 
+# Disable ureadahead too since we don't ship a pack file for it anyway, so
+# all we'll end up doing is profiling the live CD boot. ureadahead also
+# breaks partman occasionally by reading from its synchronisation FIFOs.
+rm -f /root/etc/init/ureadahead.conf
+
 log_end_msg
 
 exit 0