#!/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-initramfs 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-initramfs 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-initramfs > /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