From 91cd8bbd21cc205c8d113a3740e498f6bb780492 Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Sun, 9 Jul 2006 14:28:54 +0000 Subject: Fix for certain keyboard (inactivity) problem, introduction of keytable setup function ... git-svn-id: http://svn.openslx.org/svn/openslx/ld4@279 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initrd/initrd-stuff/bin/hwautocfg | 33 +++++++++++++++++---------------- initrd/initrd-stuff/bin/servconfig | 10 ++++++---- initrd/initrd-stuff/etc/functions | 7 +++++-- 3 files changed, 28 insertions(+), 22 deletions(-) (limited to 'initrd/initrd-stuff') diff --git a/initrd/initrd-stuff/bin/hwautocfg b/initrd/initrd-stuff/bin/hwautocfg index 8992a947..7a592917 100755 --- a/initrd/initrd-stuff/bin/hwautocfg +++ b/initrd/initrd-stuff/bin/hwautocfg @@ -4,13 +4,13 @@ # script for linux diskless clients, using hwconfig from # knoppix as base tool # -# Author(s): Dirk von Suchodoletz , 03-07-2006 +# Author(s): Dirk von Suchodoletz , 09-07-2006 # Felix Endres # # Copyright: (c) 2003 - 2006 - RZ Universitaet Freiburg # (c) 2006 - odlx.org project # -# Version: 0.3.2b +# Version: 0.3.2c # local functions used within hwautocfg displaysetup () { @@ -175,6 +175,8 @@ for section in Files ServerFlags Module InputDevice Monitor \ [ $DEBUGLEVEL -gt 1 ] && msg "X setup" \ "adding for some Xfree86 modules (radeon, s3virge, nvidia) special\noptions \ to the 'Device' section. Consult hwsetup if you like to add more or\nremove some." + # write TV config - no problem, if no TV is connected + [ -n "$TVOUT" ] && echo -e $TVOUT >>$xfc [ x$DRV = "xs3virge" ] && { echo -e "\tOption\t\t\"XVideo\" \"Off\"\n" >>$xfc [ $DEBUGLEVEL -gt 1 ] && msg "X setup" \ @@ -408,8 +410,6 @@ fi cfgcomplete . /etc/machine-setup -# postpone some commands into normal bootup environment -echo -e "\t# entries added by $0: $date" >> /etc/boot.ld # run localizator and configure keyboard and console fonts DEFKEYTABLE="de-latin1-nodeadkeys" localization $country @@ -418,20 +418,11 @@ if [ -z "${KEYTABLE}" ] ; then '${DEFKEYTABLE}' defined\nin $0." KEYTABLE=${DEFKEYTABLE} fi -# keytable will be loaded during early init process -echo -e "\tloadkeys -q ${KEYTABLE}" >> /etc/boot.ld # run X11 / Xorg configurator . /etc/sysconfig/xserver >/dev/null 2>&1 || error "$hcfg_hwsetup" nonfatal ( displaysetup /etc/xorg.conf; echo "ready" > /tmp/xready ) & -# wait for completion of clients root filesystem in /mnt -waitfor /tmp/fscmpl 40000 - -# add entries to boot.ld -cat /etc/boot.ld >> /mnt/etc/${D_INITDIR}/boot.ld -[ -n "${CONSOLE_FONT}" ] && consolefont - # get idea of availabe harddisk partitions, put swap partitions into # (/mnt)/etc/fstab and format and mount partitions of type 44 (unknown) for hd in $(cat /tmp/hwsetup.info|sed -n -e '/HD$/,/device:/p'| \ @@ -439,7 +430,7 @@ for hd in $(cat /tmp/hwsetup.info|sed -n -e '/HD$/,/device:/p'| \ fdisk -l /dev/$hd| sed -n "/^\/dev\//p" > /tmp/hd_part for hdpartnr in $(cat /tmp/hd_part | \ sed -n -e "/ 82 /p"|sed -e "s/[[:space:]].*//") ; do - echo -e "$hdpartnr\tswap\t\tswap\t\tdefaults\t 0 0" >> /mnt/etc/fstab + echo -e "$hdpartnr\tswap\t\tswap\t\tdefaults\t 0 0" >> /tmp/fstab done # we use special non assigned partition type for harddisk scratch space for hdpartnr in $(cat /tmp/hd_part | \ @@ -447,7 +438,7 @@ for hd in $(cat /tmp/hwsetup.info|sed -n -e '/HD$/,/device:/p'| \ # ugly message from ext2 mount :-( ( mkfs.ext2 -q $hdpartnr; mount -n $hdpartnr /mnt/tmp; \ echo "$hdpartnr" > /tmp/tmpready ) & - echo -e "$hdpartnr\t/tmp\t\text2\t\tdefaults\t 0 0" >> /mnt/etc/fstab + echo -e "$hdpartnr\t/tmp\t\text2\t\tdefaults\t 0 0" >> /tmp/fstab part44=yes break done @@ -456,12 +447,22 @@ for hd in $(cat /tmp/hwsetup.info|sed -n -e '/HD$/,/device:/p'| \ sed -n -e "/ 83 /p"|sed -e "s/[[:space:]].*//") ; do mkdir -p /mnt/media/${hdpartnr#/dev/*} 2>/dev/null echo -e "$hdpartnr\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto,\ -noexec\t 0 0" >> /mnt/etc/fstab +noexec\t 0 0" >> /tmp/fstab done done # determine if tmp preparation should wait for format/mount or not [ -z "$part44" ] && echo "finished" > /tmp/tmpready +# wait for completion of clients root filesystem in /mnt +waitfor /tmp/fscmpl 40000 +cat /tmp/fstab >> /mnt/etc/fstab + +# add entries to initialize keytable and consolefont to boot.ld +# postpone some commands into normal bootup environment +echo -e "\t# entries added by $0: $date" >> /mnt/etc/${D_INITDIR}/boot.ld +[ -n "${KEYTABLE}" ] && keytable +[ -n "${CONSOLE_FONT}" ] && consolefont + # finalize X configuration # only if X is link itself (normally to /var/X11R6/bin/X) check!! link=`ls -l /mnt/usr/X11R6/bin/X 2>/dev/null` diff --git a/initrd/initrd-stuff/bin/servconfig b/initrd/initrd-stuff/bin/servconfig index 44f8be90..b6d5aedb 100755 --- a/initrd/initrd-stuff/bin/servconfig +++ b/initrd/initrd-stuff/bin/servconfig @@ -4,7 +4,7 @@ # for linux diskless clients (executed within initial # ramdisk) # -# Author(s): Dirk von Suchodoletz , 03-07-2006 +# Author(s): Dirk von Suchodoletz , 09-07-2006 # Michael Janczyk, 31-05-2006 # Lars Mueller, 23-06-2006 # Oliver Tappe, 23-06-2006 @@ -394,7 +394,7 @@ $0: $date\n:0 local /usr/X11R6/bin/X :0 vt07\n" >/mnt/etc/X11/xdm/Xservers [ x$start_xdmcp != "x" ] || start_xdmcp="no"; init="7:5:respawn:/var/X11R6/bin/kiosk /dev/tty7" echo -e "#!/bin/sh\n# /var/X11R6/bin/kiosk - file generated by $0: \ -$date\nsleep 3; while ps aux|grep -i kiosk|grep -v \"grep\" &>/dev/null;\ +$date\nwhile ps aux|grep -i kiosk|grep -v \"grep\" &>/dev/null;\ do\n test -f /var/run/kiosk || break; sleep 3;\ndone\ntouch \ /var/run/kiosk\nresmgr login nobody tty7\nresmgr grant nobody desktop\n\ chown nobody /dev/dsp* /dev/audio* /dev/mixer* /dev/snd/control*\n\ @@ -403,9 +403,11 @@ chown -R nobody.nobody /var/lib/nobody\nsu -c 'xinit /var/X11R6/bin/startgui \ $start_x -- vt7 -quiet' -l nobody &>/dev/null\nrm /var/run/kiosk\n\ resmgr revoke nobody\nresmgr logout tty7\nkillall X" \ >/mnt/var/X11R6/bin/kiosk - # early start of kiosk session - echo -e "\t# kiosk start added by $0\n\t\ + # early start of kiosk session if not late_dm is set + if [ "x$late_dm" != "xyes" ] ; then + echo -e "\t# kiosk start added by $0\n\t\ /var/X11R6/bin/kiosk &>/dev/null &" >>/mnt/etc/${D_INITDIR}/boot.ld + fi cp /etc/startgui /mnt/var/X11R6/bin chmod a+x /mnt/var/X11R6/bin/kiosk /mnt/var/X11R6/bin/startgui rm /mnt/var/run/kiosk 2>/dev/null diff --git a/initrd/initrd-stuff/etc/functions b/initrd/initrd-stuff/etc/functions index ab9365d2..0f07189f 100644 --- a/initrd/initrd-stuff/etc/functions +++ b/initrd/initrd-stuff/etc/functions @@ -455,11 +455,11 @@ case "$country" in # German version de*) COUNTRY="de" - LANG="de_DE@euro" + LANG="de_DE.UTF8" KEYTABLE="de-latin1-nodeadkeys" XKEYBOARD="de" KDEKEYBOARD="de" - CHARSET="iso8859-15" + CHARSET="utf8" KDEKEYBOARDS="us,fr" TZ="Europe/Berlin" ;; @@ -752,6 +752,9 @@ case "${XMODULE}" in test -f /mnt/lib/modules/${KERNEL}/kernel/drivers/char/drm/fglrx.ko && \ test -f /mnt/usr/X11R6/lib/modules/drivers/fglrx_drv.o && \ XMODULE=fglrx + # there seems no problem, if no TV is connected + TVOUT='\tOption\t"TVFormat" "PAL-B"\n +\tOption\t"DesktopSetup" "horizontal"' ;; nv) # -- cgit v1.2.3-55-g7522