summaryrefslogtreecommitdiff
path: root/scripts/live-bottom/20xconfig
blob: e2839b21bfcad497df69d671f0b3ea5543a24454 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/sh

#set -e

# initramfs-tools header

PREREQ=""

prereqs()
{
	echo "${PREREQ}"
}

case "${1}" in
	prereqs)
		prereqs
		exit 0
		;;
esac

# live-initramfs header

if [ -n "${NOXAUTOCONFIG}" ]
then
	exit 0
fi

. /scripts/live-functions

# live-initramfs script

if [ -n "${TEXTONLY}" ]
then
	exit 0
fi

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

fi

log_end_msg