Posts tagged with "virtualbox"


VirtualBox RAM still a dealbreaker for PC DOS

My full review of VirtualBox 4.x is coming, but for now I can confirm the upper memory bug for PC DOS still exists. Guess I'll be using VMWare Fusion and/or QEMU for proc-control stuff for a while yet :(

Conventional memory

Bill Gates infamously quipped that nobody would ever need more than 640KiB of memory, and that's exactly how DOS sees it. Regardless of how much RAM your computer has, many DOS applications will never see more than the first 640KiB. This area is referred to as Conventional Memory.

Over time power users worked around this limitation by using so-called expanded and extended memory managers which allowed applications and drivers (that supported it!) to load themselves "high" or above this 640KiB memory area. This means extra RAM in systems could be used, and it also kept as much Conventional Memory free for older software, games and drivers that demanded it.

Unfortunately, using UMB (upper memory blocks) was always a bit of a voodoo science, and even today some software has issues with it. QEMU, VMWare software and Connetix Virtual PC (RIP) allow full UMB access, however even the latest versions of VirtualBox still have severe stability issues when used with upper memory managers.

EMM386

The EMM386 expanded memory manager that was bundled with several DOS-based versions of Windows and later versions of DOS. If it is loaded in CONFIG.SYS in its default form like this:

DOS=HIGH,UMB
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE /VERBOSE

... it results in the following error upon boot:

WARNING Unable to set page frame based address--EMS unavailable

While undesirable, on machines where this capability is unavailable the NOEMS flag can be used:

DOS=HIGH,UMB
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS /VERBOSE

This allows the machine to boot, and does allow drivers and applications I defined in AUTOEXEC.BAT and CONFIG.SYS to be loaded high.
Unfortunately, if you attempt to mount any CD-ROM or floppy disk images in the VirtualBox virtual machine, EMM386 halts the system with this same error.

EMM386 has detected error #13 in an application at memory address 0048:061F. To minimize the chance of data loss, EMM386 has halted your computer.

To restart your computer, press ENTER.

Needless to say, having a virtual machine that only partly works and only if no media is mounted is a deal breaker.

UMBPCI.SYS

Those of you who've kept up to date with DOS developments of late know about this brilliant alternative to EMM386 that was first featured in Germany's c't magazine and now lovingly maintained to this day by Uwe Sieber. The primary advantage UMBPCI.SYS it has over EMM386 is it uses a fraction of the memory, which is obviously A Good Thing.

Unfortunately, while UMBPCI.SYS plays brilliantly with QEMU and VMware, VirtualBox fails to load it at all upon boot if its defined in place of EMM386 in CONFIG.SYS

No unused memory block found

Conclusions

My virtual machine applications

DOS is still a more commonly used system than I think many people appreciate, but I also acknowledge the limited resources a free software project like VirtualBox has to maintain support for so many different client OSs. I can appreciate that.

For now, if I want to run this DOS software l'll be continuing to use QEMU on my OS X, FreeBSD and Linux boxes for DOS. Which is a shame, because having a high performance cross-platform VM tool to rule them all would sure make my life easier.

Finally, people like to pick apart my posts as of late, so here are some points that before I wouldn't have bothered with ;). I am aware of DOSBox and FreeDOS. They do a great job. Unfortunately the software I need to run is not compatible with either one. PC DOS 2000 is still the most broadly compatible DOS distribution I've ever used, and have a lot of time invested in it. QEMU and VMware run it just fine, so I'll have to stick with them.

Oh and I'm aware that icon is of MS-DOS-Tan and NOT PC DOS, but one has to make do with the resources at hand ;).


Using VirtualBox floppy disk images

One of my New Year resolutions was to do more with people's feedback here, so here I go making good on that promise! I got an email this morning from a reader wanting to know how to mount floppy disk images in VirtualBox virtual machines.

Le steps

