summaryrefslogtreecommitdiffstats
path: root/initrd/distro-specs/gentoo/functions-2005.1
diff options
context:
space:
mode:
Diffstat (limited to 'initrd/distro-specs/gentoo/functions-2005.1')
-rw-r--r--initrd/distro-specs/gentoo/functions-2005.138
1 files changed, 25 insertions, 13 deletions
diff --git a/initrd/distro-specs/gentoo/functions-2005.1 b/initrd/distro-specs/gentoo/functions-2005.1
index 284fd046..a28019ef 100644
--- a/initrd/distro-specs/gentoo/functions-2005.1
+++ b/initrd/distro-specs/gentoo/functions-2005.1
@@ -2,20 +2,20 @@
# linux diskless clients (executed within initial
# ramdisk after genconfig)
#
-# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 13-04-2006
+# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 30-04-2006
#
# Copyright: (c) 2006 - RZ Universitaet Freiburg
#
-# Version: 0.0.2a
+# Version: 0.0.2b
# distro specific stuff to initialize
preinit () {
- :
+ :
}
postinit () {
# rm -rf /mnt/etc/runlevels/default/*
-:
+ :
}
# distro specific general function called from servconfig script
@@ -157,9 +157,7 @@ if [ "x$start_snmp" = "xyes" ] ; then
# configure X display manager (runlevel links and kind of manager)
config_xdm () {
if [ -f /mnt/etc/${D_INITDIR}/xdm ] ; then
- sed -e "s,DISPLAYMANAGER=.*,DISPLAYMANAGER=\"xdm\"," /mnt/etc/rc.conf \
- > /etc/rc.conf
- cp /etc/rc.conf /mnt/etc/rc.conf
+ sed -e "s,DISPLAYMANAGER=.*,DISPLAYMANAGER=\"xdm\"," -i /mnt/etc/rc.conf
ln -s /etc/${D_INITDIR}/xdm /mnt/etc/runlevels/boot/xdm
ln -s /etc/${D_INITDIR}/xdm /mnt/etc/runlevels/default/xdm
echo "xdm" >> /mnt/etc/runlevels/boot/.critical
@@ -170,15 +168,13 @@ fi
config_rc_entry () {
local var=$1
local value=$2
-sed -e "s,$var=.*,$var=\"$value\"," /mnt/etc/rc.conf \
- > /etc/rc.conf
-cp /etc/rc.conf /mnt/etc/rc.conf
+sed -e "s,$var=.*,$var=\"$value\"," -i /mnt/etc/rc.conf
}
# configure gdm
config_gdm () {
config_rc_entry "DISPLAYMANAGER" "gdm"
-# fixmee!! check for needed directories and permissions
+# fixme!! check for needed directories and permissions
#testmkd /mnt/var/lib/gdm
#testmkd /mnt/var/log/gdm
#strinfile "gdm:" /mnt/etc/passwd || echo "gdm:x:50:15:Gnome Display Manager \
@@ -210,8 +206,7 @@ config_rc_entry "CONSOLEFONT" "${CONSOLE_FONT}"
config_acpi () {
rllinker acpid
# remove dependencies (runs unneeded services ...)
-sed "/depend/,/}/d" /mnt/etc/${D_INITDIR}/acpid > /etc/rls
-cp /etc/rls /mnt/etc/${D_INITDIR}/acpid
+sed "/depend/,/}/d" -i /mnt/etc/${D_INITDIR}/acpid
}
# configure dbus (inter application communication for kde and gnome), hal
@@ -265,5 +260,22 @@ rllinker "ypbind"
config_vmware () {
rllinker "vmware-prep"
rllinker "vmware"
+# during vmware sessions linux should not handle usb events/devices
+testmkd /mnt/var/X11R6/bin
+echo '#!/bin/sh'>> /mnt/etc/udev/rules.d/01-udev-vm.rules
+echo -e "# Script for blocking linux from handling usb \
+devices\n# during vmware sessions. If you like to remove certain modules \
+add them\n# to the list below - Dirk von Suchodoletz, <dirk@goe.net>\n\
+STATE=1\nps aux|grep -i vmware|grep -v \"grep\" &>/dev/null && { STATE=0; \
+/sbin/rmmod usb-storage &>/tmp/null; }\n\
+[ x$ACTION = xremove ] && { [ $STATE = 0 ] && /sbin/rmmod usb-storage \
+&>/dev/null; }\nexit \$STATE" > /mnt/var/X11R6/bin/vm-udev
+chmod u+x /mnt/var/X11R6/bin/vm-udev
+echo -e "# special entry to block linux from reacting to usb events during \
+running\n# vmware sessions, generated by $0 during initramfs\n# Dirk von \
+Suchodoletz, <dirk@goe.net>\nSUBSYSTEM==\"usb\", ACTION==\"add\", \
+PROGRAM=\"/var/X11R6/bin/vm-udev\", OPTIONS=\"ignore_device\"\n\
+SUBSYSTEM==\"usb\", ACTION==\"remove\", PROGRAM=\"/var/X11R6/bin/vm-udev\"" \
+ >> /mnt/etc/udev/rules.d/01-udev-vm.rules
}