Thursday, April 16, 2009

VirtualBox OSE in Fedora 10 (compilation from SVN sources)

all steps should be executed as root (maybe except step 2. and 3., but this will involve more work)

1. dependencies for Fedora 10

yum install subversion dev86 glibc-devel glibc-headers iasl kernel-devel kernel-headers libcap-devel libIDL-devel libpng-devel libX11-devel libXcursor-devel libXext-devel libxml2-devel libXmu-devel libxslt-devel libXt-devel pulseaudio-libs-devel python-devel qt-devel SDL-devel

2. download current version from subversion

mkdir /usr/src/virtualbox
cd /usr/src/virtualbox/
svn co http://www.virtualbox.org/svn/vbox/trunk vbox

3. configure and compile

cd vbox
./configure
source ./env.sh
kmk all

4. permissions

cd out/linux.x86/release/bin
chcon -t texrel_shlib_t *.so components/*.so
chown root.root VirtualBox VBoxHeadless VBoxSDL VBoxBFE VBoxNetDHCP VBoxNetAdpCtl
chmod 4511 VirtualBox VBoxHeadless VBoxSDL VBoxBFE VBoxNetDHCP VBoxNetAdpCtl

5. symbolic links (solving problem with NS_ERROR_FACTORY_NOT_REGISTERED)

cd components
ln -s ../VBoxDDU.so .
ln -s ../VBoxREM.so .
ln -s ../VBoxRT.so .
ln -s ../VBoxVMM.so .
ln -s ../VBoxXPCOM.so .

6. kernel modules

cd ../src
make
make install

7. check permissions and ownership for tmp (again solving problem with NS_ERROR_FACTORY_NOT_REGISTERED)

ls -ld /tmp

permissions should be drwxrwxrwt, user root, group root
if not use following commands to fix:

chmod 1777 /tmp
chown root:root /tmp

8. final steps

mv /usr/src/virtualbox/vbox/out/linux.x86/release/bin /usr/lib/virtualbox
ln -s /usr/lib/virtualbox/VirtualBox /usr/bin/VirtualBox
ln -s /usr/lib/virtualbox/VBoxManage /usr/bin/VBoxManage
ln -s /usr/lib/virtualbox/VBoxTunctl /usr/bin/VBoxTunctl
ln -s /usr/lib/virtualbox/VBoxHeadless /usr/bin/VBoxHeadless
ln -s /usr/lib/virtualbox/VBoxSDL /usr/bin/VBoxSDL
ln -s /usr/lib/virtualbox/VBoxVRDP /usr/bin/VBoxVRDP