BeOS 5 Pro Running Under QEMU Jun 07, 2006 00:59 UTC, by Chris Simmons, Senior Journalist From the ado-qemu-you department... Michael Crawford wrote in to submit a rather juicy and lengthy writeup concerning installing BeOS under the QEMU emulator. Without further ado: by Michael D. Crawford One would think that one could install BeOS on a modern Macintosh by using the QEMU PC emulator, but everyone who tries to boot QEMU from the BeOS installation CD is met with the message "Please place the BeOS CD in the CD-ROM drive". I guess the BeOS boot loader tries to access the drive in a way QEMU doesn't emulate, that hasn't been needed by the other operating systems that QEMU does support. I really badly needed to install BeOS 5 on my MacBook Pro to support Ogg Frog's development, so I figured out a workaround. Ogg Frog is a cross-platform audio program, and I want to support all the operating systems supported by the ZooLib cross-platform application framework. Besides BeOS, there is Mac OS X, Windows, Linux, and PowerPC and 680x0 Classic MacOS. It would drive me bananas if I had to use real computers to test all those different platforms. My solution was to install the BeOS on a real PC, then to use the dd command to copy its partition to a disk image file. I used Linux' sfdisk to give the disk image a partition table that precisely reproduces the original partition's size, then I transferred the image to my MacBook Pro and installed it under QEMU. There are some gotchas, so the whole procedure is pretty complex. I describe it in detail with a working example in my new article: Single-Machine Cross-Platform Development Through CPU Emulation. Even if QEMU's developers were to fix the BeOS' problem with the emulated CD-ROM drive, my procedure would be useful for other purposes with most operating systems. For example, one could safely test proposed configuration changes before committing them to a real system, or one could debug arcane problems in a real installation by copying it to an image then running it in QEMU under a debugger. While it's tedious to perform manually, my method could easily be automated and made very quick and easy to use. A simple Perl or Python script would work under Linux, while a C program could be used from any operating system. So far I just discuss the BeOS under QEMU, but as I continue work on my article I'll talk about other operating systems and other emulators, for example how SheepShaver and Basilisk II can provide PowerPC and 680x0 Classic MacOS environments, which Apple doesn't support on Intel Mac OS X. I only give QEMU configuration instructions for the Q front-end to QEMU on Mac OS X, but anyone who's ever used QEMU will know what to do once they've been able to create a BeOS disk image. My article has the Creative Commons Attribution-Sharealike 2.5 license. On a more personal note, Ogg Frog represents my first BeOS development since I was unsubscribed from the bedevtalk mailing list after posting a particularly pithy flame back in 2000. While I resented Be's senseless business management and its "change in focus" after all my hard work to support the BeOS, I never lost my love of the platform, my admiration for the quality of work evidenced by Be's engineers, or the camaraderie of the tight-knit BeOS developer community. Thus when I decided that Ogg Frog would be Free (as in Freedom) Software, I knew from the start that I'd be supporting the BeOS. And with Haiku getting closer to release, I'd do my part in supporting it as well. Because ZooLib uses some assembly code to improve performance, its BeOS port only supports Intel. As part of my work on Ogg Frog, I'll also be adding support for BeOS PowerPC to ZooLib. Ever Faithful, Michael D. Crawford a.k.a. Rippit the Ogg Frog rippit@oggfrog.com http://www.oggfrog.com/