Resync with Debian's 1.139.1-1 version
[live-initramfs-grml.git] / scripts / live-bottom / 25configure_init
index 3c2f765..bb06eb5 100755 (executable)
@@ -28,65 +28,62 @@ log_begin_msg "Setting up init"
 
 # 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}
+                               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
-                                               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
+                                               ID="${ID1}${ID2}"
 
-                                       echo "${ID}:2345:respawn:/sbin/live-getty -L ${PORT} ${SPEED} vt100" >> /root/etc/inittab
-                               fi
-                       fi
+                                               if ! grep "^${ID}:" /etc/inittab
+                                               then
+                                                       #make sure it is not already in use
+                                                       break 2
+                                               fi
+                                       done
+                               done
 
-                       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
+                               echo "${ID}:2345:respawn:/sbin/live-getty -L ${PORT} ${SPEED} vt100" >> /root/etc/inittab
                        fi
+               fi
 
-                       if [ "/root/etc/event.d/tty*" != "$(echo /root/etc/event.d/tty*)" ]
-                       then
-                               for f in /root/etc/event.d/tty*
-                               do
-                                       sed -i -e "s|^respawn.*|respawn /bin/login -f ${USERNAME} </dev/$(basename ${f}) > /dev/$(basename ${f}) 2>\&1|" ${f}
-                               done
-                       fi
+               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
 
-               # Since we use autologin, lastlog doesn't make sense on the console.
-               sed -i '/^[^#].*pam_lastlog\.so/s/^/# /' /root/etc/pam.d/login
+               if [ "/root/etc/event.d/tty*" != "$(echo /root/etc/event.d/tty*)" ]
+               then
+                       for f in /root/etc/event.d/tty*
+                       do
+                               sed -i -e "s|^respawn.*|respawn /bin/login -f ${USERNAME} </dev/$(basename ${f}) > /dev/$(basename ${f}) 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