The fixes which were included in VirtualBox 4.0.8 happen to help not only OS/2 1.x but also Xenix. The 386 versions of Xenix 2.3.x (not necessarily older versions!) should install in a VM without trouble, but the 286 versions are trickier. The reason for that is deceptively simple: different distribution media.
Xenix is one of the few operating systems which determine the format of diskettes based on the floppy drive type. In contrast, all operating systems which use DOS formatted floppies (including DOS, OS/2, and Windows) use the information stored on the diskette itself to determine its format.
VirtualBox by default emulates a 1.44 MB 3½” floppy drive. Attempting to boot Xenix 286 version 2.3.2, which comes on 1.2 MB 5¼” floppies, ends up like this:
The error message isn’t very obvious, but the failure to load /etc/emulator means Xenix is confused about the filesystem on the floppy. The kernel itself is loaded by the BIOS and can be successfully read even when the 1.2 MB floppy image is used in a 1.44 MB drive. It’s of course physically not possible to use 5¼” 1.2 MB floppies in 3½” 1.44 MB drives, but it is possible to format 3½” high density diskettes as 1.2 MB media.
Note the message indicating the floppy type as 135ds18. In Xenix parlance, that means 135 TPI drive (high density 3½”), double sided, 18 sector per track. In other words, standard 1.44 MB drive.
So how to fix it? It’s actually quite easy. The solution is setting the VM’s floppy drive type to 1.2 MB. The functionality is not exposed in a user-friendly way, but the VBoxManage command can be used to set the type:
VBoxManage setextradata <vm> VBoxInternal/Devices/i82078/0/LUN#0/Config/Type "Floppy 1.20"
With that small change, the Xenix 286 installer successfully starts:
- The virtual hard disk should be 500 MB or smaller or Xenix will have trouble using it.
- When Xenix asks to “hit any key to reboot” after shutting down, reset the VM instead using the <Host>-R key combination.