Login
Newsletter
Werbung

Mi, 11. September 2002, 00:00

Installation von Debian GNU/Linux auf einer SGI Indy

X11

Von hier an hat man weitgehend ein normales Linux-System vor sich. Man kann /etc/apt/sources.list anpassen, Pakete entfernen und hinzufügen und alle denkbaren Einstellungen tätigen. Doch es bleibt noch ein Brocken zu bewältigen: Noch ist kein lauffähiges X11 installiert.

Dies stellte sich als schwieriges Problem heraus. Der installierte X-Server (bei Woody bekanntermaßen XFree86 4.1) startete zwar, brach dann aber mit der Meldung "unable to open PEX font..." ab. Ich prüfte endlos - der Font war vorhanden und wurde vom Server auch geöffnet. Leider ließ sich die PEX-Unterstützung nicht abschalten. Ich fand keine andere Lösung, als eine neue Version von XFree86 zu installieren.

GNOME mit Gnumeric

hjb

GNOME mit Gnumeric

Dazu mußte ich aber die Quellen von XFree86 selbst compilieren. Ich verwendete gleich den aktuellen CVS-Stand, und im zweiten Anlauf schaffte ich es auch, das System zu compilieren. Es dauerte einen Tag oder so. Leider funktionierte auch diese Version nicht. Denn es wurde ein Modul geladen, das den PCI-Bus absucht. Dummerweise scheint es in einem Rechner, der nicht über PCI verfügt, einen Fehler zu liefern, und abschalten läßt es sich auch nicht.

Doch nachdem Debian 3.0 freigegeben war, wendete sich das Blatt. Dann kam nämlich XFree86 4.2 in Debian-Unstable, und mit dieser Version gelang es mir, den X-Server zu starten. Und nachdem ich die ganzen GNOME-Pakete installiert hatte, konnte ich erstmals GNOME auf der Indy bewundern.

Kernel

Prinzipiell kann man auf den 64-bit-Prozessoren einen 32-bit- oder einen 64-bit-Kernel erstellen. Allerdings ist die 64-bit-Version noch in der Entwicklung.

32-bit Kernel

Ich besorgte mir die neueste Kernelversion von kernel.org. Zum damaligen Zeitpunkt war das 2.4.19-rc1. Da ich keine MIPS-relevanten Patches fand und nicht den MIPS CVS Tree probieren wollte, versuchte ich es genau so, wie man es von stinknormalen PCs kennt. Zuerst make menuconfig, was die üblichen Optionen und ein paar MIPS-spezifische bringt. Die Voreinstellung scheint perfekt auf die Indy zu passen, lediglich die CPU muß man anpassen. Weiter muß man bei der Konfiguration darauf achten, daß man die seriellen Standard-Ports nicht aktiviert, ebenso wie Framebuffer. Die SGI-Maschinen haben andere serielle Ports, und der Framebuffer ist sowieso aktiviert. Hält man sich nicht an diese Regel, hagelt es später beim Compilieren Fehler.

In Kernel 2.4.19-rc1 ist außerdem die Option "IRIX compatibility" wegzulassen, weil das auch zu einem Fehler führt. Außerdem war ein weiterer winziger Patch nötig, der aber im Archiv der Linux Kernel Mailing-Liste leicht zu finden war.

Mit make boot erstellt man den bootfähigen Kernel, der im Verzeichnis arch/mips/boot/vmlinux.ecoff zu finden ist. make vmlinux allein liefert nur die Datei vmlinux, die aber nicht bootfähig ist. make bzImage oder ähnliches gibt es nicht.

Den Kernel kopierte ich zunächst nach /boot, obwohl er dort nutzlos ist. Als Name kann man z.B. vmlinux-2.4.19-rc1 wählen, doch ich halte das vm für überflüssig und bevorzuge die Namensgebung linux-2.4.19-rc1. Nun muß man den Kernel noch in den Volume Header kopieren. Das Tool dafür ist dvhtool.

Im Volume Header lag bereits der Debian-Kernel unter dem Namen linux. Ich beschloß, zunächst davon einen Backup zu machen, indem ich einfach den Debian-Kernel nochmal unter anderem Namen in den Volume Header kopierte. Dann überschrieb ich den Kernel unter dem Namen linux mit meinem eigenen:

dvhtool --unix-to-vh vmlinux-2.4.16-r4k-ip22 2.4.16
dvhtool --unix-to-vh linux-2.4.19-rc1 linux
dvhtool --print-all

Wie sich fünf Minuten später herausstellte, war das Backup eine gute Idee... Wenn Sie aber meinen Anweisungen oben folgen, werden Sie es nicht brauchen.

64-bit Kernel

Die installierten Compilertools (binutils und gcc) sind zwar 32-bittig, können aber auch 64-bit Code erzeugen. Theoretisch muß man nur die Option -mips3 in die Compilerflags einfügen, um einen 64-bit Kernel zu erstellen (-mips3 entspricht den Optionen -mfp64 -mgp64 -mcpu=r4000 -mabi=64). Und natürlich immer das Argument ARCH=mips64 an make übergeben.

Ich begann also mit den Kommandos:

make ARCH=mips64 oldconfig
make ARCH=mips64 dep
make ARCH=mips64 clean
make ARCH=mips64 boot

Das Compilieren des Kernels scheiterte dann mit Fehlermeldungen, die ich mir schon aus Zeitgründen nicht im Detail ansehen wollte. Vielleicht habe ich etwas falsch gemacht, vielleicht ist es auch ein Kernel-Problem, das in späteren Versionen behoben wird.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung