Adding debian version 2.0~a1-1.
[live-boot-grml.git] / scripts / live-bottom / 20xconfig
index 93c8722..abd9661 100755 (executable)
 #!/bin/sh
 
-PREREQ=""
-DESCRIPTION="Configuring X..."
+#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
 
-if [ "$TERM_TYPE" = "serial" ]; then
-    # Don't bother trying to configure or start X on a serial console
-    rm -f /etc/rc?.d/S??[gxk]dm
-    exit 0
+if [ -n "${NOXAUTOCONFIG}" ]
+then
+       exit 0
 fi
 
-locale=en_US.UTF-8
-
-for x in $(cat /proc/cmdline); do
-                case $x in
-                        debian-installer/locale=*)
-                                locale=${x#debian-installer/locale=}
-                                ;;
-                        locale=*)
-                                locale=${x#locale=}
-                                ;;
-                esac
-done
-
-mount -n -o bind /sys /root/sys
-mount -n -o bind /proc /root/proc
-mount -n -o bind /dev /root/dev
-
-if [ -n "${XDEBCONF}" -a -x /root/usr/sbin/xdebconfigurator ]; then
-    # xdebconfigurator
-    chroot /root /usr/sbin/xdebconfigurator
+. /scripts/live-functions
+
+# live-boot script
+
+if [ -n "${TEXTONLY}" ]
+then
+       exit 0
 fi
 
-chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null <<EOF
-set xserver-xorg/autodetect_keyboard true
-fset xserver-xorg/autodetect_keyboard seen true
+if [ ! -x /root/usr/bin/X ]
+then
+       exit 0
+fi
+
+log_begin_msg "Configuring X"
+
+if ! grep -q xforcevesa /proc/cmdline 2>&1 >/dev/null
+then
+       if [ "${TERM_TYPE}" = "serial" ]
+       then
+               # Don't bother trying to configure or start X on a serial
+               # console
+               rm -f /root/etc/rc?.d/S??[gkx]dm
+               exit 0
+       fi
+
+       locale=en_US.UTF-8
+
+       mount -o bind /sys /root/sys
+       mount -o bind /proc /root/proc
+       mount -o bind /dev /root/dev
+
+       if [ -n "${XDEBCONF}" -a -x /root/usr/sbin/xdebconfigurator ]
+       then
+               # xdebconfigurator
+               chroot /root /usr/sbin/xdebconfigurator
+       fi
+
+       if [ -n "${KOPTIONS}" ]
+       then
+               setoptions="set xserver-xorg/config/inputdevice/keyboard/options ${KOPTIONS}"
+       fi
+
+       if [ -n "${KVARIANT}" ]
+       then
+               setvariant="set xserver-xorg/config/inputdevice/keyboard/variant ${KVARIANT}"
+       fi
+
+       if [ -n "${KMODEL}" ]
+       then
+               setmodel="set xserver-xorg/config/inputdevice/keyboard/model ${KMODEL}"
+       fi
+
+       if [ -n "${KLAYOUT}" ]
+       then
+               setlayout="set xserver-xorg/config/inputdevice/keyboard/layout ${KLAYOUT}"
+       fi
+
+chroot /root debconf-communicate -fnoninteractive live-boot > /dev/null << EOF
+${setlayout}
+${setvariant}
+${setmodel}
+${setoptions}
+EOF
+
+       live-reconfigure /root xserver-xorg 2>&1 \
+               | grep -v "overwriting possibly-customised configuration" \
+               | grep -v "file; backup in /etc/X11/xorg.conf"
+
+       umount /root/sys
+       umount /root/proc
+       umount /root/dev
+else
+
+cat > /root/etc/X11/xorg.conf << EOF
+Section "Device"
+       Identifier      "Configured Video Device"
+       Driver          "vesa"
+EndSection
+
+Section "Monitor"
+       Identifier      "Configured Monitor"
+EndSection
+
+Section "Screen"
+       Identifier      "Default Screen"
+       Monitor         "Configured Monitor"
+       Device          "Configured Video Device"
+EndSection
 EOF
 
-DEBUG_XORG_PACKAGE=1 DEBUG_XORG_DEBCONF=1 LANG=$(grep "^${locale}" /root/usr/share/i18n/SUPPORTED | grep UTF-8 | sed -e 's, .*,,' -e q) live-reconfigure /root xserver-xorg
-umount /root/sys
-umount /root/proc
-umount /root/dev
+fi
 
 log_end_msg