VirtualBox

From Wildsong
Revision as of 21:06, 10 November 2016 by Brian Wilson (talk | contribs)
Jump to navigationJump to search

2014-11 At this time, I use VirtualBox when I need to build an appliance that I can move to a server, or when I need a machine to work on Windows or Linux hosts. Otherwise I use Parallels on my Mac now.

An example of an appliance is this one that I am building to allow me to run Skype on a server so that I can send notifications from Icinga to the support crew at CDS.

VirtualBox on Mac

It seems everytime I upgrade I have this problem. Upgrade fails. Uninstall and upgrade fails. I think it is because kernel modules don't get unloaded. This seems to work:

  1. Download new version.
  2. Run uninstaller.
  3. Reboot.
  4. Run installer.


Migration from Parallels to VirtualBox

I do this not so I can abandon Parallels, but so that I can run a VM on either my Mac or a Linux desktop (Laysan). I keep data in Owncloud on the host, set up a share for the client, and only run one at a time.

I think the basic migration steps are:

  1. Create a copy of the Parallels machine.
  2. Start the copy. Uninstall Parallels Tools.
  3. Remove any snapshots.
  4. Shutdown the VM.
  5. Copy the hard disk file from the Mac to the Linux host.
  6. Create a new VirtualBox VM, copy the MAC from the Parallels machine. Set up the VB machine as much like the Parallels machine as possible.
  7. Connect the copied VMDK file to the new VB machine.
  8. Launch the VB machine.
  9. Install VirtualBox tools in it.
  10. On the Mac, destroy the copy. Or mark it as a backup anyway. You don't need it anymore.

VirtualBox for software development

I am using VirtualBox for all sorts of development work now.

I set up virtual machines and copy them to my laptop so that I can continue working, no matter where I am.

As the host operating system I use Ubuntu on the desktop and Mac OS X on the laptop. I used to use Windows 7 at work because that's the "official" desktop OS. I switched to Ubuntu, moved development to a VM, and no one has noticed!

In virtual machines (as guest operating systems) I use XP, Win 7 32 bit, and Win 7 64 bit, switching machines as required for testing and development.

On Ubuntu I run OpenOffice and Firefox and Gimp sundry other open source tools to get the non-development work done.

Grab bag of tricks

Expand a hard drive

Installing video drivers

I was able to get into Safe Mode by doing a "Reset" (Host-R) while the machine was starting up. This forces it into the menu where you can pick Safe Mode.

Cloning

YAY YAY YAY Kudos to VirtualBox developers. The current version 4.1 has a working CLONE button. I can delete half my notes!

Setting up a second monitor

In version 4, you have to stop the machine, open Settings, go to Display and adjust the slider to add a second monitor. I have not tried more than 2. Each monitor appears in a separate window and you can move them around and maximize them or go to full screen mode.

3D Acceleration

Does not work for me. 11-Aug-2010 Under Settings->Display->3D Acceleration

I jumped through the hoops, booting in SAFE mode, installing the drivers, and rebooting only to get a black screen. I had to turn 3D off again to get back up and running.

Using workspaces

I make extensive use of workspaces, so Workspace 1 is normal Ubuntu with a browser, and Workspace 2 is my Windows environment. From Windows you can type the Host key (right control on Ubuntu) to escape from the Windows virtual machine then Ctl-Alt-Arrow key to move to a different workspace. It becomes automatic after a few hours of use.

Mac has workspaces too, use Ctl-1, Ctl-2... to switch.

Windows XP

I am moving away from XP now. I leave these notes here for posterity and also for testing as our customers are still using it.

XP Serial ports

