ArcaOS 5.0.x as a VirtualBox 6.x Guest

What is VirtualBox
VirtualBox is an x86 virtualization software package, originally created by German software company InnoTek, now developed by Oracle as part of its xVM virtualization platform. It is installed on an existing host operating system as an application. Within this application, additional operating systems, each known as a Guest OS, can be loaded and run, each with its own virtual environment.

Homepage Link: http://www.virtualbox.org/

Running ArcaOS as a guest
It will install and run with the drivers ones included on ArcaOS 5.0.x. You can improve some performance of the guest machine installing some different drivers or tuning some of them.

Audio
If you select "ICH AC97" as device of the Virtual Machine, it will work with the UNIAUD driver.

Using UNIAUD (UNIAUD32.sys - 2.02.04 / 12 Jan 2018 15:44:36) (UNIAUD16.SYS - 1.09.7 / 25 Jun 2017 17:11:40) included on ArcaOS 5.0.3 on you config.sys will look like: DEVICE=C:\MMOS2\UNIAUD32.SYS DEVICE=C:\MMOS2\UNIAUD16.SYS /C

PCnet-FAST III
For the PCnet-FAST III you need to install the "AMD PCNet Ethernet Family Adapter" that is included on ArcaOS.

Your config.sys will include this: DEVICE=C:\IBMCOM\MACS\PCNTND.OS2

Intel
DEVICE=C:\IBMCOM\MACS\E1000.OS2

Video
It had been reported that GENGRADD, VBOXGRADD, SNAP and Panorama drivers may work on the guest virtual machine. But SNAP and Panorama are not really necessary and may be generating some little overhead according to some opinions. So it may be recommended to use GENGRADD or VBOXGRADD.

VBXGRADD
This driver is available on Valery Sedletski OS/2's guest additions files. 

Installation
Copy the vbxgradd.dll file to the C:\OS2\DLL folder.

Add the following on the config.sys set gradd_chains=c1 set c1=vbxgradd

Check that you have REM out any other "set c1=" or "set greext=sddgrext" from the config.sys.

Now you can reboot and test the video.

Getting Higher/Custom Resolutions
Sometimes you need to configure the guest machine (from the host OS) to get a custom resolution. You can do that from the command promp of the host.

This is a Windows 10 host example, with the VM turned off execute: "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "ArcaOS 5.0.3" "CustomVideoMode1" "1920x1080x32"

After that boot the guest ArcaOS machine and you can see the resolution on the "System Setup - Screen"



Panorama
Pending: Finding out to set HD resolution.

SNAP
Using the SNAP drivers you can get a custom resolution.

From the host machine you can add a custom resolution support to the guest OS with the following command: VBoxManage setextradata "" "CustomVideoMode1" "1366x768x32"

Example: vboxmanage setextradata "ArcaOS 5.0" "CustomVideoMode1" "1366x768x32"

You will get no confirmation from this command code.

Turn on the guest OS/2 or ArcaOS and on the /SNAP/ directory run: gamode add 1366 768 32 This will add the new resolution on the ArcaOS Screen Resolution options. Access the settings page for resolution and select the new one.

USB
USB virtual ports are working on the platform.

Here it is some sample on the parameters on config.sys for USB: BASEDEV=USBOHCD.SYS BASEDEV=USBEHCD.SYS

Diskette
The diskette integration is very easy too:

On the settings of the Virtual Machine on "Storage" you can add the diskette drive.



Now you can select the Diskette image. The IMA format is supported.



You can use a Windows program called "WinImage" to generate your own IMA Diskettes imaged.

Shared Clipboard
The shared clipboard integration is working. It has been tested with Windows 10 as host and ArcaOS 5.0.3 as guest. You can copy+paste text from Windows or ArcaOS without problems after installing the OS/2 Guest Add-ons.

Be sure to enable the shared clipboard (bidirectional) on the virtual machine.

Mouse Integration
Mouse integration also works. It had been tested with Windows 10 as host and ArcaOS 5.0.3 as guest using OS/2 Guest Add-ons.

If you are running ArcaOS guest on a window, you don't have to disconnect the mouse with "Ctrl Right" to control the host OS.

VBOXMOUSE.SYS will replace AMOUSE.SYS and your config.sys will look like this: REM DEVICE=C:\OS2\BOOT\AMOUSE.SYS DEVICE=C:\PROGRAMS\VBOX\VBOXMOUSE.SYS

Documentation
Documentation is available on the VirtualBox site to install several Guest OS's: http://www.virtualbox.org/wiki/Guest_OSes

According to the VirtualBox Documentation, OS/2 MCP2 was reported to be stable but it requires VT-x hardware virtualization support. That means that your computer has to be modern enough to have that feature.

Question: ArcaOS, eCS or OS/2 freezes on booting, showing only the logo
A: Check that your computer has the VT-X mode enabled. Or check that VT-x hardware virtualization is turned on in your computer's BIOS.



Q:What "network adapter" to use in VirtualBox OS/2 Guest?
Reply by Lars Erdmann:

I am running under a Windows host but I would hope the answer will be the same:

1) Use "Intel PRO/1000 MT Server". The equivalent driver in OS/2 is E1000.OS2 ("Intel(R) PRO/1000 Network Connection").

If you use DHCP in your OS/2 guest and have problems with it (you do not get assigned an IP address), then modify your \IBMCOM\PROTOCOL.INI file and add the following to the [E1000_nif] section: TRANSMITBUFFERS = 20 RECEIVEBUFFERS = 20 Note that you'll have to do this manually as these parameters are undocumented and not offered though the E1000.NIF file. You'll also have to redo this every time you let the network config tool change your PROTOCOL.INI.

2) If that still fails, then use "PCnet-FAST III (Am79C973)".

The equivalent driver in OS/2 should be PCNTND.OS2 ("AMD PCNet Ethernet Family Adapter"). Maybe you will have to pick "PCnet-PCI II (Am79C970A)" in VirtualBox instead. In any case, the OS/2 driver will be the same.

Changing the UUID of Virtual HDD
Sometimes you want to duplicate your Virtual HDD and move them to other Virtual machines. You may get an error that the VHDD UUID is already used and it can not be assigned to other VM.

I recommends this command to fix remove the UUID of the Virtual HDD image:

For example: "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" internalcommands sethduuid "D:\VM\VirtualBox\ArcaOS 5.0.3\ArcaOS 5.0.3.vdi"

Links

 * Discussion about eComStation as Guest and Screen Resolutions