What is the status of TrueOS with Virtualbox


#1

Meaning I tested early published TrueOS with Vbox and then it was not so good experience. Especially extensions did not work at all. I would very much like to test it again, but would like to know before I try is experience better nowadays.


TrueOS Desktop kernel panic with resume from suspend and a VirtualBox guest
#2

It works reasonably well for me, though I had to chmod /usr/local/lib/virtualbox/VBox.sh to root:vboxusers to get virtualbox to start; otherwise, my user couldn’t start it. Also, the only extensions I use are the guest additions, so if you’re doing something with extensions beyond that, I have no idea how functional they are.


#3

To be exact I meant how well TrueOS nowadays works inside Virtualbox virtual machine.


#4

@TiberiusDuval I know guest additions were fixed, and has been working well for the last few months. We have had a recent bug report here:

I suspect this could be due to the Real Name for the user containing () which doesn’t seem to be working with PCDM, and not so much an issue with VirtuaBox.


#5

Ok I tested it under Virtualbox and first impressions after running updates on this is that it is nice and fast, and easy install. I continue some testing within virtual environment and maybe I think putting it over my FreeBSD installation. (Not to be light decision as FreeBSD I have works nice enough and it was somewhat laborious to get it to that kind situation).

I like new control applications, and Lumina desktop has matured nicely. Way to go :smiley:


#6

I have been running TRUEOS in VirtualBox since the beginning. I also had PC-BSD running in a virtual box. However it was pretty buggy. Now since November it’s been running really well and the DEC27 image is great. I’d go for it now. Install it. It’ll be fine. I’m running it happily.


#7

Did you add the user to the vboxusers group?


#8

I probably did it when I first set up my system. But yeah, my user is a member of the voboxusers group, otherwise setting VBox.sh to root:vboxusers wouldn’t be any more useful than having it as root:root. But it seems like a definite bug that it isn’t root:vboxusers by default anymore. I don’t recall that ever being a problem with PC-BSD, and I’m not about to run virtualbox as root.


#9

@jmdavis We had a kludge in PC-BSD to run a special script on first launch to add the user to the vboxusers group. Now that we now longer have the overlays with pc-extractoverlay we no longer have the kludge. That’s actually also a reason PC-BSD used to ship with VirtualBox for a while before the kludge.

I just had this thought. I think if we wanted to fix the right way in Lumina maybe we could write something to look at what group the executable requires, and prompt the user for root credentials to add the user to the required group. That should be a fairly easy change to implement. I will discuss that with this week with the Moore Dynasty. :slight_smile:


#10

Here (not changed by me):

$ ls -hl /usr/local/lib/virtualbox/VBox.sh
-r-xr-xr-x  1 root  wheel   1.8K 30 Dec 07:42 /usr/local/lib/virtualbox/VBox.sh
$ 

#11

I have no problem with adding my user to the vboxusers group rather than that happening automatically. I think that that’s pretty normal in the linux distros I’ve used. However, I don’t want to have to muck with the permissions on anything in virtualbox to be able to use it, and it makes no sense IMHO to run it as root. And I found that if I did not set the permissions on VBox.sh so that its group is vboxusers, I could not run virtualbox, even though my user is a member of wheel. I don’t know why. Maybe wheel is treated specially, because it has to do with sudo.

Based on both PC-BSD and the linux distros I’ve used, my expectation would have been that virtualbox would be set up so that if you’re user is in the vboxusers group, you can run it. And that does not appear to be the case right now.


#12

Does it help to remove then install virtualbox-ose?

Is the problem reproducible with virtualbox-ose installed to a fresh installation of the OS?


#13

I have been adding my user to vboxusers, and it works. I have not been using the sh script but just launching from the menu. You might also be missing the vboxnet service from startup?


#14

If I do that, then /usr/local/lib/virtualbox/VBox.sh is owned by root:wheel, but it does seem to work for me this time even though it definitely didn’t before until I changed its permissions to root:vboxusers. It does now have world executable permissions set. So, I don’t know what the deal was. But it seems to be working without problems now, whereas it didn’t before.

I don’t know, but I’m not about to blow away my system just to check.

I would assume that the menu runs /usr/local/bin/virtualbox which is just a link to the script. So, if you were going to have problems with the script, you’d have problems with the virtualbox command and thus presumably the menu. Personally, I start it via the virtualbox command and not directly via the script, but if you’re going to mess with the permissions to run it, you have to mess with the script, since the virtualbox command is just a symlink to the script.

As to vboxnet, yes I have all that it my rc.conf, and it looks like uninstalling and reinstalling probably put vboxnet_enable="YES" in rc.conf for me, since it’s now at the end of my rc.conf, making it so that it’s in there twice.


