VirtualBox

Ticket #4898 (closed enhancement: fixed)

Opened 5 years ago

Last modified 4 years ago

64-bit build should not require 32-bit libraries

Reported by: Romashka Owned by:
Priority: minor 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

comment:1 Changed 5 years ago by sandervl73

  • Priority changed from critical to minor
  • Type changed from task to enhancement

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 follow-up: ↓ 5 Changed 5 years ago by Romashka

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 Changed 5 years ago by frank

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 Changed 5 years ago by Romashka

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

comment:5 in reply to: ↑ 2 Changed 5 years ago by sandervl73

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 Changed 4 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

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.

www.oracle.com
ContactPrivacy policyTerms of Use