I wanted to be able to use a GPS device on XP. The GPS connects to the Macintosh via bluetooth, which sees it as /dev/tty.BTGPS3333330C4837-Seria (that's a mouthful.)

I created a connection in VirtualBox using "Host Device" and putting that device string into the device box in the GUI. It works fine except XP can't see it! I put it at COM1 in the GUI (that is, XP should see the BT GPS at COM1)

The problem is that XP plug and play is not working. You have to manually configure the serial port.

  1. Control Panel->Add hardware
  2. Click "next" to start discovery.
  3. Select "yes..." then click next.
  4. Select "add new hardware device" from the end of the list, click next.
  5. Select "Search for"... and it should find the communications port.
  6. In my case it thought the GPS was a MS Serial Mouse, so I went into the hardware manager and disabled the serial mouse.

MSDOS for legacy applications

I need to set up a MSDOS virtual machine to run a program that talks to my vintage Magnavox GPS reference station.

I've done it in the past with VMWare but have pretty much switched over to VirtualBox now.

The problem is, at the moment the server connected to the GPS station is in the garage. I moved put the Magnavox in the garage because that's where the antenna wire is right now. Both antennas. The GPS antenna and the 420 MHz transceiver that will transmit DGPS corrections.

Anyway more on that later / elsewhere. The whole point of this page is to describe how to set up a virtual machine to run on a server, using VirtualBox.

I intend to try to get it going from the command line. In theory I should be able to open a VNC session to see the DOS window, let's see if the theory pans out.

Here we go.

Create a machine.

One CPU with 640K would be enough but I have to give it a minimum of 4MB! No network card. Minimum video RAM. No CDROM drive. This is so easy.

VBoxManage createvm --name MSDOS --ostype DOS --register
VBoxManage modifyvm MSDOS --memory 1 --nic1 none --audio none
VBoxManage modifyvm MSDOS --bioslogodisplaytime 1

The whole point is to talk to a Magnavox GPS receiver, and that happens on COM1

VBoxManage modifyvm MSDOS --uart1 0x3F8 4 --uartmode1 /dev/ttyS0

Show the results of our labours

VBoxManage showvminfo MSDOS

Create virtual hard disk.

It does not have to be big. 20 megabytes should be plenty.

VBoxManage createhd --filename MSDOS_20MB.vdi --size 20

Connect the hard disk to the machine.

VBoxManage storagectl MSDOS --name IDE0 --add ide
VBoxManage storageattach MSDOS --storagectl IDE0 --port 0 --device 0 --type hdd --medium MSDOS.vdi

Put the (virtual) MSDOS installer floppy into the (virtual) floppy drive

You can still download the installer from Microsoft MSDN! So I thought. It's an UPGRADER, you have to have MSDOS installed already. Microsoft, once again I spit on you. What are you thinking?

So instead I turned to FreeDOS from http://www.freedos.org/

# Register the FreeDos disc image
VBoxManage openmedium dvd `pwd`/fdfullcd.iso
# Attach the disc to the machine
VBoxManage storageattach MSDOS --storagectl IDE0 --port 0 --device 1 --type dvddrive --medium `pwd`/fdfullcd.iso

# Add a floppy drive to the machine
VBoxManage storagectl MSDOS --name FD0 --add floppy
# Register the floppy disk image
VBoxManage openmedium floppy `pwd`/Magnavox.IMG
# Attach it
VBoxManage storageattach MSDOS --storagectl FD0 --port 0 --device 0 --type fdd --medium `pwd`/Magnavox.IMG

Fire it up.

VBoxHeadless -s MSDOS --vrdp on --vrdpport 5000 --vrdpaddress 192.168.123.1
Oracle VM VirtualBox Headless Interface 3.2.8
(C) 2008-2010 Oracle Corporation
All rights reserved.

Listening on port 5000.

YAY! On the Macintosh now I can use the Microsoft RDP client that I downloaded from http://www.microsoft.com/mac/products/remote-desktop/default.mspx

After running through the FreeDOS installation, I remove the virtual CD, change the boot order, and attach the Magnavox floppy disk image.

VBoxManage modifyvm MSDOS --boot1 disk
VBoxManage storageattach MSDOS --storagectl FD0 --port 0 --device 0 --type fdd --medium `pwd`/Magnavox.img
VBoxHeadless -s MSDOS --vrdp on --vrdpport 5000 --vrdpaddress 192.168.123.1

I copied the one little file that I needed to the virtual hard disk and disconnected the virtual floppy.

VBoxManage storageattach MSDOS --storagectl FD0 --port 0 --device 0 --type fdd --medium none

Install the Magnavox command program.

Mount the image of the floppy drive and copy the contents to the virtual hard drive.

Settings

Storage settings