Getting started with Inferno

Table of Contents

1. Install and run Inferno

Inferno can be compiled from sources, but this is difficult to do in practice.

I packaged it using GNU Guix.

First, install GNU Guix as a package manager on your so-called "foreign" distro.

Then, make sure you are using Beaver Labs' channel.

Finally, run the following command to compile guix for your system:

guix shell inferno rlwrap fzf man-db

You can now, in the shell created by the above command, run:

rlwrap --always-readline $GUIX_ENVIRONMENT/inferno/Linux/386/bin/emu

The ; prompt you will see is Inferno's shell.

2. Documentation

Inferno's man pages are hosted on Vita Nuova's website: https://www.vitanuova.com/inferno/man/

But our advice is to use the following bash snippet:

read search && \
    man $(grep $search -lri $GUIX_ENVIRONMENT/inferno/man \
        | fzf \
        --preview='man {} | grep -i --color=always -E "'$search'|^"')

The inferno distribution also comes helpfully bundled with a series of PDF documents that we advise you to peruse or to grep from:

ls $GUIX_ENVIRONMENT/inferno/doc

Also, the Inferno Programming With Limbo book is extremely helpful, and its chapter 10 will be of great help to you.

Finally, Pete Elmore did a whole series of tutorials about Inferno. I suspect Part 2 will be extremely helpful as well.

3. Communications with the external world

Before Inferno can do anything useful, it need to access the network and access the files on your computer.

The following set of commands will achieve that. I highly recommand you start reading the corresponding man pages to understand what these commands do, and adapt them to your particular situation.

ndb/cs
ndb/dns
mount -a {mntgen} /usr/
bind -c '#U*/home/USER/SOMEPATH/' /usr/USER

4. Afterword

In the words of Dante:

Lasciate ogne speranza, voi ch’intrate

Just kidding. Inferno is awesome, you will have fun :)

5. Changelog

  • <2024-09-20 Fri> Upate Beaver Labs' channel to remove the need for --system=i686-linux, fix some typos in the commands.

Author: Edouard

Created: 2024-09-20 Fri 07:34

Validate