Category Archives: Virtual Box

Using ReactOS, some more random notes.

So, first item, I have been using the nightly release builds. I started with the 0.4.14 version, but I wanted to try a newer version. As a note, upgrading from 0.4.14 to the nightly did not work for me, but I am not sure if it supposed to work. However, I have not had issues upgrading to newer nightly builds. I do take a snapshot before each update.

I am running ReactOS with VirtualBox, my current version is 7.0.6_Gentoo r155176, on a Gentoo host. I had no problem installing Guest Additions and video and sound work in my VM. The current ReactOS version:

Current ReactOS nightly version I am using.

First a disclaimer, the following issues I list might be from something I have done wrong and not a ReactOS issue.

One issue I have always had is saving the running VirtualBox VM and restarting. It is not a huge issue because the VM starts very quickly. It would be nice to restart without having to reopen all my apps. I have had this issue on two systems. This is the error I get:

Blue screen when restoring VBox machine.

Next issue is remote drive mounting. I keep most items on a Synology NAS share which is mounted on the host Gentoo system. I share the host directory with the ReactOS VM through VirtualBox using “Auto Mount”, “Make Permanent”, and a driver letter. When I used /Persistent with the net command, ReactOS would not restart after a couple of boots (cannot really remember), it displayed a red stripe with a frozen display. I just made a bat file on the desktop to mount with a drive letter. This might be a mistake on my part.

Another minor issue was installing Open Watcom v2 using the GUI installer (link is an example open-watcom-2_0-c-win-x86.exe file). On a new install it is just an uncomplicated way to get OW installed. The following is the GUI installer from the ReactOS desktop. Click no, the screen flashes and the same dialog is displayed. Click yes and the app closes.

Open Watcom v2 Install Screen

However, if I run it from the command line using the -i option (no dialogs) everything is installed. This is minor because after the install I unarchive nightly OW builds into the Watcom directory.

Open Watcom v2 After GUI Install

I did try to install Visual Studio 2017 and I get an error. It is no big deal; I just want to see if it installed, but it might not be supported.

MS Studio 2017 Install Attempt.

Occasionally, or maybe more, when an install dialog or other dialog is displayed some of the text is missing.

One installation I found useful is the GNU Utilities for Win32. I unarchive it in the root and put the binary directory in Path. This helps swapping between ReactOS and Linux considering I am always typing ls rather than dir.

Okay, there are some rambling thoughts/comments. Overall, I cannot understand why 0.4.15 is not the “latest and greatest” for downloading. It is much better than the 0.4.14 version.

ReactOS as a 32bit Open Watcom Dev Environment

I was having problems with the old Windows XP VM I use to compile Open Watcom (OW) boot projects. This VM is an image of my original XP Desktop install that I have IDA and a lot of unused junk, so I decided to build a barebones VM for just using OW compiling. Initially, I was going to use a Windows 7 install as a lightweight single purpose solution; however, that turned out to be a real pain. Even using a real DVD on Windows 7 seemed to be more trouble than it was worth, so I looked for another option. I finally settled on setting up and giving a ReactOS VM.

ReactOS System About
VirtualBox ReactOS VM

I was incredibly surprised that this worked very well. The VM is lightweight, and I have not had many issues of concern. The VM does not seem to restore correctly from a VirtualBox save, but loading is so fast it really does not matter. My work setup for this project is to code in Visual Studio Code for Linux with the source on a Synology NAS share. The share is mounted (systemd automount) in my home directory. The ReactOS VM shares this directory for access to the source and the VM mounts a FAT16 vdi which is my test image that gets booted using Bochs emulator running from a bash shell on my Linux system.

VS Code About GUI

The workflow is to code in VS Code (on Linux), compile and copy the binary to the FAT16 vdi image using the ReactOS VM, and run the test system using Bochs (Linux) using its internal debugger.

VSCode and ReactOS VM on Gentoo Desktop

skiftOS

So on OS News I see skiftOS: a hobby operating system and the description reads:

skiftOS is a hobby operating system built for learning and for fun targeting the x86 platform. It features a kernel named hjert, a graphical user interface with a compositing window manager, and familiar UNIX utilities.

I had to give it a try using VBox. I wasn’t sure which image to use and just downloaded bootdisk-limine-x86_32.img and ended up converting it to a VDI before I found the instructions. There is quite a lot of documentation if you scroll to the bottom of the Github page. This is the initial startup screen:

This is a shot of the task manager, it had locked up at this point:

The about screen:

Anyway, it locked up a few times, but it is a neat OS, and maybe I’ll look at it some more later.

Virtual Box VERR_VM_DRIVER_NOT_ACCESSIBLE error.

I saw this in the logs of both VB 4.3.30 and 5+:

Failed to open “/dev/vboxdrvu”, errno=13, rc=VERR_VM_DRIVER_NOT_ACCESSIBLE

Which based on this post (Ref) is caused by having the wrong permissions, resulting in:

ls -l /dev
 
crw------- 1 root root 10, 57 Oct 2 05:58 vboxdrv
crw------- 1 root root 10, 56 Oct 2 05:58 vboxdrvu
crw------- 1 root root 10, 55 Oct 2 05:58 vboxnetctl
drwxr-x--- 4 root vboxusers 80 Oct 2 05:58 vboxusb

The fix is to create /lib/udev/rules.d/20-virtualbox2.rules and add:

KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
KERNEL=="vboxdrvu", NAME="vboxdrvu", OWNER="root", GROUP="vboxusers", MODE="0660"
KERNEL=="vboxnetctl", NAME="vboxnetctl", OWNER="root",GROUP="vboxusers", MODE="0660"

Then restart the system and the permissions are now:

ls -l /dev
 
crw-rw---- 1 root vboxusers 10, 57 Oct 5 06:00 vboxdrv
crw-rw---- 1 root vboxusers 10, 56 Oct 5 06:00 vboxdrvu
crw-rw---- 1 root vboxusers 10, 55 Oct 5 06:00 vboxnetctl
drwxr-x--- 4 root vboxusers 80 Oct 5 06:00 vboxusb

I am not sure how correct this is by including vboxdrv, but it does prevent the errors in VB logs.

Virtual Box 5.0 in Portage!

I guess just in time for Windows 10???

vb5

emerge –unmerge -p virtualbox

Same old catch if you want the BIOS compiled then Open Watcom is needed.  To be specific, I have had to use Open Watcom 1.9.  The emerge output if OW is not found:

>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-emulation/virtualbox-5.0.0/work/VirtualBox-5.0.0 …
Checking for environment: Determined build machine: linux.amd64, target machine: linux.amd64, OK.
Checking for kBuild: found, OK.
Checking for gcc: found version 4.8.4, OK.
Checking for Open Watcom:
** Open Watcom was not found!
Checking for iasl: found version 20130117, OK.
Checking for xslt: found, OK.

After installing Open Watcom and “export WATCOM=/usr//bin/watcom19”, running emerge should result in:

>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-emulation/virtualbox-5.0.0/work/VirtualBox-5.0.0 …
Checking for environment: Determined build machine: linux.amd64, target machine: linux.amd64, OK.
Checking for kBuild: found, OK.
Checking for gcc: found version 4.8.4, OK.
Checking for Open Watcom: found version 1.9, OK.
Checking for iasl: found version 20130117, OK.
Checking for xslt: found, OK.

Also had to “emerge -v virtualbox-extpack-oracle app-emulation/virtualbox-additions” separately.