[vbox-dev] Unable to start VBox

John Frankish john.frankish at outlook.com
Thu May 11 15:59:49 GMT 2017


> > > > After compiling VirtualBox-5.1.22 for linux, I am unable to start it.
> > > >
> > > > I'd be grateful for any suggestions on how to fix this.
> > >> 
> > > > ----------
> > > > snip
> > > >
> > > are you able to start VirtualBox as root? I assume you will experience the
> > > same problem as when running as regular user. In that case please run
> > > strace again and provide the (compressed) log file of strace.
> > > 
> > No, I'm not able to start virtual box with sudo, but I noticed that I only
> > got the i965/swrast message when I started with sudo.
> > 
> > Note that /usr/local/lib/virtualbox/VirtualBox is suid root.
> >  
> > Since "Virtualbox" and "sudo VirtualBox" produces different output I attached
> > both strace logs.
> > 
> to be honest I'm not 100% sure where the problem is. To me it seems like
> VirtualBox wants to open
> 
>   /usr/local/lib/dri/swrast_dri.so
> 
> which is actually a symlink to
> 
>  /tmp/tcloop/Xorg-7.7-3d/usr/local/lib/dri/swrast_dri.so
> 
> Now I don't know the exact permissions of all parts of that /tmp/tcloop etc
> path. We only accept files for dlopen which have the proper permissions
> (owned by root, not writable by any other user, also not the directory).
> /tmp might be a special case, a file placed in /tmp owned by root should
> be reasonable safe to open but we might reject it.
> 
> You should try two things: First, try the latest patch from
> 
>   https://www.virtualbox.org/ticket/16693
> 
> (apply it against the 5.1.22 sources) and try again. If it still doesn't
> work, try to place swrast_dri.so to a different directory where all parts
> of the path name are owned by root and have 0755 permissions.
> 
I applied the patch and recompiled VirtualBox-5.1.22 and finally it starts and I can load and run an iso - thanks for your help with this.

However...

..the tinycorelinux system is based on loop mounting squashfs extensions (packages) which are symlinked to the root filesystem.

For example, /usr/local/bin/sed -> /tmp/tcloop/sed/usr/local/bin/sed

This allows the root filesystem to be loaded into RAM and work effectively on low resource machines.

I've already found that the entire contents of /usr/local/lib/virtualbox has to be written to the root filesystem for things to work along with at least some of qt-5.x, which is a huge hit in terms of RAM usage.

Is there some reason why this should be so? It essentially precludes using virtualbox on tinycorelinux.



More information about the vbox-dev mailing list