local pattern=$3
modprobe -Qb "$module"
- udevplug -W
+ udevsettle
for loopdev in $pattern; do
if [ "$(cat $loopdev/size)" -eq 0 ]; then
rootmnt="$2"
modprobe -Qb unionfs
- croot="" # Should really be /casper, but run-init doesn't handle
- # mount-points in subdirectories at all
+ # run-init can't deal with this, but we're going to move all of these
+ # away before it runs anyway.
+ croot="/casper"
# Let's just mount the read-only file systems first
mkdir -p "${croot}"
mount -t unionfs -o dirs=/cow=rw:$rofsstring unionfs "$rootmnt"
for d in $(mount -t squashfs | cut -d\ -f 3); do
- mkdir -p "${rootmnt}/casper/${d}"
- mount -o bind "${d}" "${rootmnt}/${d}"
- umount "${d}"
+ mkdir -p "${rootmnt}/casper/${d##*/}"
+ mount -o move "${d}" "${rootmnt}/casper/${d##*/}"
done
if grep -q show-cow /proc/cmdline; then
--- /dev/null
+#!/bin/sh
+
+. /usr/share/debconf/confmodule
+
+PREREQ=""
+DESCRIPTION="Configuring accessibility options..."
+USERNAME=$(db_get passwd/username)
+
+gct() {
+ chroot /target su $USERNAME -- gconftool-2 "$@"
+}
+
+for x in $(cat /proc/cmdline); do
+ case $x in
+ # Lesser Visual Impairment
+ access=v1)
+ gct -s -t string /desktop/gnome/interface/gtk_theme HighContrastLargePrint
+ gct -s -t string /desktop/gnome/interface/icon_theme HighContrast
+ gct -s -t string /desktop/gnome/interface/monospace_font_name "monospace 18"
+ gct -s -t string /desktop/gnome/interface/font_name "sans 18"
+ gct -s -t string /apps/metacity/general/theme Atlanta
+ gct -s -t string /desktop/gnome/background/picture_filename ""
+ gct -s -t string /desktop/gnome/background/picture_options none
+ gct "-s -t string /desktop/gnome/background/primary_color \#666666"
+ gct "-s -t string /desktop/gnome/background/secondary_color \#7F7F7F"
+ gct -s -t string /desktop/gnome/background/color_shading_type solid
+ gct -s -t int /desktop/gnome/peripherals/mouse/cursor_size 48
+ gct -s -t string /desktop/gnome/peripherals/mouse/cursor_theme whiteglass
+ ;;
+ # Moderate Visual Impairment
+ access=v2)
+ gct -s -t bool /desktop/gnome/interface/accessibility true
+ gct -s -t list --list-type=string /desktop/gnome/accessibility/startup/exec_ats [gnopernicus]
+ gct -s -t bool /apps/gnopernicus/srcore/mag_active true
+ gct -s -t bool /apps/gnopernicus/srcore/sp_active false
+ ;;
+ # Blindness
+ access=v3)
+ gct -s -t bool /desktop/gnome/sound/enable_esd false
+ gct -s -t bool /desktop/gnome/interface/accessibility true
+ gct -s -t list --list-type=string /desktop/gnome/accessibility/startup/exec_ats [gnopernicus]
+ gct -s -t bool /apps/gnopernicus/srcore/sp_active true
+ gct -s -t bool /apps/gnopernicus/srcore/mag_active false
+ ;;
+ # Minor Motor Difficulties
+ access=m1)
+ gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
+ gct -s -t bool /desktop/gnome/accessibility/keyboard/mousekeys_enable true
+ gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
+ gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep true
+ gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
+ gct -s -t bool /desktop/gnome/peripherals/keyboard/repeat true
+ gct -s -t int /desktop/gnome/peripherals/keyboard/delay 700
+ gct -s -t int /desktop/gnome/peripherals/keyboard/rate 10
+ ;;
+ # Motor Difficulties - pointing devices
+ access=m2)
+ gct -s -t bool /desktop/gnome/accessibility/keyboard/enable true
+ gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_enable true
+ gct -s -t bool /desktop/gnome/accessibility/keyboard/stickykeys_modifier_beep false
+ gct -s -t bool /desktop/accessibility/gnome/keyboard/stickykeys_two_key_off false
+ gct -s -t bool /desktop/gnome/interface/accessibility true
+ gct -s -t list --list-type=string /desktop/gnome/accessibility/startup/exec_ats gok
+ ;;
+ esac
+done