VirtualBox

Changes between Initial Version and Version 1 of VBoxInstallAndRun


Ignore:
Timestamp:
Apr 11, 2018 2:24:26 PM (6 years ago)
Author:
Michael Thayer
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • VBoxInstallAndRun

    v1 v1  
     1=== Windows Hosts === #windows
     2
     3Use the `packing` target of `kmk` to create `out\win.(x86|amd64)\(debug|release)\bin\VirtualBox-*.msi`. Use this
     4MSI install package to do a normal install. If installation fails for any reason, use logging with the MSI installer:
     5{{{
     6msiexec /i VirtualBox-xxxxx.msi /l* install.log
     7}}}
     8
     9During development it is probably much more useful to run directly from the output directory. In order to do that you need to load the drivers.  (For only loading the support driver, substitute `load.cmd` for `loadall.cmd`.) Use the following commands with the windows host:
     10{{{
     11loadall.cmd
     12}}}
     13
     14For uninstallation:
     15{{{
     16comregister.cmd -u
     17loadall.cmd -u
     18}}}
     19Whenever changes are made to the main API or the driver, you need to repeat the registration and driver loading steps.
     20
     21When changing files be sure to have first a look in taskmanager if the VBoxSVC and/or VBoxSDS servers are still running. This may happen if VBox didn't terminate correctly. [[BR]]
     22A quicker alternative is to get pskill from http://www.sysinternals.com/Utilities/PsKill.html and simply kill VBoxSVC and VBoxSDS when uncertain whether they are running or not:
     23{{{
     24pskill VBoxSVC
     25pskill VBoxSDS
     26}}}
     27
     28If you don't want to debug assertions, you can start !VirtualBox with:
     29{{{
     30set VBOX_ASSERT=none
     31set VBOX_LOG=...
     32set VBOX_LOG_FLAGS=time thread buffered
     33}}}
     34
     35
     36=== Linux Hosts === #linux
     37
     38If you want to get started up with a minimum of fuss and learning curve, execute `./loadall.sh` from the build folder.  This will do the following:
     39 * Put kernel modules using the current local source code in place so that they are automatically loaded at boot (for the current kernel only).
     40 * Set up automatic device node creation, including ownership and permissions, using udev.
     41 * Set up USB pass-through.  To use this you need to be a member of the group vboxusers (log out and back in again after joining to make it effective).
     42You can update the minimal installation by repeating the procedure, or clean it up again by executing `./loadall.sh -u`.
     43
     44Geting a minimal local build going without any form of installation can be done by executing `./load.sh` from the build directory.  This loads the main support driver and nothing else.  You can repeat this after changes or updates to the module source code.  The module can be removed again with `./load.sh -u`.  In this case you need to take care of udev rules and/or device nodes yourself.
     45
     46SELinux hosts (e.g. Oracle Linux, Fedora): It might be necessary to disable SELinux if you see messages like ''nsNativeComponentLoader: SelfRegisterDll(VBoxC.so) Load FAILED with error: /root/src/vbox/out/linux.amd64/debug/bin/components/../VBoxVMM.so: cannot restore segment prot after reloc: Permission denied''
     47
     48Disable SELinux temporary on a running system by executing
     49{{{
     50/usr/sbin/setenforce 0
     51}}}
     52or disable it permanently by editing /etc/selinux/config and changing "enforcing" to "disabled".
     53
     54=== Mac OS X Hosts === #osx
     55
     56To get a local build going, load the kernel extensions:
     57{{{
     58cd VBox/out/darwin.x86/release/dist
     59sudo ./load.sh
     60}}}
     61
     62If you get code signing error while running above script execute following command and restart the machine.
     63{{{
     64sudo nvram boot-args=kext-dev-mode=1
     65}}}
     66
     67Running the executables in `VirtualBox.app/Contents/MacOS` works as usual.
     68
     69
     70=== Solaris Hosts === #solaris
     71
     72To get a local build going without using the install package is as follows:
     73
     74Copy the VBI interfaces (not required for VirtualBox 3.1 and higher) from the source tree to the appropriate place. Copying both 32-bit and 64-bit doesn't hurt.
     75{{{
     76cp src/VBox/Runtime/r0drv/solaris/vbi/64/vbi /platform/i86pc/kernel/misc/amd64/vbi
     77cp src/VBox/Runtime/r0drv/solaris/vbi/32/vbi /platform/i86pc/kernel/misc/vbi
     78}}}
     79
     80Next, copy and install the appropriate vboxdrv
     81{{{
     82cp out/solaris.amd64/release/bin/vboxdrv /platform/i86pc/kernel/drv/amd64/vboxdrv
     83cp out/solaris.x86/release/bin/vboxdrv /platform/i86pc/kernel/drv/vboxdrv
     84}}}
     85
     86Copy the driver configuration file (no 64/32-bit differences here, the configuration file goes into the 32-bit
     87location)
     88{{{
     89cp src/VBox/HostDrivers/Support/solaris/vboxdrv.conf /platform/i86pc/kernel/drv
     90}}}
     91
     92
     93If you have previous installed the module, remove it first before trying to load a new one
     94{{{
     95su
     96rem_drv vboxdrv
     97}}}
     98
     99Load the module(s)
     100{{{
     101add_drv -m'* 0666 root sys' vboxdrv
     102}}}
     103
     104Create the devlink
     105{{{
     106ln -s /devices/pseudo/vboxdrv@0:vboxdrv /dev/vboxdrv
     107}}}
     108
     109Check if the module is of the right revision using:
     110{{{
     111modinfo | grep vbox
     112237 fffffffff7a97748   2900  75   1  vboxflt (VirtualBox NetBow 3.2.1r61839)
     113238 fffffffff8771000  27e10 107   1  vboxdrv (VirtualBox HostDrv 3.2.1r61839)
     114...
     115}}}

© 2023 Oracle
ContactPrivacy policyTerms of Use