VirtualBox has support for floppy disk images, but unlike optical and hard drives its associated controller isn't enabled in new VMs by default. Fortunately, that's easy enough to fix.

  1. From the VirtualBox GUI, choose the VM you want to modify and hit Settings
  2. Choose the Storage tab
  3. Under the Storage Tree, click the second icon with a green plus and choose
    "Add Floppy Controller"

Now when you start that VM, there will be a floppy disk icon in the status bar which you can right click and mount floppy disk images with, without all those horrible noises and slow speeds of REAL floppy disks! Its magic, I tell you ^___^.

In the default open dialog box it will only let you choose standard RAW/img files, but I've been able to also use vfd files without problems.


Windows NT 4.0 sound in VirtualBox

So you want to get sound working in your Windows NT 4.0 VirtualBox virtual machine to relieve the glory days of your electronic youth, or some other reason you're too embarrased to discuss? Don't we all.

Caveats, mmm, must be Russian for bug larvae

Before we go any further, two quick points.

Unlike newer operating systems, Windows NT 4.0 is accorded VirtualBox additions that don't bother to set up the sound system. How dreadfully inconsiderate. Fortunately, after you've installed Service Pack 6 and the VirtualBox additions (in that order), it only takes a few minor adjustments to get sound.

The other point is, these instructions work and are current as of VirtualBox 3.2.10, build r66523. That's very close to a satanic number, just saying. I've been using NT 4 in VirtualBox for many years and the software has a habit of requiring different sound settings and drivers with subsequent releases.

The procedure

  1. Click your Windows NT 4.0 VM and hit Settings. Under the Audio tab, change the Audio Controller to SoundBlaster 16.

  2. Start the VM (always helps). Navigate to StartSettingsControl Panel and choose Multimedia. Under the Devices tab, click Add....

  3. Choose Create Labs Sound Blaster 1.X, Pro, 16 and hit OK. You'll need to specify the location of your Windows NT 4 installation files. I installed mine from CD, so I mounted the installation CD at this point, then hit OK

  4. Leave the I/O Address at "220" and click Continue, then under MPU401 I/O Address, change the value from "330" to "Disable" and hit OK.

  5. If you've mounted the installation CD, unmount it now otherwise when you restart it'll boot into that instead of your VM!

  6. Hit Restart Now. Surprisingly for a Redmond product, this is an example of a voluntary restart.

Now go grab yourself a 2.x series version of Winamp from OldVersions.com and relive the old days!

Link arms, don't make them


Booting a physical drive in VirtualBox

You can use a real, physical drive as a bootable hard disk in Sun Oracle VirtualBox using an undocumented feature, and it even works on Mac hosts!

First make sure the drive is unmounted (aka ejected), it won't cause errors if it's mounted when you attempt this, it simply won't work.

VBoxManage internalcommands createrawvmdk \
-filename [NEW DRIVE NAME].vmdk \
-rawdisk /dev/disk3

Replace the /dev/disk3 with the block identifier that represents the physical drive you want to access, in my case USB and FireWire drives. You can right click any drive in Disk Utility.app to find out what that is on Mac OS X or your fstab file.

This command essentially creates a pointer to the raw physical drive which you can then add to any virtual machine, just like any other virtual drive. As with creating it though, if it's mounted on the host it won't work. Also this command is undocumented and subject to change, so if the above syntax doesn't work they may have changed it since I wrote this up.

Because it enables raw file access, I'm assuming lower level tools like SpinRite can be used in a virtual machine this way, but I have to confirm this.

For more information, I found this VirtualBox forum topic insanely useful with plenty of relevant links.


My belated review of VirtualBox for Mac

FreeBSD, MS-DOS and Windows 2000 in VirtualBox
FreeBSD 7.1 with Xfce, MS-DOS with XTreeGold and Windows 2000

In my quest to find the most useful virtualisation software for Mac I've so far used Parallels Desktop, VMware Fusion and Q.app in various capacities. Today I decided to take a closer look at VirtualBox, the free and open source virtualisation software by Sun Microsystems.

