Wednesday, June 30, 2010

Minix 3 Installation Diary -- Part 3

As I stated in the previous article in this diary, I had a strange problem occur on my attempts to reboot after initially installing Minix 3 to my hard drive.  The problem was that the system would always reboot into a grub (Grand Unified Boot Loader) prompt, and I couldn't continue beyond that prompt.  Now this seemed to me at the time to be a strange problem indeed.  I had accepted all the setup defaults and done a full install, dedicating the entire disk to Minix 3.  I couldn't really find anything in the documentation about this problem, so I went to the minix3 google group to post a description of the problem.  The minix3 group is a good second line resource for troubleshooting if one can't find a solution to a problem in the documentation on the Minix 3 web site.  The best way to use this resource is to first attempt to figure out the problem by reading the online documentation, then to search the minix3 archive, and then, if the problem still isn't solved,  posting an enquiry on the group mailing list.

I couldn't find anything, so I posted a description of the problem.  Initially it was mysterious to the respondents, but it soon dawned on both me and a couple of the regulars on the list that grub was already installed in the Master Boot Record (MBR) from the previous host on that particular laptop, which happened to be Fedora Linux.

A member of the list suggested that I use installboot to overwrite the grub entry in the MBR.  It took me a few tries, but the command

installboot -m /dev/c0d4 /usr/mdec/masterboot  did the trick.

I rebooted, and this time came back up to the Minix 3 login prompt.

For more information on the Minix 3 boot process the article from the Minix 3 Wiki From power-on the the login prompt is very useful.

The manual page for installboot is also helpful.

Tuesday, June 29, 2010

Minix 3 Installation Diary -- Part 2

To begin the installation process I downloaded the iso image for the latest stable version, which is 3.1.7, from the minix 3 download page.
After burning it to a CD (from my ubuntu Linux workstation) I inserted the CD in the laptop and rebooted.  I had one of the installation docs open in front of me, along with tabs for any other pages on the minix site which seemed relevant to troubleshooting.

I powered on  ... and nothing useful happened.  Luckily this one was easy enough to figure out with a quick browse through the docs.  The error message (which I failed to write down) indicated that the CD was not found.   Under my BIOS system configuration I needed to change a parameter from AHCI (Advanced Host Controller Interface -- Intel's API for addressing Serial ATA) which isn't yet supported by Minix, to ATA (the Minix doc called it "legacy", but it was easy enough to tell what was going on).

So now I had a bootable live CD.  I booted up, ran the setup command, and began working through the steps.  I'd already saved everything I needed off the Fedora Linux installation which was the previous host on the laptop, so I chose  to delete the existing partitions and make the whole disk Minix 3.  I accepted the default filesystem sizes (/, /home, and /usr had separate slices).

When the copying of files finished, I was instructed to shutdown and reboot.  Then I was prompted to  run packman, which is Minix's package manager system, in order to get X windows and a number of other programs, libraries, and utilities.

Using the command xdm  I was treated to a window manager which resembled almost exactly the first X windows interface I was ever exposed to 16 years ago on a Sun workstation.  As it happens, twm ("Tom's Window Manager") is the window manager ported to Minix.  It's one of the original window managers, and is very minimalistic.  I have to say that I don't object to that.  Graphical eye candy can be soothing, mostly because I'm accustomed to it, but most of the time I'm working with text in terminal windows, which twm handles well.

I then attempted a reboot, and Oooops!!!  I was faced with a very strange problem which I'll describe in a separate blog posting (so that this article doesn't run on forever).

Monday, June 28, 2010

My Minix 3 diary -- Introduction and initial installation

In 1995 I downloaded fifty 3.5 inch diskettes of the Slackware distribution of Linux, installed it on my home computer, and after several hundred hours of configuration got it more or less working for the state-of-the art in Linux at that time. A friend at work used my diskettes to install on his computer, and both of us have been avid Linux users since.

But part of me has missed the early days of broken and missing pieces, where I had to do detective work to get my setup behaving correctly.

More seriously, although I love Linux, I've always recognized that it is not the be-all and end-all of operating system technology.  It's good, it's free (both in the "free beer" and "free as in freedom" sense, and the support community is wonderful.

But there are a number of other OSes out there, and one which in particular has beckoned me is Minix 3. 

Those of you who know the history of Linux might remember that Linus Torvalds, the creator of Linux, was originally working in the first version of Minix when he began coding Linux.  At that time Minix was an educational tool targeted at the 8088/8086 processors, and as such could not support modern production use (multiprogramming was not possible).

You may also remember the debates between Linus Torvalds and Andrew Tanenbaum regarding the merits of monolithic kernels versus microkernel architecture (I'm not going to bother to go into that now.  Follow the preceding link if you are interested in exploring it).

Fast forwarding to the present, Minix has come a very long way.  Minix 3 has been released, and an active community is working on transforming it into a serious production system.

The goals of Minix 3 are summarized as follows on the official Minix web page:

MINIX 3 is initially targeted at the following areas:
  • Applications where very high reliability is required
  • Single-chip, small-RAM, low-power, $100 laptops for Third-World children
  • Embedded systems (e.g., cameras, DVD recorders, cell phones)
  • Applications where the GPL is too restrictive (MINIX 3 uses a BSD-type license)
  • Education (e.g., operating systems courses at universities)

 I've been looking for a fun, interesting, and challenging project to keep myself young at heart  in the UNIX/POSIX world.  So I've  taken  a Dell Inspiron 1545 laptop and installed Minix 3.1.7 on it.  My intent is to get every reasonable function of this laptop working with Minix in the modern sense of the word.  Where possible I'll build on other people's work (and hope upon hope that someone writes a driver for the NIC before I'm forced to do it myself).  But if no one else is working on a particular project relevant to my laptop list, I'll hunker down and do it myself.  I have no time line, since this is a labor of love.

The top priority missing component as far as I'm concerned is a driver for the NIC.  The ethernet card on this  laptop is probably a Marvell 88E80XX 10/100 Ethernet Controller (based on looking over Dell's spec sheets).

But before I tackle device drivers I have to get the standalone Minix running and configured to my satisfaction first.  My next post is going to be a description of the specific problems I ran into on the installation, and how I dealt with them.

Tuesday, June 1, 2010

87 year old former oil man explains the BP oil catastrophe in detail

This is one of the better attempts to explain the BP Gulf of Mexico oil catastrophe I've seen. It is an interview with Peter Davidson, 87 years old and "a veteran of many oil fields" explaining the drilling operation and leak to his daughter, who prompts him to keep it to a basic level that an interested layperson can understand.

Gulf Oil Spill: what happened? from Mary Mele on Vimeo.