From 40b6f0ba8b599595788d51fa222ee4af29cf60a5 Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Mon, 26 Jun 2006 12:13:08 +0000 Subject: Trying to solve some file issues ... git-svn-id: http://svn.openslx.org/svn/openslx/ld4@253 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initrd/distro-specs/suse/files-9.3/etc/init.d/boot | 286 --------------------- initrd/distro-specs/suse/files-9.3/etc/init.d/halt | 90 ------- .../suse/files-default/etc/init.d/boot | 286 +++++++++++++++++++++ .../suse/files-default/etc/init.d/halt | 90 +++++++ initrd/distro-specs/suse/functions-10.1 | 28 +- 5 files changed, 403 insertions(+), 377 deletions(-) delete mode 100755 initrd/distro-specs/suse/files-9.3/etc/init.d/boot delete mode 100755 initrd/distro-specs/suse/files-9.3/etc/init.d/halt create mode 100755 initrd/distro-specs/suse/files-default/etc/init.d/boot create mode 100755 initrd/distro-specs/suse/files-default/etc/init.d/halt diff --git a/initrd/distro-specs/suse/files-9.3/etc/init.d/boot b/initrd/distro-specs/suse/files-9.3/etc/init.d/boot deleted file mode 100755 index 8012f287..00000000 --- a/initrd/distro-specs/suse/files-9.3/etc/init.d/boot +++ /dev/null @@ -1,286 +0,0 @@ -#!/bin/sh -# -# Description: Modificated /etc/init.d/boot for use with Diskless -# X Stations (v4.0) -> replaces /etc/init.d/boot -# simply copied over the original file in initrd -# -# Author(s): Dirk von Suchodoletz , 08-04-2006 -# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg -# -# Version: 0.0.2b -# -# Some parts taken from /etc/init.d/boot by -# -# Copyright (c) 1996-2004 SuSE Linux AG, Nuernberg, Germany. -# All rights reserved. -# -# Author: Ruediger Oertel , 1996-2002 -# Werner Fink , 1996-2003 -# Burchard Steinbild, 1996-2000 -# Florian La Roche, 1996 -# -# first script to be executed from init on system startup -# -# Most of preparation is done within the initial ramdisk -# -################################################################ -LD_LIBRARY_PATH=/usr/lib - -# Before we do anything else, try at first to activate SELinux support -test -d /selinux && mount -n -t selinuxfs none /selinux &>/dev/null - -# Configuration and coloring of the boot messages -. /etc/rc.status -. /etc/sysconfig/boot -. /etc/sysconfig/logfile - -# Avoid be interrupted by child or keyboard -trap "echo" SIGINT SIGSEGV SIGQUIT -set +e - -# reasonable start values for bootsplash progress -export progress=0 -export sscripts=45 -export kscripts=45 - -echo -n "System Boot Control: " -echo "Running $0" - -################################################################ -# - -# some important (un)mounts -rc_reset -echo -n "Mounting /proc, /sys and /dev/pts filesystems" -# file /etc/fstab in some scenarios not available -mount -t proc proc /proc &>/dev/null -rc_status -v -r - -echo -n "Mounting /dev/pts" -mount -t devpts -o mode=0620,gid=5 devpts /dev/pts -rc_status -v -r -if [ -d /sys ] ; then - while read a b c ; do - case "$b" in - sysfs) - echo -n "Mounting /sys filesystem" - echo -e "sysfs\t\t/sys\t\tsysfs\t\trw\t\t 0 0\n" \ - >>/etc/fstab - mount -t sysfs sysfs /sys - rc_status -v -r - break - ;; - esac - done < /proc/filesystems -fi - -# Start blogd, requires /proc and /dev/pts. -# Export the real device in variable REDIRECT. -test -x /sbin/blogd -a -n "$REDIRECT" && /sbin/blogd $REDIRECT -if test -z "$REDIRECT" ; then - if (echo -n > /dev/tty) 2>/dev/null ; then - REDIRECT=/dev/tty - else - REDIRECT=/dev/console - fi -fi - -################################################################ -# -# Save old terminal settings and set -nl to avoid staircase -# effect, do not lock scrolling, and avoid break characters. -otty=$(stty -g) -if test "$FLOW_CONTROL" = "yes" ; then - stty -nl ixon ignbrk -brkint -else - stty -nl -ixon ignbrk -brkint -fi - -################################################################ -# -# Should we ask for interactive boot mode -DO_CONFIRM="" -read -t 2 check < /proc/cmdline 2> /dev/null -case "$check" in - *confirm*) DO_CONFIRM=yes ;; -esac -test -z "$CONFIRM_PROMPT_TIMEOUT" && CONFIRM_PROMPT_TIMEOUT=5 -if test "$PROMPT_FOR_CONFIRM" = "yes" -a "$DO_CONFIRM" != "yes" ; then - echo -en "${extd}Enter Interactive startup mode?${norm}" - rc_timer_on "$CONFIRM_PROMPT_TIMEOUT" 37 - read -t "$CONFIRM_PROMPT_TIMEOUT" -n 1 \ - -p " ${extd}y${norm}/[${extd}n${norm}]\ -("${CONFIRM_PROMPT_TIMEOUT}s") " answer - rc_timer_off - case "$answer" in - [yYiI]) DO_CONFIRM=yes ;; - *) DO_CONFIRM= ;; - esac - unset answer - echo -fi -export DO_CONFIRM - -################################################################ -# -# Common used variables -bootrc=/etc/init.d/boot.d -rex="[0-9][0-9]" -failed="" -skipped="" -callord="" - -# -# Initialize boosplash progressbar variables -# -. /etc/rc.splash B -splashtrigger "rlchange B" - -################################################################ -# -# Do we stop/start script in parallel? -startpar=$(type -p startpar) -test "$RUN_PARALLEL" = "yes" || startpar="" -test "$DO_CONFIRM" = "yes" && startpar="" - -# Start bootup client scripts. -if test -d ${bootrc}/ ; then - for i in ${bootrc}/S*; do - test -f $i || continue - - B=${i##*/} - script=${B#*S$rex} - B=${B%$script} - - rc_splash "$script start" - - if test "$DO_CONFIRM" = "yes" ; then - rc_confirm -t 5 "Start bootup script ${script}" \ - < $REDIRECT > $REDIRECT 2>&1 - case "$?" in - 0) true ;; - 1) continue ;; - 2) DO_CONFIRM="" - esac - fi - - if test -z "$startpar" ; then - blogger "$script start" - - if test -x "$i" ; then - $i start - else - echo Running $i - /bin/sh $i b - rc_status -v1 -r - fi - status=$? - echo -en "$rc_reset" - - case $status in - [1-4]) failed="${failed:+$failed }$script" ;; - [56]) skipped="${skipped:+$skipped }$script" ;; - [07]|*) ;; - esac - - blogger "'$script start' exits with status $status" - else - # Parallel boot only for valid scripts - test -x $i || continue - - # Current vector - eval cur=\${$B} - test -n "$cur" || callord="${callord:+$callord }$B" - - # Remember scripts - eval $B="\${cur:+$i }\${cur:-$i}" - fi - done -fi - -################################################################ -# -# Call the scripts in correct order -if test -n "$startpar" ; then - declare -i s - for p in $callord ; do - vect=$p - eval p=(\${$p}) - - blogger "run boot scripts (${p[@]##*S$rex})" - if test ${#p[@]} -eq 1 ; then - ${p} start - status=($?) - else - status=($($startpar -t 30 -T 3 -a start ${p[@]})) - fi - echo -en "$rc_reset" - blogger "exit status of (${p[@]##*S$rex}) is (${status[@]})" - - s=0 - for script in ${p[@]##*S$rex} ; do - case "${status[$s]}" in - [1-4]) failed="${failed:+$failed }$script" ;; - [56]) skipped="${skipped:+$skipped }$script" ;; - 0|*) ;; - esac - : $((s++)) - done - done -fi - -################################################################ -# -# Be verbose and print stats -echo -n "System Boot Control: " -echo -e "The system has been ${stat}${extd}set up${norm}" -if test -n "$failed" ; then - n=$((${#failed} + 7)) - echo -n "Failed features: " - test $n -lt 47 && echo -en "\033[${COLUMNS}C\033[${n}D" - echo -e "${warn}${failed}${norm}" -fi -if test -n "$skipped" ; then - n=$((${#skipped} + 7)) - echo -n "Skipped features: " - test $n -lt 47 && echo -en "\033[${COLUMNS}C\033[${n}D" - echo -e "${attn}${skipped}${norm}" -fi - - -################################################################ -# -# Check for boot cycle detection -test -s /lib/bootcycle/stats && . /lib/bootcycle/stats - - -# Remember for master resource script -if test "$DO_CONFIRM" = "yes" ; then - touch /var/run/do_confirm -fi - -# Restore old terminal settings -stty $otty - -################################################################ -# -# Let zic set timezone - if present (from boot.ldconfig). -if test -n "$TIMEZONE" -a -x /usr/sbin/zic ; then - echo -n Setting up timezone data - /usr/sbin/zic -l $TIMEZONE - rc_status -v -r -fi - -################################################################ -# -# start user defined bootup script. -if test -f /etc/init.d/boot.local ; then - ECHO_RETURN=$rc_done_up - echo "Running /etc/init.d/boot.local" - /bin/sh /etc/init.d/boot.local || rc_failed - rc_status -v1; rc_reset - rc_splash "boot.local start" -fi - -rc_reset -exit 0 diff --git a/initrd/distro-specs/suse/files-9.3/etc/init.d/halt b/initrd/distro-specs/suse/files-9.3/etc/init.d/halt deleted file mode 100755 index 65e5b0ad..00000000 --- a/initrd/distro-specs/suse/files-9.3/etc/init.d/halt +++ /dev/null @@ -1,90 +0,0 @@ -#! /bin/sh -# -# Description: Modificated /etc/init.d/halt for use with Diskless -# X Stations (v4.0) -# -> replaces /etc/init.d/halt -# -# Author(s): Dirk von Suchodoletz , 13-12-2005 -# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg -# -# Version: 0.0.3a -# -# Some parts taken from /etc/init.d/halt by -# -# Copyright (c) 1996-2004 SuSE Linux AG, Nuernberg, Germany. -# All rights reserved. - -. /etc/rc.status -. /etc/sysconfig/clock -. /etc/sysconfig/suseconfig - -# -# Avoid being interrupted by child or keyboard -trap "echo" SIGINT SIGSEGV SIGQUIT SIGTERM -set +e - -rc_reset -case "$0" in - *halt) - message="The system is halted." - command="halt" - modprobe -q apm &>/dev/null - if test -e /proc/apm -o -e /proc/acpi -o -e /proc/sys/acpi ; then - command="halt -p" - else - read cmdline < /proc/cmdline - case "$cmdline" in - *apm=smp-power-off*|*apm=power-off*) - command="halt -p" ;; - esac - fi - ;; - *reboot) - message="Please stand by while rebooting the system..." - command="reboot" - ;; - *) - echo "$0: call me as \"halt\" or \"reboot\" please!" - exit 1 - ;; -esac - -# Write to wtmp file before unmounting /var (only needed with -# persistent mounted filesystem) -# $command -w - -rc_reset -echo "Turning off swap" -sync ; sync -swapoff -a || rc_failed -rc_status - -UMOUNT_FAILED=false -rc_reset -echo "Unmounting file systems and devices" -for unmount in /media/* ; do - umount -fnt $unmount &>/dev/null -done -umount -fnt /tmp/scratch &>/dev/null -eject /dev/zip &>/dev/null & -rc_status -v1 - -umount -anft noproc,nonfs &>/dev/null - -rc_reset -# maybe we use multiple devices -if test -f /etc/mdtab -a -x /sbin/mdadd ; then - echo -n "Disable Multiple Devices" - /sbin/mdstop -a || rc_failed - rc_status -v1 -fi - -sync - -# show "the system is down" message -if test "$SPLASH" = yes ; then - /sbin/splash -q -p 65535 -t "isdown" -fi - -echo $message -exec $command -d -f diff --git a/initrd/distro-specs/suse/files-default/etc/init.d/boot b/initrd/distro-specs/suse/files-default/etc/init.d/boot new file mode 100755 index 00000000..8012f287 --- /dev/null +++ b/initrd/distro-specs/suse/files-default/etc/init.d/boot @@ -0,0 +1,286 @@ +#!/bin/sh +# +# Description: Modificated /etc/init.d/boot for use with Diskless +# X Stations (v4.0) -> replaces /etc/init.d/boot +# simply copied over the original file in initrd +# +# Author(s): Dirk von Suchodoletz , 08-04-2006 +# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg +# +# Version: 0.0.2b +# +# Some parts taken from /etc/init.d/boot by +# +# Copyright (c) 1996-2004 SuSE Linux AG, Nuernberg, Germany. +# All rights reserved. +# +# Author: Ruediger Oertel , 1996-2002 +# Werner Fink , 1996-2003 +# Burchard Steinbild, 1996-2000 +# Florian La Roche, 1996 +# +# first script to be executed from init on system startup +# +# Most of preparation is done within the initial ramdisk +# +################################################################ +LD_LIBRARY_PATH=/usr/lib + +# Before we do anything else, try at first to activate SELinux support +test -d /selinux && mount -n -t selinuxfs none /selinux &>/dev/null + +# Configuration and coloring of the boot messages +. /etc/rc.status +. /etc/sysconfig/boot +. /etc/sysconfig/logfile + +# Avoid be interrupted by child or keyboard +trap "echo" SIGINT SIGSEGV SIGQUIT +set +e + +# reasonable start values for bootsplash progress +export progress=0 +export sscripts=45 +export kscripts=45 + +echo -n "System Boot Control: " +echo "Running $0" + +################################################################ +# + +# some important (un)mounts +rc_reset +echo -n "Mounting /proc, /sys and /dev/pts filesystems" +# file /etc/fstab in some scenarios not available +mount -t proc proc /proc &>/dev/null +rc_status -v -r + +echo -n "Mounting /dev/pts" +mount -t devpts -o mode=0620,gid=5 devpts /dev/pts +rc_status -v -r +if [ -d /sys ] ; then + while read a b c ; do + case "$b" in + sysfs) + echo -n "Mounting /sys filesystem" + echo -e "sysfs\t\t/sys\t\tsysfs\t\trw\t\t 0 0\n" \ + >>/etc/fstab + mount -t sysfs sysfs /sys + rc_status -v -r + break + ;; + esac + done < /proc/filesystems +fi + +# Start blogd, requires /proc and /dev/pts. +# Export the real device in variable REDIRECT. +test -x /sbin/blogd -a -n "$REDIRECT" && /sbin/blogd $REDIRECT +if test -z "$REDIRECT" ; then + if (echo -n > /dev/tty) 2>/dev/null ; then + REDIRECT=/dev/tty + else + REDIRECT=/dev/console + fi +fi + +################################################################ +# +# Save old terminal settings and set -nl to avoid staircase +# effect, do not lock scrolling, and avoid break characters. +otty=$(stty -g) +if test "$FLOW_CONTROL" = "yes" ; then + stty -nl ixon ignbrk -brkint +else + stty -nl -ixon ignbrk -brkint +fi + +################################################################ +# +# Should we ask for interactive boot mode +DO_CONFIRM="" +read -t 2 check < /proc/cmdline 2> /dev/null +case "$check" in + *confirm*) DO_CONFIRM=yes ;; +esac +test -z "$CONFIRM_PROMPT_TIMEOUT" && CONFIRM_PROMPT_TIMEOUT=5 +if test "$PROMPT_FOR_CONFIRM" = "yes" -a "$DO_CONFIRM" != "yes" ; then + echo -en "${extd}Enter Interactive startup mode?${norm}" + rc_timer_on "$CONFIRM_PROMPT_TIMEOUT" 37 + read -t "$CONFIRM_PROMPT_TIMEOUT" -n 1 \ + -p " ${extd}y${norm}/[${extd}n${norm}]\ +("${CONFIRM_PROMPT_TIMEOUT}s") " answer + rc_timer_off + case "$answer" in + [yYiI]) DO_CONFIRM=yes ;; + *) DO_CONFIRM= ;; + esac + unset answer + echo +fi +export DO_CONFIRM + +################################################################ +# +# Common used variables +bootrc=/etc/init.d/boot.d +rex="[0-9][0-9]" +failed="" +skipped="" +callord="" + +# +# Initialize boosplash progressbar variables +# +. /etc/rc.splash B +splashtrigger "rlchange B" + +################################################################ +# +# Do we stop/start script in parallel? +startpar=$(type -p startpar) +test "$RUN_PARALLEL" = "yes" || startpar="" +test "$DO_CONFIRM" = "yes" && startpar="" + +# Start bootup client scripts. +if test -d ${bootrc}/ ; then + for i in ${bootrc}/S*; do + test -f $i || continue + + B=${i##*/} + script=${B#*S$rex} + B=${B%$script} + + rc_splash "$script start" + + if test "$DO_CONFIRM" = "yes" ; then + rc_confirm -t 5 "Start bootup script ${script}" \ + < $REDIRECT > $REDIRECT 2>&1 + case "$?" in + 0) true ;; + 1) continue ;; + 2) DO_CONFIRM="" + esac + fi + + if test -z "$startpar" ; then + blogger "$script start" + + if test -x "$i" ; then + $i start + else + echo Running $i + /bin/sh $i b + rc_status -v1 -r + fi + status=$? + echo -en "$rc_reset" + + case $status in + [1-4]) failed="${failed:+$failed }$script" ;; + [56]) skipped="${skipped:+$skipped }$script" ;; + [07]|*) ;; + esac + + blogger "'$script start' exits with status $status" + else + # Parallel boot only for valid scripts + test -x $i || continue + + # Current vector + eval cur=\${$B} + test -n "$cur" || callord="${callord:+$callord }$B" + + # Remember scripts + eval $B="\${cur:+$i }\${cur:-$i}" + fi + done +fi + +################################################################ +# +# Call the scripts in correct order +if test -n "$startpar" ; then + declare -i s + for p in $callord ; do + vect=$p + eval p=(\${$p}) + + blogger "run boot scripts (${p[@]##*S$rex})" + if test ${#p[@]} -eq 1 ; then + ${p} start + status=($?) + else + status=($($startpar -t 30 -T 3 -a start ${p[@]})) + fi + echo -en "$rc_reset" + blogger "exit status of (${p[@]##*S$rex}) is (${status[@]})" + + s=0 + for script in ${p[@]##*S$rex} ; do + case "${status[$s]}" in + [1-4]) failed="${failed:+$failed }$script" ;; + [56]) skipped="${skipped:+$skipped }$script" ;; + 0|*) ;; + esac + : $((s++)) + done + done +fi + +################################################################ +# +# Be verbose and print stats +echo -n "System Boot Control: " +echo -e "The system has been ${stat}${extd}set up${norm}" +if test -n "$failed" ; then + n=$((${#failed} + 7)) + echo -n "Failed features: " + test $n -lt 47 && echo -en "\033[${COLUMNS}C\033[${n}D" + echo -e "${warn}${failed}${norm}" +fi +if test -n "$skipped" ; then + n=$((${#skipped} + 7)) + echo -n "Skipped features: " + test $n -lt 47 && echo -en "\033[${COLUMNS}C\033[${n}D" + echo -e "${attn}${skipped}${norm}" +fi + + +################################################################ +# +# Check for boot cycle detection +test -s /lib/bootcycle/stats && . /lib/bootcycle/stats + + +# Remember for master resource script +if test "$DO_CONFIRM" = "yes" ; then + touch /var/run/do_confirm +fi + +# Restore old terminal settings +stty $otty + +################################################################ +# +# Let zic set timezone - if present (from boot.ldconfig). +if test -n "$TIMEZONE" -a -x /usr/sbin/zic ; then + echo -n Setting up timezone data + /usr/sbin/zic -l $TIMEZONE + rc_status -v -r +fi + +################################################################ +# +# start user defined bootup script. +if test -f /etc/init.d/boot.local ; then + ECHO_RETURN=$rc_done_up + echo "Running /etc/init.d/boot.local" + /bin/sh /etc/init.d/boot.local || rc_failed + rc_status -v1; rc_reset + rc_splash "boot.local start" +fi + +rc_reset +exit 0 diff --git a/initrd/distro-specs/suse/files-default/etc/init.d/halt b/initrd/distro-specs/suse/files-default/etc/init.d/halt new file mode 100755 index 00000000..65e5b0ad --- /dev/null +++ b/initrd/distro-specs/suse/files-default/etc/init.d/halt @@ -0,0 +1,90 @@ +#! /bin/sh +# +# Description: Modificated /etc/init.d/halt for use with Diskless +# X Stations (v4.0) +# -> replaces /etc/init.d/halt +# +# Author(s): Dirk von Suchodoletz , 13-12-2005 +# Copyright: (c) 2003, 2005 - RZ Universitaet Freiburg +# +# Version: 0.0.3a +# +# Some parts taken from /etc/init.d/halt by +# +# Copyright (c) 1996-2004 SuSE Linux AG, Nuernberg, Germany. +# All rights reserved. + +. /etc/rc.status +. /etc/sysconfig/clock +. /etc/sysconfig/suseconfig + +# +# Avoid being interrupted by child or keyboard +trap "echo" SIGINT SIGSEGV SIGQUIT SIGTERM +set +e + +rc_reset +case "$0" in + *halt) + message="The system is halted." + command="halt" + modprobe -q apm &>/dev/null + if test -e /proc/apm -o -e /proc/acpi -o -e /proc/sys/acpi ; then + command="halt -p" + else + read cmdline < /proc/cmdline + case "$cmdline" in + *apm=smp-power-off*|*apm=power-off*) + command="halt -p" ;; + esac + fi + ;; + *reboot) + message="Please stand by while rebooting the system..." + command="reboot" + ;; + *) + echo "$0: call me as \"halt\" or \"reboot\" please!" + exit 1 + ;; +esac + +# Write to wtmp file before unmounting /var (only needed with +# persistent mounted filesystem) +# $command -w + +rc_reset +echo "Turning off swap" +sync ; sync +swapoff -a || rc_failed +rc_status + +UMOUNT_FAILED=false +rc_reset +echo "Unmounting file systems and devices" +for unmount in /media/* ; do + umount -fnt $unmount &>/dev/null +done +umount -fnt /tmp/scratch &>/dev/null +eject /dev/zip &>/dev/null & +rc_status -v1 + +umount -anft noproc,nonfs &>/dev/null + +rc_reset +# maybe we use multiple devices +if test -f /etc/mdtab -a -x /sbin/mdadd ; then + echo -n "Disable Multiple Devices" + /sbin/mdstop -a || rc_failed + rc_status -v1 +fi + +sync + +# show "the system is down" message +if test "$SPLASH" = yes ; then + /sbin/splash -q -p 65535 -t "isdown" +fi + +echo $message +exec $command -d -f diff --git a/initrd/distro-specs/suse/functions-10.1 b/initrd/distro-specs/suse/functions-10.1 index 9e8dc758..8e085348 100644 --- a/initrd/distro-specs/suse/functions-10.1 +++ b/initrd/distro-specs/suse/functions-10.1 @@ -3,7 +3,7 @@ # General changes should be done there, version specific # changes for the 10.1 here. # -# Author(s): Dirk von Suchodoletz , 23-06-2006 +# Author(s): Dirk von Suchodoletz , 26-06-2006 # # Copyright: (c) 2006 - RZ Universitaet Freiburg # @@ -48,3 +48,29 @@ rllinker acpid "10" "12" rllinker powersaved "11" "11" } +# prepare virtual machine environment (vmware, vmplayer) +config_vmware () { +rllinker "vmware-prep" "18" "02" +rllinker "vmware" "20" "02" +sed -e "s,TARGETS =,TARGETS = vmware-prep," \ + /mnt/etc/${D_INITDIR}/.depend.start >> /etc/.depend.start + echo "vmware-prep: " >> /etc/.depend.start + cp /etc/.depend.start /mnt/etc/${D_INITDIR}/.depend.start +# during vmware sessions linux should not handle usb events/devices +testmkd /mnt/var/X11R6/bin +echo '#!/bin/sh'> /mnt/var/X11R6/bin/vm-udev +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, \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, \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 +} -- cgit v1.2.3-55-g7522