November 8, 2016

Xinu on The Beaglebone Black

I was surprised and pleased to discover that Xinu runs on the BBB. The "real Xinu" project on Github is the "real thing", i.e. the sources currently being maintained by the Xinu inventor, Douglas Comer at the Purdue University computer science department. At the time of this writing, Xinu on the BBB is an active project, although most of the attention of the Xinu group at Purdue seems to be focused on the Intel Galileo.

There is another Xinu project on GitHub called "Embedded Xinu". I have not worked with this and am unsure of what hardware it runs on. As I understand this, this project is being done by one of professor Coner's former students.

There are a pair of Xinu books:

Book 1 emphasizes the operating system and book 2 emphasizes networking. If you are a cheapskate like me, you buy the original edition (which discusses code that runs (or ran) on the PDP-11). This is not as bad as it sounds as the bulk of the code is portable C and with the current sources for the BBB, you are in great shape. Besides that, the PDP-11 is simple enough and entertaining to learn the details of. You could get carried away and find a PDP-11 emulator somewhere. Then with in-depth knowledge of the PDP-11, you would be in great shape to tackle the classic "Lions Commentary" on Edition 6 Unix.

Subsequent versions of Xinu ran on the MIPS processor (on certain linksys routers). At any event, the Xinu code is simple and written to be extremely clear, ideal to learn operating systems, and entirely adequate for embedded systems as well.

Running Xinu

There are instructions on the Purdue Xinu page for booting Xinu on the BBB using the serial port. I much prefer to boot Xinu over the network using TFTP. This is a bit of work to set up, but once set up, it is by far the ideal way to do Xinu development.


Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org