Firstly the good news: VirtualBox is fast. Because it can take advantage of VT-x in the Intel processors of modern Macs the performance is in an entirely different league to QEMU based applications and much closer in performance to expensive (at least in the eyes of a university student!) commercial products from VMware and Parallels.

Because of it's higher performance, VirtualBox can run all current flavours of BSD, Linux and Windows that I've thrown at it just beautifully. Creating machines is a snap, and the shortcut keys for commands such as hard reset (command-R) are the best of any Mac virtualisation product I've used.

The main VirtualBox graphical control window

Unfortunately for me there have been some problems. For starters, considering it's a Sun product I found it disheartening to find OpenSolaris 08.11 can't pass the initial boot stage to install without giving an error which is a shame. FreeBSD has difficulty using the emulated optical drive which in practical usage is fine but it means you need to initally install over a network, no easy install of an ISO is possible. And for my electronic nostalgia, VirtualBox crashes whenever I attempt to load either the EMM386 or UMBCPI upper memory managers in MS-DOS 6.22 or PC DOS 2000 despite exhaustive attempts to map the correct memory addresses.

As I said on my Q.app review, my first generation Core Duo MacBook Pro seems to be a very quirky machine for virtualisation: it seems to have troubles than most Apple people don't seem to have! Keeping this in mind I'm ready to chalk these problems up to my eccentric machine, but it's still a bit disheartening.

VirtualBox has the potential to be an amazing product, and certainly for Windows and Linux it does the job beautifully -- especially for the price! Unfortunately for my own current needs though I'm going to have to give it a pass; while it does run Windows 2000 amazingly well I'd prefer not to have to use several higher end virtualisation products for different things.


Harold Nolte's DOS nostaliga quiz!

PowerMenu for DOS
Brown Bag PowerMenu running in a VirtualBox VM on my Mac

How much do you remember about DOS? Mr Nolte on Twitter sent me a link to an article of his on Examiner.com where you can test your DOS knowledge!

I scored 9 out of 10 (I fudged the very first question!) which given I was born in 1986 and used our first DOS machine when I was 4, I reckon is not too bad of an effort. I guess it's true what they say, you learn more when you're young than you do at any other point in your life.

These are the questions, if you think you know the answers go ahead to Harold's article and choose the right multiple choice answers!

When was MS-DOS first introduced?
On which operating system was DOS directly based?
Which command is used to clear the screen?
What key(s) do you use to exit a program?
What does CTRL+ALT+DEL do?
What is the command ATTRIB used for?
What does FDISK do?
What would you type to see files and folders?
What is the beginning folder for all DOS paths?
Which program did not run in DOS?

The bundled XTreeGold icon for WindowsI loved that old computer; we had PC-DOS 4.x I believe, followed by MS-DOS 5.0 and Windows 3.0 with Multimedia Extensions, then a few years later we got MS-DOS 6.22 to use with Windows 3.1 in 386 Enhanced Mode (it was a 486SX!) so we could use the drive compression. We had Windows 95 on it briefly, but we really didn't have enough RAM to use it properly.

As for DOS applications, before we had Windows we used XTreeGold (Wikipedia) as our de facto shell, then we relegated that to just file management when we got a shareware copy of PowerMenu by Brown Bag Software. I wonder if either of those or the companies that made them are still around? A cursory Google search turned up plenty of results for products called PowerMenu but none were the same. And of course it goes without saying that Commander Keen is the greatest game of all time!

Come to think of it... I could write a pile of posts about this stuff! Is "pile" the correct collective noun for "stuff"?


Scatterbrain thoughts on the Sun Oracle deal

Showing my support by running OpenSolaris in VirtualBox on my Mac
Showing my support running OpenSolaris in VirtualBox on my Mac :-)

Well it's official, Sun Microsystems found a suitor not in IBM, Apple or Microsoft, but with Oracle. I must say on the whole I'm cautiously relieved, though there are some things that worry me. What an ambiguous sentence. Well you know what they say, certainty is hobgoblin of the fool... right? Wait, that's not how it goes.

