<div dir="ltr"><div><div><div>Would be interesting to see the VirtualBox frontend GUI (the VirtualBox Manager GUI) using Qemu / Libvirt / KVM on the backend<br></div><br></div>End result being I could use SecureBoot feature on the host  which only allows signed kernel modules from being loaded.<br>
<br></div>Plus the kernel wont become 'tainted' with out of tree modules like vboxdrv etc.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, May 20, 2014 at 11:29 PM, Karoline Haus <span dir="ltr"><<a href="mailto:karolinehaus@yahoo.de" target="_blank">karolinehaus@yahoo.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12pt">
<div>Hi Klaus,</div><div><br></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal">Thanks for your reply.</div>
<div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal"><br></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal">
I'm not really building a "random" frontend. After all, it is fully built
 into VBox and it even has a hardened profile. It is also integrated into /usr/lib/virtualbox/VBox - I have a fully modified VBox source code version to allow this. So you can see this frontend as being trusted just as VBoxSDL. (In fact, even more, because it has a much smaller code base :-)</div>
<div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal"><br></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal">
If I added my frontend in MachineImpl.cpp, would that be sufficient to make things work? Or does the SDK have to be modified as well? (I'm using the Python API, for connecting to VBox, but I guess that just goes through the same hooks as
 VBoxManage)</div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal"><br></div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal">
Thanks for your help,</div><div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal">Karoline<br><span></span></div>
<div style="color:rgb(0,0,0);font-size:16px;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;background-color:transparent;font-style:normal"><span><br></span></div><div style="display:block">
 <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12pt"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:12pt">
 <div dir="ltr"> <font face="Arial"> Klaus Espenlaub <<a href="mailto:klaus.espenlaub@oracle.com" target="_blank">klaus.espenlaub@oracle.com</a>> schrieb am 15:17 Dienstag, 20.Mai 2014:<br> </font> </div><div><div class="h5">
  <br><br> <div>Karoline,<br clear="none"><br clear="none">On 20.05.2014 07:23, Karoline Haus wrote:<br clear="none">> Hi,<br clear="none">> I’ve developed a custom VBox graphics frontend, replacing VBoxSDL or<br clear="none">
> VBoxHeadless. It’s working well when I call it from the command
 line<br clear="none">> using “VBoxMyFrontend –startvm VM” and so on. I have built the frontend<br clear="none">> my modifying the VBox source code which I downloaded from the official<br clear="none">> website. Here I have added another frontend under src/VBox/Frontends<br clear="none">
> where I now have a folder VBoxMyFrontend. The compilation works fine and<br clear="none">> as I said I can start the frontend as well.<br clear="none"><br clear="none">Sounds good so far, everything as expected.<br clear="none">
<br clear="none">> Now what does not work is to start the VM using VBoxManage when I try to<br clear="none">> set the default frontend of that VM to my own one. Like this:<br clear="none">> # VBoxManage modifyvm Test2
 --defaultfrontend MyFrontend<br clear="none">> # VBoxManage startvm Test2<br clear="none">> VBoxManage: error: Invalid frontend name: 'MyFrontend'<br clear="none">> VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057),<br clear="none">
> component Machine, interface IMachine, callee nsISupports<br clear="none">> VBoxManage: error: Context: "LaunchVMProcess(a->session,<br clear="none">> sessionType.raw(), env.raw(), progress.asOutParam())" at line 592 of<br clear="none">
> file VBoxManageMisc.cpp<br clear="none"><br clear="none">Again this is expected behavior... the "defaultfrontend" setting isn't <br clear="none">sanity checked immediately, but it is matched against a list of known <br clear="none">
frontends which today
 can't be extended:<br clear="none">"gui", "GUI/Qt": start VirtualBox<br clear="none">"sdl", "GUI/SDL": start VBoxSDL<br clear="none">"headless", "capture", "vrdp": start VBoxHeadless<br clear="none">
<br clear="none">If you search for those strings in MachineImpl.cpp you'll find the code <br clear="none">which triggers the launching of a VM process.<br clear="none"><br clear="none">Note that this code deliberately doesn't allow starting random <br clear="none">
executables - who knows, someone might manage to construct a security <br clear="none">issue out of it. Even starting random executables from the VirtualBox <br clear="none">subdirectory can be used to cause trouble.<br clear="none">
<br clear="none">That said - if you
 have a good idea how to make it more flexible without <br clear="none">completely ignoring the potentially dangerous start of random things, <br clear="none">let us know. We're interested, for exactly the reason you need it: to <br clear="none">
allow people to implement their own frontends.<br clear="none"><br clear="none">> How can I make this work, and register my frontend with VBoxManage? Is<br clear="none">> this possible at all, or would I have to change the VBox API bindings<br clear="none">
> somewhere?<br clear="none"><br clear="none">No support for this yet, as described...<br clear="none"><br clear="none">Klaus<div><br clear="none">> Any help would be greatly appreciated.<br clear="none">> Thanks!</div>
<br clear="none"><br clear="none">_______________________________________________<br clear="none">vbox-dev mailing list<br clear="none"><a shape="rect" href="mailto:vbox-dev@virtualbox.org" target="_blank">vbox-dev@virtualbox.org</a><br clear="none">
<a shape="rect" href="https://www.virtualbox.org/mailman/listinfo/vbox-dev" target="_blank">https://www.virtualbox.org/mailman/listinfo/vbox-dev</a><br><br></div>  </div></div></div> </div>  </div> </div></div><br>_______________________________________________<br>

vbox-dev mailing list<br>
<a href="mailto:vbox-dev@virtualbox.org">vbox-dev@virtualbox.org</a><br>
<a href="https://www.virtualbox.org/mailman/listinfo/vbox-dev" target="_blank">https://www.virtualbox.org/mailman/listinfo/vbox-dev</a><br>
<br></blockquote></div><br></div>