#15

:thumbsup:

Was the earlier, bugged, installation performed with an unstable set of software?


#16

Not AFAIK - at least not beyond the norm with TrueOS. I’ve always been using whatever repo was the default, not unstable or whatever it is that pulls in packages that aren’t ready yet.


#17

OK. Without ploughing through commits for https://github.com/trueos/freebsd-ports/commits/xserver-next and other branches and upstream, I guess that:

  • a fix was made but something in your environment caused the fix to be not effective for one of your installed files.

#18

Contents of /usr/local/share/applications/virtualbox.desktop, and vbox.sh is nowhere to be found:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Name=Oracle VM VirtualBox
GenericName=Virtual Machine
Type=Application
Exec=VirtualBox
TryExec=VirtualBox
Icon=VBox
Categories=Emulator;System;
Comment=Run several virtual systems on a single host computer
Comment[de]=Windows und andere Betriebssysteme unter FreeBSD ausführen
Comment[it]=Esegui più macchine virtuali su un singolo computer
Comment[ko]=가상 머신
Comment[pl]=Uruchamianie wielu systemów wirtualnych na jednym komputerze gospodarza
Comment[ru]=Запуск нескольких виртуальных машин на одном компьютере
Comment[sv]=Kör flera virtuella system på en enda värddator


#19

Also note that /usr/local/lib/virtualbox/vbox.sh is a shell script to fix KDE:

#!/bin/sh

Oracle VM VirtualBox startup script, FreeBSD hosts.

Copyright © 2006-2012 Oracle Corporation

This file is part of VirtualBox Open Source Edition (OSE), as

available from http://www.virtualbox.org. This file is free software;

you can redistribute it and/or modify it under the terms of the GNU

General Public License (GPL) as published by the Free Software

Foundation, in version 2 as it comes in the “COPYING” file of the

VirtualBox OSE distribution. VirtualBox OSE is distributed in the

hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.

PATH="/usr/bin:/bin:/usr/sbin:/sbin"
CONFIG="/usr/local/etc/vbox/vbox.cfg"

test -r “${CONFIG}” &&
. "${CONFIG}"
test -z “${INSTALL_DIR}” &&
if test -d /usr/local/lib/virtualbox &&
test -f /usr/local/lib/virtualbox/VBoxRT.so; then
INSTALL_DIR=/usr/local/lib/virtualbox
else
echo "Could not find VirtualBox installation. Please reinstall."
exit 1
fi

workaround for the KDE dialog problem

KDE_FORK_SLAVES=1; export KDE_FORK_SLAVES

APP=basename $0
case “$APP” in
VirtualBox|virtualbox)
exec “$INSTALL_DIR/VirtualBox” “$@”
;;
VBoxManage|vboxmanage)
exec “$INSTALL_DIR/VBoxManage” “$@”
;;
VBoxSDL|vboxsdl)
exec “$INSTALL_DIR/VBoxSDL” “$@”
;;
VBoxVRDP|VBoxHeadless|vboxheadless)
exec “$INSTALL_DIR/VBoxHeadless” “$@”
;;
VBoxAutostart|vboxautostart)
exec “$INSTALL_DIR/VBoxAutostart” “$@”
;;
VBoxBalloonCtrl|vboxballoonctrl)
exec “$INSTALL_DIR/VBoxBalloonCtrl” “$@”
;;
VBoxBugReport|vboxbugreport)
exec “$INSTALL_DIR/VBoxBugReport” “$@”
;;
vboxwebsrv)
exec “$INSTALL_DIR/vboxwebsrv” “$@”
;;
*)
echo "Unknown application - $APP"
exit 1
;;
esac
exit 0


#20

The other commands in to run virtualbox are all symlinks to the VBox.sh

$ ls -l /usr/local/bin/virtualbox
lrwxr-xr-x  1 root  wheel  25 Dec 29 23:42 /usr/local/bin/virtualbox -> ../lib/virtualbox/VBox.sh
$ ls -l /usr/local/bin/VirtualBox
lrwxr-xr-x  1 root  wheel  25 Dec 29 23:42 /usr/local/bin/VirtualBox -> ../lib/virtualbox/VBox.sh

The script then runs another command within /usr/local/lib/virtualbox, but not one that’s in the PATH, since /usr/local/lib/virtualbox is not normally in anyone’s PATH. If you’re using virtualbox, you’re using VBox.sh even if you’re not explicitly calling it. I doubt that anyone is calling VBox.sh explicitly, but we’re all using it, or we’re not using virtualbox.