else
ewarn "(none)" ; eend 1
fi
- if ! ps x | grep -q /usr/sbin/acpid ; then
+ if ! ps x 2>>$DEBUG | grep -q /usr/sbin/acpid ; then
if ! [ -r /var/run/dbus/pid ] ; then
einfo "Starting acpi daemon."
/etc/init.d/acpid start >>$DEBUG 2>&1 ; eend $?
SERVICE="$(getbootparam 'services' 2>>$DEBUG)"
SERVICELIST=$(echo "$SERVICE" | sed 's/,/\\n/g')
SERVICENL=$(echo "$SERVICE" | sed 's/,/ /g')
- einfo "Starting service(s) ${SERVICENL} in background."
for service in $(echo -e $SERVICELIST) ; do
- /etc/init.d/${service} start >>$DEBUG &
+ # support running (custom) init scripts in non-blocking mode
+ # if they contain the keyword "DO_NO_RUN_IN_BACKGROUND".
+ if grep -q 'DO_NO_RUN_IN_BACKGROUND' "/etc/init.d/${service}" 2>>$DEBUG ; then
+ einfo "Starting service ${service}."
+ /etc/init.d/${service} start >>$DEBUG
+ else
+ einfo "Starting service ${service} in background."
+ /etc/init.d/${service} start >>$DEBUG &
+ fi
done
- [ "$?" == "0" ] ; eend $?
+ eend $?
fi
}
# }}}
# backwards compatibility: if no path is given get scripts from scripts/
SCRIPTS="scripts/$SCRIPTS"
fi
- if [ "$DCSMP" = "/mnt/grmlcfg" ]; then
- # we are executing from a GRMLCFG labeled fs
- # kick everything we have done before and start over
+ if [ -z "$SCRIPTS" ]; then
+ # Fallback to test if DSCDIR/grml.sh exists
SCRIPTS="$(cd ${DCSDIR}; /bin/ls -1d [Gg][Rr][Mm][Ll].[Ss][Hh] 2>>$DEBUG)"
fi
if [ -n "$SCRIPTS" ]; then
}
# }}}
+config_virtualbox_shared_folders() {
+if [ -r /proc/acpi/battery/BAT0/info ] && grep -q 'OEM info:.*innotek' /proc/acpi/battery/BAT0/info ; then
+ einfo "VirtualBox detected, trying to set up Shared Folders."
+ if ! modprobe -l | grep -q vboxsf.ko ; then
+ ewarn "vboxsf driver not present, not setting up VirtualBox Shared Folders."
+ eend 0
+ elif ! [ -x /usr/sbin/VBoxService ] ; then
+ ewarn "virtualbox-guest-utils not installed, not setting up VirtualBox Shared Folders."
+ eend 0
+ else
+ eindent
+
+ einfo "Loading vboxsf driver."
+ lsmod | grep -q vboxsf || modprobe vboxsf
+ eend $?
+
+ einfo "Adjusting /dev/vboxguest."
+ chown root:vboxsf /dev/vboxguest
+ chmod 660 /dev/vboxguest
+ eend $?
+
+ if [ -n "$CONFIG_FSTAB_USER" ] ; then
+ fstabuser="$CONFIG_FSTAB_USER"
+ else
+ fstabuser=$(getent passwd 1000 | cut -d: -f1)
+ fi
+ einfo "Adding $fstabuser to group vboxsf."
+ adduser grml vboxsf &>/dev/null
+ eend $?
+
+ einfo "Starting VBoxService."
+ VBoxService >/dev/null &
+ eend $?
+
+ eoutdent
+ fi
+fi
+}
+
# {{{ Support customization
config_distri(){
if checkbootparam 'distri'; then