Not able to build VirtualBox Guest additions on arm64 machine with Ubuntu

Asked by Jhankar Agrawal on 2020-05-01

I can see Ubuntu provides the iso image of Virtualbox guest addition but when I try to build it from the source code on an arm64 machine, it fails. Am I missing anything?

ubuntu@1pthunderx1-137:~/virtualbox-guest-additions/src/VirtualBox-6.1.6$ ./configure --nofatal --disable-dbus --disable-xpcom --disable-sdl-ttf --disable-pulse --disable-alsa --disable-kmods --build-headless

Checking for the environment: ** Cannot determine system!

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu virtualbox-guest-additions-iso Edit question
Assignee:
No assignee Edit question
Last query:
2020-05-01
Last reply:
2020-05-04

Does the ISO that automatically downloads is mounted is there not an ARM64 version?

It is for the ARM64 version. But is it licensed or open-source can be downloaded for further development?

It's what is downloaded from the VirtualBox site. It's an open source project. Does the ISO only support x86 and Amd64?

VirtualBox Guest Additions image is available for Ubuntu with Arm64. Here's the link: https://launchpad.net/ubuntu/bionic/arm64/virtualbox-guest-additions-iso

And when I try to build the Virtualbox-guest-additions it's failing because arm64 is not supported.
Does Ubuntu apply some patch on top of VirtualBox code for building Virtualbox-guest-additions?

Yes, according to the code downloaded from the VirtualBox site, the code only supports x86 and Amd64 but in Ubuntu, we have the support of Virtualbox-guest-additions package for arm64.

Manfred Hampl (m-hampl) said : #6

The package virtualbox-guest-additions-iso is architecture-independent. The deb file can be installed on any architecture, but it does make sense only on amd64 and i386 architectures.

The version in the Ubuntu repositories has been built on an amd64 system (similar to all packages that are for "all" architectures).
Packaging the virtualbox-guest-additions-iso software is in fact nothing else but putting it into a deb archive, together with some change log and copyright file and does not require any compilation. This should work on any architecture.

What exactly do you want to achieve, and how did you try that?

I do not find any "configure" script in and around virtualbox-guest-additions-iso, so where does it come from?

Which source code did you download, and from where?

Do you try to compile the whole virtualbox package on your arm64 system (and not only virtualbox-guest-additions-iso)? This will probably give such error message.

Yes, I build the package from the VirtualBox source code on the arm64 system.

I downloaded the source code version 6.0.14 from the VirtualBox site.

I made some fixes and went ahead. Now, the code stuck in include/iprt/cdefs.h:
error "Architecture identifier missing / not implemented."

We need to find the value of RT_VALID_PTR in the case of arm64.

Is it possible to port this package on arm64? Or are there some virtualization concepts due to which it's not possible?

Manfred Hampl (m-hampl) said : #8

"Yes, I build the package from the VirtualBox source code"

Which package are you talkin about - the virtualbox-guest-additions-iso or the whole VirtualBox software package?

I build 'Virtualbox-guest-additions' from the source code of VirtualBox. Here are the steps which I tried:

rm -rf src/VirtualBox-6.1.6/kBuild/bin src/VirtualBox-6.1.6/tools
cp src/virtualbox-guest-additions-localconfig LocalConfig.kmk
./configure --nofatal --disable-dbus --disable-xpcom --disable-sdl-ttf --disable-pulse --disable-alsa --disable-kmods --build-headless
source ./env.sh
kmk KBUILD_VERBOSE=2

Using these steps, the build was successful on x64 system. Hence, we tried the same on the arm64 system.

Manfred Hampl (m-hampl) said : #10

This has nothing to do with Ubuntu. Please ask at support for VirtualBox.

Can you help with this problem?

Provide an answer of your own, or ask Jhankar Agrawal for more information if necessary.

To post a message you must log in.