Adding debian version 2.0~a1-1.
[live-boot-grml.git] / scripts / live-bottom / 19keyboard
index d43e329..5a262fa 100755 (executable)
 #!/bin/sh
 
-PREREQ=""
-DESCRIPTION="Setting up console keyboard..."
+#set -e
 
-. /scripts/live-functions
+# initramfs-tools header
+
+PREREQ=""
 
 prereqs()
 {
-       echo "$PREREQ"
+       echo "${PREREQ}"
 }
 
-case $1 in
-# get pre-requisites
-prereqs)
-       prereqs
-       exit 0
-       ;;
+case "${1}" in
+       prereqs)
+               prereqs
+               exit 0
+               ;;
 esac
 
-log_begin_msg "$DESCRIPTION"
+# live-boot header
 
-kbd=us
+if [ -n "${NOCONSOLEKEYBOARD}" ]
+then
+       exit 0
+fi
+
+. /scripts/live-functions
+
+log_begin_msg "Setting up console keyboard"
+
+# live-boot script
+
+kbd=
 cslayout=
 csvariant=
 csmodel=
 
-for x in $(cat /proc/cmdline); do
-        case $x in
-                kbd-chooser/method=*)
-                        kbd=${x#kbd-chooser/method=}
-                        ;;
-                console-setup/layoutcode=*)
-                        cslayout=${x#console-setup/layoutcode=}
-                        ;;
-                console-setup/variantcode=*)
-                        csvariant=${x#console-setup/variantcode=}
-                        ;;
-                console-setup/modelcode=*)
-                        csmodel=${x#console-setup/modelcode=}
-                        ;;
-        esac
-done
-
-if [ -x /root/bin/setupcon ] && [ -f /root/etc/default/console-setup ]; then
-        if [ "$cslayout" ]; then
-                chroot /root sed -i "s/^XKBLAYOUT=.*/XKBLAYOUT=\"$cslayout\"/" \
-                        /etc/default/console-setup
-                if [ "$csvariant" ]; then
-                        chroot /root sed -i "s/^XKBVARIANT=.*/XKBVARIANT=\"$csvariant\"/" \
-                                /etc/default/console-setup
-                else
-                        live-preseed /root console-setup/variantcode '' false
-                fi
-                if [ "$csmodel" ]; then
-                        chroot /root sed -i "s/^XKBMODEL=.*/XKBMODEL=\"$csmodel\"/" \
-                                /etc/default/console-setup
-                else
-                        live-preseed /root console-setup/modelcode '' false
-                fi
-        else
-                live-preseed /root console-setup/layoutcode '' false
-                live-preseed /root console-setup/variantcode '' false
-                live-preseed /root console-setup/modelcode '' false
-        fi
+# commandline
+if [ -n "${KBD}" ]
+then
+       kbd="${KBD}"
 else
-        chroot /root /usr/sbin/install-keymap $kbd
-        live-preseed /root debian-installer/keymap "$kbd"
+       kbd=us
+fi
+
+really_export kbd
+
+if [ -n "${KLAYOUT}" ]
+then
+       cslayout="${KLAYOUT}"
 fi
+
+if [ -n "${KVARIANT}" ]
+then
+       csvariant="${KVARIANT}"
+fi
+
+if [ -n "${KMODEL}" ]
+then
+       csmodel="${KMODEL}"
+fi
+
+if [ -x /root/bin/setupcon ]
+then
+       if [ -f /root/etc/default/keyboard ]
+       then
+               # squeeze
+               KEYBOARD_FILE="/etc/default/keyboard"
+       elif [ -f /root/etc/default/console-setup ]
+       then
+               # lenny
+               KEYBOARD_FILE="/etc/default/console-setup"
+       fi
+
+       if [ -n "/root${KEYBOARD_FILE}" ]
+       then
+               if [ "${cslayout}" ]
+               then
+                       chroot /root sed -i "s/^XKBLAYOUT=.*/XKBLAYOUT=\"${cslayout}\"/" \
+                       ${KEYBOARD_FILE}
+
+                       if [ "${csvariant}" ]
+                       then
+                               chroot /root sed -i "s/^XKBVARIANT=.*/XKBVARIANT=\"${csvariant}\"/" \
+                               ${KEYBOARD_FILE}
+                       else
+                               live-preseed /root console-setup/variantcode '' false
+                       fi
+
+                       if [ "${csmodel}" ]
+                       then
+                               chroot /root sed -i "s/^XKBMODEL=.*/XKBMODEL=\"${csmodel}\"/" \
+                               ${KEYBOARD_FILE}
+                       else
+                               live-preseed /root console-setup/modelcode '' false
+                       fi
+               else
+                       live-preseed /root console-setup/layoutcode '' false
+                       live-preseed /root console-setup/variantcode '' false
+                       live-preseed /root console-setup/modelcode '' false
+               fi
+
+               live-preseed /root console-setup/optionscode '' false
+               live-preseed /root console-setup/codesetcode '' false
+
+               if [ -f /root/etc/init.d/usplash ]
+               then
+                       sed -i 's/CONSOLE_SCREEN=$/CONSOLE_SCREEN=setupcon/; t END; b; : END; n; b END' /root/etc/init.d/usplash
+               elif [ -f /root/etc/init/usplash.conf ]
+               then
+                       sed -i '/^post-stop script/a\
+    setupcon' /root/etc/init/usplash.conf
+               fi
+       fi
+elif [ -e /root/usr/sbin/install-keymap ]
+then
+       chroot /root /usr/sbin/install-keymap ${kbd}
+       live-preseed /root debian-installer/keymap "${kbd}"
+       live-preseed /root kbd-chooser/method "${kbd}"
+fi
+
 log_end_msg