VirtualBox

Changeset 58428 in vbox for trunk/src/VBox/HostDrivers/linux


Ignore:
Timestamp:
Oct 27, 2015 2:37:07 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
103686
Message:

linux/load.sh: It's not acceptable to assert that loadall.sh and load.sh can't be mixed. Switch back to bash and restore the ability to pass arguments to make. Try autodetect the make job number from /proc/cpuinfo.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/linux/load.sh

    r58327 r58428  
    1 #!/bin/sh
     1#!/bin/bash
    22## @file
    33# For development, builds and loads all the host drivers.
     
    1616#
    1717
    18 # The below is GNU-specific.  See VBox.sh for the longer Solaris/OS X version.
    19 TARGET=`readlink -e -- "${0}"` || exit 1
     18TARGET=`readlink -e -- "${0}"` || exit 1  # The GNU-specific way.
    2019MY_DIR="${TARGET%/[!/]*}"
    2120
    2221set -e
    23 if ! test   `echo /etc/udev/rules.d/*-vboxdrv.rules` \
    24           = "/etc/udev/rules.d/*-vboxdrv.rules"; then
    25     echo "You can not use this script while you have a version of VirtualBox installed."
    26     echo "If you are running from the build directory you may have installed using"
    27     echo "loadall.sh.  You may wish to re-run that."
    28     ## @todo Any one who needs different behaviour should decide what and do it.
     22# bird: This is not acceptable.
     23#if ! test   "`echo /etc/udev/rules.d/*-vboxdrv.rules`" \
     24#          = "/etc/udev/rules.d/*-vboxdrv.rules"; then
     25#    echo "You can not use this script while you have a version of VirtualBox installed."
     26#    echo "If you are running from the build directory you may have installed using"
     27#    echo "loadall.sh.  You may wish to re-run that."
     28#    ## @todo Any one who needs different behaviour should decide what and do it.
     29#    exit 1
     30#fi
     31
     32# Parse parameters.
     33OPT_UNLOAD_ONLY=
     34if [ ${#} -ge 1 -a "${1}" = "-u" ]; then
     35    OPT_UNLOAD_ONLY=yes
     36    shift
     37fi
     38if [ ${#} -ge 1 -a '(' "${1}" = "-h"  -o  "${1}" = "--help" ')' ]; then
     39    echo "usage: load.sh [-u] [make arguments]"
    2940    exit 1
    3041fi
    31 test ${#} -eq 0 ||
    32     if ! test ${#} -eq 1 || ! test "x${1}" = x-u; then
    33         echo "Usage: load.sh [-u]"
    34         exit 1
    35     fi
    36 sudo "${MY_DIR}/vboxdrv.sh" stop
    37 test ${#} -eq 0 || exit 0
    38 make -C "${MY_DIR}/src/vboxdrv" "$@"
    39 echo "Installing SUPDrv (aka VBoxDrv/vboxdrv)"
    40 sudo /sbin/insmod "${MY_DIR}/src/vboxdrv/vboxdrv.ko"
     42
     43# Unload.
     44sudo "${MY_DIR}/vboxdrv.sh" stop ## @todo this removes the udev rules, which is very very unhelpful.
     45
     46if [ -z "${OPT_UNLOAD_ONLY}" ]; then
     47    # Build and load.
     48    set -x
     49    MAKE_JOBS=`grep vendor_id /proc/cpuinfo | wc -l`
     50    if [ "${MAKE_JOBS}" -le "0" ]; then MAKE_JOBS=1; fi
     51    make "-j${MAKE_JOBS}" -C "${MY_DIR}/src/vboxdrv" "$@"
     52
     53    echo "Installing SUPDrv (aka VBoxDrv/vboxdrv)"
     54    sudo /sbin/insmod "${MY_DIR}/src/vboxdrv/vboxdrv.ko"
     55fi
     56
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette