Sunday, December 9, 2012

A Plan to Boot

As mentioned in the previous post, it's easy to take any of the images made for the Raspberry Pi and get it running on the Pi.  Images are typically delivered as iso files that can be transferred to an SD card easily (using dd on Unix type systems).  Once on the SD card, it's simply a matter of plugging into the Pi and powering up.

The original Plan 9 image didn't quite work as expected on my set up (which includes a Dynex keyboard and a Logitech mouse).  The keyboard works fine, except for any of the status lights (e.g. the Caps light).  However, the mouse originally didn't work at all.  Thankfully a little googling quickly turned up a new kernel file from Richard Miller, along with a tip about adding the argument "kbargs=-b" to the cmdline.txt file.  Here's the link to the discussion thread with this info.

The kernel update alone didn't do the trick for me, but the addition of the extra argument had my mouse working properly.

So now with a working Plan 9 it's time to explore how the system works.

There are a few of Plan 9 videos available on YouTube and Vimeo.  These cover the basics of making windows, using the mouse in Rio (the desktop environment) and the basics of using Acme for browsing and editing files and running commands.

One of the first things you notice in Acme is that output from commands can be separated from input (be in separate windows).  This helps to organise information better, and preserves a lot of context.  The ability to execute any text is also very powerful.  Sometimes working in regular Unix shells, where input and output are intermixed and scroll up the terminal window, you can quickly lose track of commands issued.  Although there are histories and shortcuts in modern shells it can still be awkward to do a lot of work.  Plan 9 not only captures output in separate windows, but it does not scroll automatically, rather by default it acts as if output is piped into Unix' "more" utility.  Plan 9 terminals intrinsically understand pagination and scrolling up and down through output.

You can type anywhere in a terminal or Acme window too, even amongst output data.  This facilitates reusing output text to from new commands, which can then be selected (left mouse button) and executed (middle mouse button).

It's clear very quickly that Plan 9 and Acme can be very quick and efficient once you have learned to properly use the mouse and the Acme environment.

Reading about Plan 9, you will soon learn that there's a remote terminal available for a range of other OSes, called drawterm.  Drawterm is available for Mac OS X.  Indeed, this is a completely up-to-date, modern Cocoa application.  Clearly there's a community of people out there still hacking on Plan 9 and making sure it is usable from the contemporary desktop systems.

Building the project obtained from the Mercurial repository at the link above is very easy and results in what looks like a command line utility that launches the drawterm client.  However, it's clear that the next step is to understand how to connect to the Raspberry Pi Plan 9 system.  Finding out how to do this is my next challenge.

No comments:

Post a Comment