⑨ lab ≡ ByteLabs

Plan9/MNT Pocket Reform

— Igor Böhm

The MNT Pocket Reform has arrived! No time to work on native 9front install yet; howbeit, it is easily possible to run drawterm to connect to the Plan9 world, or install plan9port

MNT Pocket Reform running drawterm…

MNT Pocket Reform running drawterm…

Documentation

Pocket Reform EssentialsPocket Reform Handbook

MNT Pocket Reform…

MNT Pocket Reform…

Notes

Drawterm, Fonts, and Development Tools

Let’s install ed, drawterm, fonts, and git:

% sudo apt install ed drawterm git fonts-firacode

Next up are some build essentials to compile plan9port:

% sudo apt install gcc libx11-dev libxt-dev libxext-dev libfontconfig1-dev
MNT Pocket Reform running drawterm. In the background is an Oberon board…

MNT Pocket Reform running drawterm. In the background is an Oberon board…

Plan9Port

Checkout and build plan9port into /usr/local/plan9:

% sudo mkdir /usr/local/plan9 ; sudo chown $USER /usr/local/plan9
% git clone https://github.com/9fans/plan9port /usr/local/plan9
% cd /usr/local/plan9
% ./INSTALL

Append the following to your ~/.profile:

PLAN9=/usr/local/plan9
export PLAN9
PATH="$PATH:$PLAN9/bin" 

Add launchers for acme, 9term, and sam to simplify invocation:

9term

% cat bin/9term.sh
#!/bin/sh
cd $HOME
/usr/local/plan9/bin/9.rc 9term  -f /mnt/font/FiraCode-Regular/12a/font  rc -l

acme

To enable multiple acme instances two scripts are used, the first script 9acme.rc maintains a separate namespace for each acme instance:

% cat bin/9acme.rc
#!/usr/bin/env rc
flag e+
NAMESPACE=`{namespace}^-^'acme'^-$pid
mkdir -p `{namespace}
acme $*
rm -rf `{namespace}

The second scripts 9acme.sh invokes 9acme.rc with additional options:

% cat bin/9acme.sh
#!/bin/sh
cd $HOME
/usr/local/plan9/bin/9.rc 9acme.rc  -f /mnt/font/FiraCode-Regular/12a/font -c2 -a

Finally, let’s create a launcher for sam:

% cat bin/9sam.sh
#!/bin/sh
cd $HOME
/usr/local/plan9/bin/9.rc sam -a
MNT Pocket Reform running plan9port acme…

MNT Pocket Reform running plan9port acme…

Linux Kernel Installation

An apt get upgrade incantation combined with an apt get build-essential pulled in a newer kernel. The kernel was not compatible with the Wifi firmware blob. To resolve the issue I wanted to revert to the previously used kernel; that can be accomplished via the flash-kernel command:

% sudo flash-kernel --force 6.7.12-reform2-arm64
...
% sudo reboot
Using MNT Pocket Reform on the go…

Using MNT Pocket Reform on the go…

#Plan9 #Dev #9front #Debian