BeOS despite generally long forgotten (if you were aware of it in the first place) had an interesting past. A Frenchman named Jean-Louis Gassée had for most of the 1980s held senior positions with Apple, where at one point had become head of product development for the Macintosh once Steve Jobs left. He was a staunch supporter of Apple, who believed the company should continue its focus at the premium end of the personal computer market, and that people were prepared to pay up for the Macintosh experience. That was fine to a point, though with more affordable IBM PC clones and Windows 3.0 approaching, this was increasingly becoming unsustainable. By the end of the decade, corporate politics and disagreements with the then CEO John Sculley led to Jean-Louis’ exit in 1990.
Just as Steve Jobs left Apple undeterred leading him to found NeXT Inc., Jean-Louis followed a similar path and founded Be Inc. in 1991 that also developed both proprietary hardware and its own operating system, BeOS. At first it was to run on Hobbit based hardware, RISC-like processors developed by AT&T that never made commercial success. Not before long BeOS was moved across to support PowerPC hardware and with this came BeBox, dual PowerPC 603 machines running at either 66 or 133 MHz. The BeBox was rather unique for its time with the number of I/O ports on the back, suggesting its use was targeting professional audio and video production. Sales of BeBox were abysmal, with only around 1,800 units sold worldwide. Financially going in the red, Be’s move to open up support on PowerPC hardware such as the Power Macintosh was in the hope for Apple to come along with a fat cheque. Apple in the mid 1990s was after all seeking a new generation operating system, and its Copland project turned out to be a mess. Apple consequently considered Be, though the offer provided was no where close to the asking price in excess of $300 million US. Ultimately Apple paid more acquiring NeXT instead. I sense however deep down Apple paid the higher price to win back Steve Jobs. Either that or his presentation skills.
With Be in a bind to stay afloat, by early 1998 BeOS was ported across to x86 hardware to increase exposure and spark further interest. It wasn’t enough and the final version, R5.1d, was leaked online upon its demise just as Palm Inc. acquired Be for a paltry $11 million US. It would seem Palm had no care factor that it was leaked, more interested in bringing over additional engineers to their payroll.
The legacy of BeOS continues in the open source form of Haiku. Worth checking out if you like to explore niche operating systems.
For this guide I’m running Oracle VirtualBox 6.0.14 with an ISO image file of BeOS R5.1d “Dano” sourced online.
Setting Up the Virtual Machine
Firstly out of interest, I had done a comparative test between VirtualBox and VMware Workstation 15 Pro. It had been a very long time since I touched BeOS so wasn’t sure how well it would run under a virtual machine (VM) or the ideal settings. Between the two, VMware Workstation was the clear winner for speed of installation, responsiveness, and once configured could comfortably run at 1,600 x 1,200 display resolution. On the other hand, VirtualBox just needed some extra time for loading on startup and would work up to 1,280 x 1,024 resolution. Both only support up to 16-bit colour.
Creating a new virtual machine in VirtualBox there’s no BeOS option to select from, so I went with the Other/Unknown option when selecting the operating system in the wizard. For RAM and hard disk capacities I went with 768 MB and 2 GB respectively. BeOS has difficulty addressing more than 1 GB of RAM and will crash; frankly there’s no tangible value if it did given the thin application support. Hard disks can also stumble past the 128 GB range apparently using an IDE controller, so to get past that using SCSI is the best alternative. I gave it a shot with the following options selected, essentially the same as what I would set up for Windows 98.
- System > Acceleration tab > Deactivate the VT-x/AMD-V and Nested Paging
- Display > Scale Factor > Default is 100%, useful for enlarging low resolution output on our modern resolution displays if desired
- Display > Graphics Controller > Use VBoxSVGA
- Storage > Add a floppy controller, and use IDE controller with PIIX3 as the type (PIIX4 works although apparently PIIX3 provides a speed boost)
- Audio > Audio Controller > Use ICH AC97 (SoundBlaster 16 is another option although I personally found BeOS to be less stable)
- Network > Adapter 1 > Use Bridged Adapter with Intel PRO/1000 MT Desktop
- USB > Set the USB controller to USB 1.1
Whilst still in the Settings dialog box of your VM, you may mount the BeOS boot floppy disk image and ISO CD-ROM image before running it. Once done, select OK to close the dialog box.
Installing BeOS R5.1d
With the boot floppy disk and ISO images mounted you should initially see a BeOS splash screen after starting the VM. After a few moments you’ll be greeted with the End User License Agreement, so select Agree. For the duration of the installation process, the screen remains in monochrome and mouse movement tends to be slow thanks to some incompatibilities with VirtualBox’s VESA implementation.
The next few steps is really about sorting out the hard disk. Initially when the Installer window is shown, select Setup partitions after expanding More options. A window displays known as Drive Setup, a vague resemblance to Mac OS X’s Disk Utility. Listed you should see a minimum of three devices for the floppy, hard disk, and CD-ROM drive. Select the device that lists itself beginning with “/dev/disk/ide/ata/0/“. Select Setup from the menu and choose intel from the Partition sub-menu. A dialog box will appear to cover over file systems and partitioning of the hard disk. Keeping it simple select to make only Partition 1 active and the file system from Empty to BeOS. From the Layout sub-menu, select 100% Partition. Select OK to confirm the configuration. A warning message will pop up that changing partitions will cause data to be destroyed. Select Proceed.
Returning back to Drive Setup the hard disk would have expanded in the list of devices now reflecting its partitions. Select Setup from the menu again and choose Be File System via the Initialize and BeOS sub-menus. A dialog box will appear to select the file system block size and the name of the volume. I left the block size at the default of 1,024, though elsewhere read to use 2,048 instead. Either option should be fine; select Initialize. When asked whether to mount the partition, select Mount. After the previous steps have been done, Drive Setup should know have details displayed in the File System and Volume Name columns. Now you can close Drive Setup, either by selecting the top left square of the window, or via the Mount menu.
Returning the Installer window, the Onto option now shows the newly formatted hard disk instead of stating there’s no volumes. Select Begin and installation of BeOS commences. You’ll notice various files are being copied from the CD image, though no blurbs and images to look at as to why this is the greatest version yet. Eventually you’ll be prompted whether to install the Be boot manager; select No as we aren’t setting up multiple operating systems.
The Installer should now state that installation was successful. Unmount the floppy disk image and select Quit to reboot the VM. If all goes well BeOS should successfully load to the desktop albeit with a warning message about the display.
Regaining Colour & Disk Cache Workaround
Those familiar with setting up Windows, will find the process of installing drivers and such a bit unconventional. The first thing to sort out is the display to not only see things in colour but as a side effect the mouse will perform substantially better. From the BeOS desktop, press the key combination Alt+F to bring up the Find feature. Search for vesa and return the search results. A small file named the same should appear.
Repeat the previous steps and search for drivers as a separate window. Returning more results, the one needed is the folder located at /boot/home/config/settings/kernel/. For the vesa file, double-click on the path location. In the drivers search window, double-click on the folder itself located at the aforementioned path. The way BeOS operates is that clicking on the file or folder directly will open it, but clicking on the path will open where the file or folder is located instead. Opening up both destinations you should have windows display showing the contents of both the sample and drivers folder.
Ideally you should make a copy of the vesa file to the drivers folder, though for some reason this proved more difficult than it should have been with drag-and-drop. BeOS by default will move the file if it’s on the same disk volume. The alternative method is to right-click on the file and go through several sub-menus via the Copy to option in the context menu. Once the file is copied or moved across, double-click to open. Add a third line to the file with mode 1280 1024 16 and save the change.
Whilst we are here, repeat the previous steps with the kernel file. The kernel file won’t assist with video output, but to sort out a disk cache bug. As a workaround, enter a line as per the below screenshot stating disk_cache_size 16384 and save the change. For the changes to take effect, select the BeOS logo at the top right corner, and choose Restart. Personally I found BeOS unreliable with restarting in the same session, so worst case scenario is to close the VM completely and start again.
Once back to the BeOS desktop, it should appear similar to below.
Dodgy Sound But Sound Nonetheless
In order to get some sort of sound capability, I went on a search and located some Sound Blaster 16 drivers initially for BeOS 3.x. I subsequently placed these drivers onto a floppy disk image. It worked though had a tendency to cause stability issues whilst testing; worse if Sound Blaster 16 was used instead of AC97 as part of the VM configuration. Your experience may vary but these weren’t official drivers by the manufacturer.
After mounting the floppy disk image in VirtualBox, there is also the need to mount again within BeOS. It’s only a matter of right-clicking on a blank area of the desktop, and selecting the floppy option from the Mount sub-menu. The floppy disk will appear as another icon on the desktop.
Double-clicking on the ZIP file will by default open Expand-O-Matic; a similar program to the free version of StuffIt Expander that was commonly found on the Macintosh. First I select Destination to point the extracted files to the desktop for easy access, followed by Expand.
Out of the extracted files, only the one named sb16 is required. Move this file across to the drivers folder located within /boot/home/config/add-ons/kernel/. That’s it. The next time you boot BeOS you should hear the startup sound.
Connecting to the Outside World (Or So I Thought)
In a similar manner, I extracted the network adapter drivers from the floppy disk image into a folder on the desktop and ran install.sh. It’s a script file for easy installation.
This is where it turned to a grinding halt. References on installing later versions of BeOS online tend to refer to Version 5.0 (codenamed Maui), and here I’m using 5.1d (codenamed Dano). As per the following screenshot, the next step was to access Network from the Preferences menu. The problem was there was no Network option to select from!
I went to look back at the CD image which proved to be fruitless. As 5.1d wasn’t a released product I can only speculate the network features weren’t ready. Under 5.0 in the Network preferences the gist of it was to set up a static IP address and add a DNS server (such as Google’s at 18.104.22.168). So in this instance, I discontinued the thought of connecting to the home network.
Better to Use BeOS 5.0.3
A ‘CPU fix’ was created to sort out timing issues with faster processors with BeOS. This also proved to be incompatible with 5.1d, so did not proceed. It’s safe to suggest for a more rounded and reliable experience of BeOS to stick with 5.0, and upgrade to 5.0.3 via a patch. The steps shown here will be much the same if you do decide to give it a try.
Despite the obscurity of the operating system these days, there are some handy resources online:
Here there’s an easy to read guide on setting up BeOS 5.0.3 in VirtualBox.
There’s also bits of software and drivers available from this site, though I have doubts that it’s been actively maintained. The aim was to be a repository specific to BeOS.