I finally figured out how to make it work. I had first built VBox OSE without hardening, but I was getting an error "kernel driver not accessible". Then I trid to build with hardening, but it didn't allow me to use my own files and I didn't want to modify such an integral part of VBox. I rebuilt it without hardening again. This time I tweaked some permissions with /dev/vboxdrv and I reinstalled the package virtualbox-ose-dkms. My host service is now loading successfully.
Thanks to Andreas for telling me how to load my service from within ConsoleImpl2.cpp. On Thu, Jun 17, 2010 at 8:07 PM, Anirudh Bagde <[email protected]>wrote: > I managed to build from scratch VirtualBox OSE. It wasn't building before > because some dev packages needed to be installed. I modified > ConsoleImpl2.cpp to load my library and rebuilt VBoxC.so. However, in the > log file, I get: > > 00:00:00.834 supR3HardenedLdrLoadIt: Verification of > "/usr/src/virtualbox-ose-3.2.0-src/out/linux.x86/release/bin/VBoxBetterSeamless.so" > failed, rc=VERR_NOT_FOUND > > I looked in the source files and I saw that my file apparently wasn't in a > verification table (g_aSupInstallFiles) in file SUPR3HardenedVerify.cpp. > Must my build of VBox OSE not be hardened before I can do this, or should I > modify SUPR3HardenedVerify.cpp to include my library? > > > > On Tue, Jun 15, 2010 at 5:43 PM, Anirudh Bagde <[email protected]>wrote: > >> Thanks for your information. Does this mean I have to modify and rebuild >> part of VirtualBox OSE? >> >> I didn't actually build it myself. I used aptitude to download and install >> the package virtualbox-ose. So what should I do from here? >> >> Thanks again. >> >> >> On Tue, Jun 15, 2010 at 3:11 AM, Andreas - Sun Microsystems < >> [email protected]> wrote: >> >>> Hi, >>> >>> you need to have Main load your service; take a look into >>> src/VBox/Main/ConsoleImpl2.cpp, around >>> >>> . >>> . >>> . >>> #ifdef VBOX_WITH_GUEST_PROPS >>> /* >>> * Guest property service >>> */ >>> >>> rc = configGuestProperties(pConsole); >>> #endif /* VBOX_WITH_GUEST_PROPS defined */ >>> . >>> . >>> >>> >>> or >>> >>> . >>> . >>> . >>> Console::configGuestProperties(void *pvConsole) >>> . >>> . >>> . >>> >>> That's how we load the service for handling the guest properties. >>> >>> Hope this helps, >>> -Andreas. >>> >>> >>> >>> >>> My host is Ubuntu Lucid with VirtualBox OSE and my guest is Windows XP >>>> SP3 with VirtualBox (not ose). >>>> >>>> I want to create a set of programs that will make the VirtualBox >>>> seamless mode work better. To do this, I had to learn how to use the >>>> HGCM. I wrote a small test program for the guest side using C++ and >>>> building it with Visual Studio C++ 2010 Express on Windows. It used >>>> DeviceIoControl to connect and disconnect to the VBoxSharedClipboard >>>> service. It seemed to work, i.e. info.result == VINF_SUCCESS. However, >>>> info.u32ClientID == 0. >>>> >>>> I then decided to write the host service. I compiled a very small >>>> library VBoxBetterSeamless.so that would just notify me if the >>>> VBoxHGCMSvcLoad method was getting called. I verified that the method >>>> was properly exported using readelf. I then put it in >>>> /usr/lib/virtualbox/. VirtualBox OSE doesn't seem to call >>>> VBoxHGCMSvcLoad when the XP VM starts, and I really don't know how to >>>> make the service automatically load every time the VM starts. Google has >>>> not been much help. >>>> >>>> What do I need to do to cause my service to load when the XP VM starts? >>>> >>>> Thanks in advance. >>>> >>>> >>>> >>>> _______________________________________________ >>>> vbox-dev mailing list >>>> [email protected] >>>> http://vbox.innotek.de/mailman/listinfo/vbox-dev >>>> >>> >>> >>> _______________________________________________ >>> vbox-dev mailing list >>> [email protected] >>> http://vbox.innotek.de/mailman/listinfo/vbox-dev >>> >> >> >
_______________________________________________ vbox-dev mailing list [email protected] http://vbox.innotek.de/mailman/listinfo/vbox-dev