OpenSolarisFirstly, Java and Solaris absolutely make sense for Oracle; I believe I read somewhere that (paraphrasing) Larry Ellison claimed Solaris was the most effective Unix system out there for use with Oracle infrastructure. I haven't played with OpenSolaris (or Linux for that matter) to the extent I've used FreeBSD but I was really impressed by it's completeness and quality. I'm also interested in licencing; as a BSD guy the CDDL that has prevented Linux users from adopting ZFS and Dtrace hasn't bothered me but Oracle's work with Linux may see it change to the GPL... maybe.

What I'm also interested in is Sun's free and open source acquisitions and assets, namely NetBeans, VirtualBox, OpenOffice.org and MySQL. If they keep them and continue to support them I don't see any problem, and one could argue that said projects would benefit from being part of a larger company in the same vein as Linux at IBM. Some brainstorming on each:

  • NetbeansNetBeans would compliment their Java acquisition, but Oracle is a signed member of the Eclipse foundation. Will Oracle attempt to merge it, ditch it or continue to develop it and instead ditch Eclipse?

  • VirtualBoxVirtualBox at Oracle is a fascinating combination. Could Oracle somehow leverage VirtualBox's virtualisation technology to more efficently deploy servers with Oracle's database? They could do it with Solaris too!

  • OpenOffice.orgOpenOffice.org is a real wildcard. One could potentially see Oracle leverage OOo against Microsoft, or perhaps they could pull a Novell and instead fork it into an independent stream and an Oracle branded product that could use groupware Oracle develops. The possibilities are extremely intriguing.

  • MySQLMySQL for me is a major concern. Oracle's databases and MySQL are light years apart in features and from what I've heard scalability, but the gap is much narrower than it was even a few years ago. Is it conceivable Oracle would intentionally cripple MySQL or keep it with only a subset of features so as to not cannibalise their bread and butter? If they do, might we see MySQL forks or even a general move to PostgreSQL?

I've done work for Oracle in the past but I still don't know the inner workings of the company or the details regarding merged product lines (ala PeopleSoft and Siebel). Whatever the outcome, I'll be watching closely.

As I've said here before I have huge respect for Sun and have always wanted a pimped out Sun Workstation to really get stuck into Solaris. In fact if I were offered a Mac Pro or a similarly high end Sun Workstation I'd take the latter just because I've used them at university but ave never had one of my own before!

Jonathan Schwartz's weblog at Sun Microsystems

The biggest question I still have though is: what will happen to one of my top technology idols Jonathan Schwartz? Will he get a position in Oracle? Will he continue to blog from there? Or perhaps a more pertinent question would be: will he be allowed to blog from there?

I wish Sun the best in this transition period.


Looking back at virtual machines on Macs

My virtual machine applications
My Applications folder is one full beast!

Since I first picked up my first copies of Connectix Virtual PC for my Blueberry iMac DV I’ve been awestruck by the elegance of virtual machines and have had a ridiculous amount of fun tinkering with operating systems and software I probably would not have otherwise been able to use. Some like FreeBSD have even "graduated" and become primary operating systems on machines I use, others like DOS and earlier versions of Windows get to stick around for bouts of electronic nostalgia.

Given I’ve been so busy with other projects and studying I thought the long Easter weekend would be a great time to look into some lesser known virtual machine programs for Mac: Q and VirtualBox. I’ll be posting my full reviews in the next day or so, but suffice to say they both fill their intended rolls amazingly well and could give the commercial Mac virtualisation solutions a run for their money. They’re free and open source, so you can download them and give them a shot right now!

For the sake of completeness, I talked about Parallels Desktop a lot back in 2006 when I was first messing around with FreeBSD on my then-new Intel MacBook Pro, then switched to VMware Fusion in 2007 because of it’s superior support for Unix-like clients. It’s kind of fun to look back at those posts for me, at the time I thought such experimentation was fun but essentially pointless; I had no idea how much I was actually learning.

If you love tinkering with obscure and/or old operating systems, it’s a great time to be alive! Now all I need is time...