Saw a post in /. and in osnews about the release of Minix 3. Andy Tanenbaum first wrote Minix to teach Operating Systems to his students. Minix is a good example for a micro-kernel based OS where the nonessential components are removed from the OS and run as system-level and user-level programs. In simple terms, the drivers in the system behave like user written programs, and even if a driver crashes, the OS will not crash. (Read the slug-fest between Tanenbaum and Linus for more details on micro-kernels vs monolithic kernels).
Since I love trying different OSes (at one point of time, I had 3 different OSes in a 2.1 GB hdd, and no applications in any of those
), me decided to download this and give it a shot. But, instead of installing Minix in my pc, i decided to use qemu to try Minix. QEMU is a generic and open source processor emulator. Simply put, it lets you run a virtual pc in your pc.
First step was to install Qemu on my debian-sarge. This proved to be a little tricky. I tried to download and use the binaries of Qemu 0.7.2 directly, but that did not work (some crib about missing lib-sdl. Installing lib-sdl did not solve it
). Tried
apt-get install qemu
and installed qemu. Surprisingly, by 0.7.2 binaries started working after this.
Second step was to download and test the Minix live cd distribution. Grabbed the compressed archive from this link (a 10 MB file), and extracted the iso image from the archive. After this, I got a file named IDE-3.1.1.iso . Renamed this file to MINIX-3.1.1.iso. To test this boot cd, I issued the command
qemu -m 64 -boot d -cdrom MINIX-3.1.1.iso
to boot from the cdrom image. This went fine, and I was presented with the minix login screen.

Boot screen 1
Third step was to create a hdd mage to install Minix to. Qemu provides a command to create a virtual hdd. The minix website suggested a minimum hdd partition size of 100 MB. I decided to create a 150 MB hdd image. After issuing the command
qemu-img create minix_hdd.img 150M
I had the virtual hdd ready. (minix_hdd.img is a file which will “store” the contents of the hdd).
Step 4 was to boot into Minix with a HDD and a CDROM, and to install Minix to the virtual hdd. This proved to be a simple thing. The command
qemu -m 64 -hda minix_hdd.img -boot d -cdrom MINIX-3.1.1.iso
booted me into Minix from the CDROM, with a raw unformatted hdd also present. This done, installing Minix was a trivial process, merely pressing the “Enter” key a lot, and answering the odd multiple-choice-question. All done, the installer gave me the instruction to reboot once. Issued the
shutdown
command to halt Minix.
Last step, to boot from the virtual hdd into Minix. The command
qemu -m 64 -hda minix_hdd.img -boot c
booted my Minix install from the “hdd”. Neat, huh ?
Need to do some more experimentation with Minix later. Right now, gotta crash to bed.


