Das n-Universum

Hinweise zur Installation des Nanouniversums

Installation

Das Nanouniversum wird entweder von root im Verzeichnis $GOSRC oder von „usern“ im Unterverzeichnis go/src ihres Heimatverzeichnisses installiert, indem die Datei nU.tgz per tar-Kommando mit den Optionen xfz entpackt wird. Dabei wird – sofern nicht bereits vorhanden – das Unterverzeichnis nU erzeugt, in dem alle Quelltexte abgelegt werden.

Wenn die im folgenden Abschnitt genannten Voraussetzungen erfüllt sind, wird die nU-Bibliothek mit dem Skript install.sh hergestellt.

Voraussetzungen

Vorausgesetzt wird ein Rechner mit Linux als Betriebssystem, auf dem Go installiert ist (s. Hinweise zur Installation von Go}.

Dabei ist eine Version ab 1.18.1 vorausgesetzt: Die Google-Entwickler haben meinen Typ type Any = interface{} aus dem Paket μU.obj geklaut und ihn unter dem Namen any als alias für das leere Interface in die Sprache eingebaut. Deshalb habe ich jetzt der Bezeichner Any überall durch any ersetzt, was den Import von μU.obj an vielen Stellen erspart.

Alle folgenden Angaben beziehen sich auf openSUSE mit der bash als Login-Shell. Andere Distributionen oder Shells erfordern eventuell Anpassungen wie z.B. „X=...; export X“ anstelle von „export X=...“.

Da wesentliche Teile des Nanouniversums auf folgendes zurückgreifen:

muss unter openSUSE folgendes installiert werden:

Bei anderen Distributionen haben die entsprechenden Pakete eventuell andere Namen – das lässt sich aber leicht durch „googeln“ nach diesen Begriffen herausfinden. Unter Ubuntu ist die Installationen der terminus-bitmap-fonts komplizierter (einer der vielen Gründe, warum ich openSUSE empfehle).

Der Zugriff auf den Framebuffer, der für den Konsolenbetrieb notwendig ist, setzt voraus, dass die Datei /dev/fb0 die Rechte rw-rw-rw- besitzt, also Lese- und Schreibrechte für alle. Wem das aus Sicherheitsgründen zu heikel ist, kann auch dafür sorgen, dass root die user in die Gruppe video einträgt. Beides kann z.B. durch entsprechende Einträge in /etc/init.d/boot.local erreichtt werden.