David's Web Repository David Boddie - Projects David Boddie - Updates

Exploring Alternative Operating Systems – Inferno

Continuing my exploration of alternative operating systems, which was inspired by the successfully funded EOMA68 Crowd Supply campaign, I have been looking at Inferno in more detail than I've managed to do so before. My aim has been to install the operating system on real hardware rather than relying on emulators since the eventual goal is to install it and try it out on my old laptop.

What is Inferno?

Inferno is a operating system in the Unix lineage that gets less attention than its predecessor, Plan 9, and has never really enjoyed the success of other systems of a similar vintage. It's difficult to know if this is due to the initial choice of license, the architectural and conceptual choices, the current license, or perhaps it just isn't regarded as "cool" software.

Both Plan 9 and Inferno started as proprietary operating systems with license models that were common for the time, involving different licenses for different uses, the need to pay up front for the system, and limited rights for the users. By the time the third edition of Inferno was released, a license subscription would cost $300. The fourth edition, however, was released under the GNU General Public License (version 2), making it an interesting candidate for exploration.

As an aside, Plan 9 was available under the GPL-incompatible Lucent Public License until being re-released under the GNU GPL v2. This followed a previous license change that appeared to cause some issues for the OpenBSD community at the time.

In technical terms, Inferno differs from Plan 9 in one obvious way: software for the operating system is written in Limbo and compiled to bytecode for the Dis virtual machine rather than executed as native code. However, the virtual machine does have a Just In Time (JIT) compiler, so performance may be better than some other virtual machines. Still, if you want the power and flexibility of being able to compile and run native code within the OS, perhaps Inferno isn't for you.

Learning about Inferno

Rather than write notes about installation here, I forked/cloned the official Mercurial repository for Inferno on Bitbucket and enabled a Wiki for the repository. The Wiki is not a clone of the official repository's Wiki since that doesn't really contain much content. My plan is to write about installing and using "native" Inferno, intended for use on real hardware, rather than "hosted" Inferno which is run as an environment on another operating system.

There are plenty of resources already available about Inferno, of course, and I don't want to duplicate what others have already written. The documentation is a good starting point.

Another document worth looking at is Mechiel Lukkien's Getting Started with Inferno which summarises the key concepts behind the operating system, gives an overview of the root directory layout, describes installation of a hosted environment, and covers a few other topics related to Inferno. It also includes links to other online resources. Those familiar with GNU/Hurd's concept of translators may find the examples of Styx servers familiar.

It seems that people discover Inferno, perhaps via Plan 9, and go on to write a few articles about it.

Finally, a lot of historical information about Inferno is held at Cat-v.org.

2019-03-17: Updated link to Plan 9.

Category: Free Software

Copyright © 2020 David Boddie
Published: 2016-09-01 21:23:45 UTC
Last updated: 2020-10-24 22:33:44 UTC

This document is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International license.