Some hacking – Using Keka to import data from OS X to my VMs

Ever since I started using VirtualBox, I have needed a way to get data from my host operating system (Mac OS X) to the guests. This data includes drivers that I want to install in the guest, and programs and games that I want to run in the guest.

Sure there’s Guest Additions, but that has its own problems. For one thing, it only works with Mac, Windows, and Linux guests; there’s no drag-and-drop feature for things like DOS. Secondly, it requires the guest to have Internet access so you can install the guest addition drivers; if I have Internet access, then all I need to do is just email the files to myself in the host and download them in the guest. So basically, guest additions are merely a convenience that makes the already possible more practical; they do not enable you to do anything you couldn’t do before.

I realized my best bet for guests that either don’t have networking drivers installed or aren’t in the Mac/Windows/Linux category would be to find a way to turn the directories in my OS X filesystem into disk images, either floppy images or ISO files, so I could then insert them into the virtual drives of my VMs. I found a utility called Keka, which can be downloaded here. Keka is a file compression, extraction, and archiving utility for OS X. It can archive or compress files in several formats, and it can extract even more formats. Formats it creates include zip, gzip, bzip2, 7zip, tar, DMG, and ISO.


Though it is a graphical program, the interface for Keka isn’t particularly intuitive. It allows you to select a format to archive a directory to, but gives no indication of how to select a directory for archiving.  Through wild guesswork I discovered that you can do this by dragging the icon for the directory into the Keka window, after which it will automatically create an archive in the selected format.  Who knew?

The next step is of course to insert the newly created ISO into my virtual machines.  I can only do this with VMs that recognize optical disks, obviously, so MS-DOS 5.0 doesn’t work.  However, I was able to import Deluxe Paint into my FreeDOS VM.  I’m in the process of trying to import Norton Commander.


As an experiment, I tried converting some of the DOS folders to ISO files and using them to install software directly, as if they were floppies.  This didn’t work, because the installers require the disk to be mounted on drive A.  Obviously I wouldn’t be able to just change the extension, because it would still have the ISO-9660 filesystem, rather than the FAT filesystem, and it wouldn’t be recognized as a floppy.

Yeah, I kinda figured that wouldn’t work.

I’ve also tried using some software and games in VMs that I’m running on live ISOs, but there were some problems.  First, VirtualBox only allows for one optical drive.  You can work around this limitation by adding a USB drive and telling the VM to treat it as an optical drive, but when I did this, the VM tried to boot from the wrong ISO.  Maybe I should select the “Live CD/DVD” option.

Running Arch Linux from a live ISO

Recently I decided to try another Linux distro – Arch Linux.  I wanted a distro that I could use to experiment with different boot loaders, different partition table setups, different filesystems, etc.  Because I didn’t want to use up all my hard drive space installing Slackware several times, I decided to use a more minimalist distro.  The first thing that came to mind was Arch.

Arch is in many ways similar to Slackware, but in other ways it is a polar opposite.  It is similar to Slackware in that it doesn’t default to a GUI environment and it expects users to be technically competent and know how to use the command line.  It is the opposite of Slackware because it does this for an entirely different reason.  Whereas Slackware aims at giving the user more options while being complete out-of-the-box, Arch Linux follows the KISS philosophy (that stands for Keep It Simple Stupid), and thus ships only with the minimum tools and interface needed to function and to be useful.  Thus, it has no graphics, because graphics take a lot of memory and processing power.  Arch Linux is the vi to Slackware’s Emacs.

I downloaded the ISO file for Arch Linux from the mirror, which can be found here, before running an MD5 checksum against it to make sure it downloaded properly. As usual, I created a virtual machine in Virtual Box and booted from the ISO. It turned out that you don’t actually have to install Arch Linux to use its full capabilities. It comes fairly complete as a live distro, which can be booted directly from the install disk.

Arch Linux Startup

I am liking Arch Linux so far. In a way it actually follows Slackware’s design philosophy better than Slackware has (for me anyway), because it comes complete with all the drivers I need for networking (and the ability to network makes an operating system ten times more useful than one that doesn’t have this ability).

As is usually the case, Arch uses its own special package manager. This one is called pacman. I haven’t figured out how to use it yet, and I can’t really use it while I’m booting it live because there’s nowhere to install the packages to (since the hard drive isn’t partitioned and the live ISO is read-only). This is one of the disadvantages of booting Arch Linux in live format, and I do plan to install it to the hard drive at some point, once I have read the manual for how to do so.

The top program in Arch Linux is more full-featured than in other operating systems. It lets you view things like the sizes of the code segments, stack/heap segments, and shared memory segments of the processes, and it allows you to change the colors. It also shows bar graphs of some of the system stats. In many ways, it’s a lot more like htop.



At the same time there are several things missing from Arch Linux, at least the live version.  There’s no mailx program, and there’s no cron daemon. I can kind of see why these programs would be missing in a live distro, since they involve storing information on the hard drive.

So I guess the question now is, will I install this OS to the hard drive? If so, when will I do it? Only time will tell.