--- trunk/virtualbox/virtualbox-config.sh 2007/04/13 22:51:43 127 +++ trunk/virtualbox/virtualbox-config.sh 2007/04/14 14:10:48 129 @@ -1,49 +1,67 @@ #!/bin/bash -# $Header: /root/magellan-cvs/src/virtualbox/virtualbox-config.sh,v 1.2 2007-04-13 22:51:43 niro Exp $ +# $Header: /root/magellan-cvs/src/virtualbox/virtualbox-config.sh,v 1.3 2007-04-14 14:10:48 niro Exp $ # Configures virtualbox for Magellan-Linux LIBDIR=/usr/lib INSTDIR=${LIBDIR}/virtualbox VBOXMODULE=vboxdrv.ko -if [[ $(id -u) != 0 ]] +COLRED="\033[1;6m\033[31m" +COLGREEN="\033[1;6m\033[32m" +COLDEFAULT="\033[0m" + +if [[ ${NOCOLORS} = true ]] then - echo "You must be r00t!" - exit 1 + COLRED="" + COLGREEN="" + COLDEFAULT="" fi -echo "Running $(basename $0) for kernelversion $(uname -r) ..." +die() { echo -e "${COLRED}$@${COLDEFAULT}"; exit 1; } +mecho() { echo -e "${COLGREEN}$@${COLDEFAULT}"; } + +# must be root +[[ $(id -u) != 0 ]] && die "You must be r00t!" + +mecho "Running $(basename $0) for kernelversion $(uname -r) ..." if [ ! -f /lib/modules/$(uname -r)/source/include/linux/version.h ] then - echo "No includes for $(uname -r) found! Aborting." - exit 1 + die "No kernel headers for $(uname -r) found! Aborting." fi if [[ -f /lib/modules/$(uname -r)/misc/${VBOXMODULE} ]] then - echo "Removing old module ..." + mecho "Removing old module ..." rm -f /lib/modules/$(uname -r)/misc/${VBOXMODULE} fi # compile the module cd ${INSTDIR}/src -make -C /lib/modules/$(uname -r)/source SUBDIRS=$(pwd) SRCROOT=$(pwd) clean modules +make -C /lib/modules/$(uname -r)/source SUBDIRS=$(pwd) SRCROOT=$(pwd) clean modules || die "mod-compile" # install the module install -d /lib/modules/$(uname -r)/misc -install -m0644 ${VBOXMODULE} /lib/modules/$(uname -r)/misc +install -m0644 ${VBOXMODULE} /lib/modules/$(uname -r)/misc || die "mod-install" # calc module dependencies +mecho "Calculating module dependencies ..." depmod -ae +# re-read udev rules to grant the right permissions +if [[ -x $(which udevcontrol) ]] +then + mecho "Reloading udev configuration ..." + $(which udevcontrol) reload_config +fi + # load the module -echo "Loading module ${VBOXMODULE} ..." +mecho "Loading kernel-module ${VBOXMODULE} ..." modprobe $(basename ${VBOXMODULE} .ko) echo -echo "Virtualbox is now configured for your system." -echo "Do not forget to add you users to the 'virtualbox' group." +mecho "Virtualbox is now configured for your system." +mecho "Do not forget to add you users to the 'virtualbox' group." echo exit 0