VirtualBox

Opened 15 years ago

Closed 14 years ago

#4898 closed enhancement (fixed)

64-bit build should not require 32-bit libraries

Reported by: Romashka Owned by:
Component: other Version: VirtualBox 3.0.4
Keywords: 64-bit build Cc:
Guest type: other Host type: Linux

Description

Currently 64-bit build of VirtualBox requires 32-bit libraries.
On Linux systems (e.g. Arch Linux) that don't support multilib this does not allow to build 64-bit VirtualBox.

32-bit additions can be built as a separate package on 32-bit system, so this is no problem.
The problem is that 64-bit VirtualBox requires 32-bit packages when building on 64-bit system.

Change History (6)

comment:1 by Sander van Leeuwen, 15 years ago

priority: criticalminor
Type: taskenhancement

VirtualBox needs a 32 bits binary for 32 bits guests. (software virtualization) Changing this would mean a lot of work for us and quite frankly I don't see the point. Just add support for multilibs to your distribution.

comment:2 by Romashka, 15 years ago

VirtualBox needs a 32 bits binary for 32 bits guests. (software virtualization) Changing this would mean a lot of work for us and quite frankly I don't see the point.

I don't know much about VirtualBox internals, so sorry if my questions are silly.
Can this be made optional? I mean if user wants 64-bit and/or hardware-virtualized guests only - can (s)he disable 32-bit support during compilation?

Just add support for multilibs to your distribution.

This is not going to happen just because of VirtualBox.
It's not a matter of implementation, it's a matter of philosophy and policies of our distribution.

Can you explain more about what exactly is required to be 32-bit in VirtualBox?

comment:3 by Frank Mehnert, 15 years ago

The source code is public available. For 32-bit guests without VT-x/AMD-V, a part of the hypervisor is mapped into the guest. This part is responsible for emulating parts of the devices within the guest and it switches to the host context (world switch) if necessary. This guest code must be compiled with a 32-bit compiler as it runs in 32-bit mode. The build system uses the VBOXGC template for defining the proper build rules.

comment:4 by Romashka, 15 years ago

Thank you for the information, I will look into it.

in reply to:  2 comment:5 by Sander van Leeuwen, 15 years ago

Replying to Romashka:

Just add support for multilibs to your distribution.

This is not going to happen just because of VirtualBox.
It's not a matter of implementation, it's a matter of philosophy and policies of our distribution.

Well, I'm afraid we are not going to make such changes just because of your distro's philosophy.

It's not nearly as easy as not compiling the 32 bits binaries. You'd have to rip out/disable a lot of code. As Frank said the code is all public, so in theory you could do this yourself. If done cleanly and you wish to have it included, then we can consider it.

The result will of course be that the custom VirtualBox will not work without VT-x or AMD-V.

comment:6 by Frank Mehnert, 14 years ago

Resolution: fixed
Status: newclosed

Actually the source code contains VBOX_WITH_RAW_MODE for some time now. Add

VBOX_WITH_RAW_MODE =

to your LocalConfig.kmk and you should get exactly the behavior you want -- a 64-bit-only VMM.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use