diff options
Diffstat (limited to 'initramfs/distro-specs/ubuntu/functions-6.06')
-rw-r--r-- | initramfs/distro-specs/ubuntu/functions-6.06 | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/initramfs/distro-specs/ubuntu/functions-6.06 b/initramfs/distro-specs/ubuntu/functions-6.06 new file mode 100644 index 00000000..e439df4f --- /dev/null +++ b/initramfs/distro-specs/ubuntu/functions-6.06 @@ -0,0 +1,112 @@ +# configuration script for Ubuntu V6.06 to configure OpenSLX linux diskless +# clients (merged in stage2 with ubuntu/functions-default - and loaded within +# initial ramfs - stage3) It may overwrite settings from the default config +# file (/etc/functions) +# +# Dirk von Suchodoletz <dirk@goe.net>, 31-08-2006 +# Nico Dietrich +# Felix Endres, 29-08-2006 +# +# (c) 2006 - RZ Universitaet Freiburg +# (c) 2006 - OpenSLX.ORG Project + +# distro specific stuff to initialize +preinit () { + echo "Creating dhcp user" + echo "dhcp:x:101:">>/etc/group + echo "dhcp:x:101:101::/nonexistent:/bin/false" >>/etc/passwd + # mount/unionfs can not handle the nfsro parameter in Ubuntu 6.06 + NFSRO="" +} + +# distro specific function called from servconfig script + +# udev/hotplug - auto device discovery service +# fixme: why does nothing happens here!? If default should be used just +# skip that function here!! +# Result: 1 is bad, 0 is good +udev_hotplug () { +# local result=0 +# [ -d /etc/hotplug -a -d /etc/hotplug.d ] || error "$df_errhotpl" nonfatal +# echo "Enabling hotplug/udev" +# #udevstart && result=0 +# #udevtrigger && result=0 +# udevd --daemon || result=1 +# [ ! -e /sbin/udevsend ] && result=1 +# echo "/sbin/udevsend/" > /proc/sys/kernel/hotplug +# mkdir -p /dev/.udev/db /dev/.udev/queue +# trigger_device_events +# return $result +: +} + + + + + +# x11 stuff +descsession () { +if [ "x$desktop_session" != "x" ] ; then + windowmanagers="$desktop_session" + # write script for desktop-session chooser + if [ "x$vmware" != "xno" ] ; then + debug="" + [ ${DEBUGLEVEL} -gt 0 ] && debug="--debug 1" + echo -e "#!/bin/sh\n#\n# file generated by\n#\t$0:\n#\t$date\n +OSTYPE=\`echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$1}'\` +SPECTYPE=\`echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$2}'\`\n +OPTS=\"-o \$OSTYPE \${SPECTYPE:+\"-s \$SPECTYPE\"}\"\n +xterm -bg black -fg white -geometry 170x30+0-0 +sb \ +-e \"runvmware \$OPTS $debug\"\n" > /mnt/var/X11R6/bin/desktop-session + chmod a+x /mnt/var/X11R6/bin/desktop-session + addpath="true"; + fi +else + windowmanagers="kde,gnome,icewm,failsafe" +fi +# check if /usr/X11R6/bin is writeable, else use /var/X11R6/bin +if [ -w /mnt/usr/X11R6/bin/WM-Session ] ; then + sesspath="/usr/X11R6/bin" +else + sesspath="/var/X11R6/bin" + addpath="true" +fi + +# create links to desktop-session chooser +# fixme: wmlist is SuSE stuff !?!? +[ -f /mnt/usr/bin/X11/wmlist ] && wmlist=`cat /mnt/usr/bin/X11/wmlist` + +for i in `echo $windowmanagers|sed -e "s/,/ /g"` ; do + # beware!! quickhack for VMware sessions + strinstr "$i" "$wmlist" || \ + test -x /mnt/usr/X11R6/bin/$i || \ + echo -e "[Desktop Entry]\nX-SuSE-translate=true\nEncoding=UTF-8\n\ +Type=XSession\nExec=$i\nTryExec=$sesspath/$i\n\ +Name=$i\n" > /mnt/etc/X11/sessions/$i.desktop + # does not work correctly (add /var/X11R6/bin to path!!) + test -x /mnt/usr/X11R6/bin/$i || \ + ln -fs /var/X11R6/bin/desktop-session /mnt/$sesspath/$i +done + +# add special path /var/X11R6/bin to the PATH variable +# fixme!! add path directly to /etc/profile!? +#[ "x$addpath" != "x" ] && \ +# echo -e "# added path component by $0: $date\n\ +#PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/profile +} + +# set up keytable (function run in hwautocfg) +# fixme: is anything needed here - otherwise remove (and check that a +# dummy function is present) +keytable () { +# fixme -- use keytable setup script here +: +} + +# consolefont and language +consolefont () { +[ "$LANG" == "de_DE@euro" ] && LANG=de_DE.UTF8 +sed -e "s,LANGUAGE=.*,LANGUAGE=${LANG},;s,LANG=.*,LANG=${LANG}," \ + -i /mnt/etc/environment +rllinker "console-screen.sh" "31" "03" +} |