Login


 
Newsletter
Werbung

Mo, 11. September 2000, 00:00

MFM/RLL Festplatten unter Linux

Von Boris

Einleitung

Wer kennt sie nicht aus guten alten Zeiten, die teilweise monströsen, lauten, enorm langsamen und fehleranfälligen MFM/RLL-Festplatten, die damals in fast jedem PC/XT eingebaut waren. Vor Jahren war Speicherplatz noch etwas ganz Besonderes. Die Leute, die einen XT mit zwei 360 KByte Diskettenlaufwerken besaßen, waren schon zu beneiden. Die ersten XTs von Commodore wurden dann schon mit sage und schreibe 10 MByte Festplatten von Seagate ausgestattet.

Generell unterscheidet man bei diesen Festplatten zwischen zwei Zugriffsverfahren: MFM und RLL. Heute ist so eine geringe Kapazität wie damals nicht mehr vorstellbar.

Nun aber zum Thema. Diese alten Festplatten kann man sogar heutzutage noch unter Linux betreiben. Wer mich jetzt fragt, was es für einen Sinn macht, zusätzlich einen alten 8-Bit Controller in einen ISA Steckplatz, sofern noch vorhanden, in seinen Computer einzubauen, um dort eine Festplatte mit beispielsweise 20 MByte neben einer modernen Festplatte mit einer Kapazität von mehreren Gigabyte zu betreiben, dem kann ich konkret keine Antwort geben. Praktisch gesehen bringt der Einbau einer solch alten Festplatte gar keine Vorteile. Der Nachteil liegt in der Zeit, die benötigt wird, solche Festplatten zum Laufen zu bringen. Für mich war es eher eine spaßige, aber auch herausfordernde Angelegenheit, in einem modernen PC von heute solch eine alte Festplatte zu betreiben, zumal Linux das einzige aktuelle Betriebsystem ist, welches diese Festplatten noch unterstützt, soviel ich weiß.

Das Einbinden von alten Festplatten und des XT Controllers ist jedoch nicht unproblematisch. Hilfreich kann es sein, wenn man noch irgendwelche Datenblätter über Controller oder Festplatte besitzt. Man sollte sich soviel Wissen über die zu verwendende Festplatte und deren Controller aneignen wie möglich. Hat man noch einen XT auf dem Speicher rumstehen, der funktionstüchtig ist, dann ist es von Vorteil wenn man erst einmal sämtliche Parameter mit Hilfe eines Diagnoseprogramms herausfindet.

Kernel-Konfiguration

Kernelkonfiguration für XT-Controller

Boris Woeste

Kernelkonfiguration für XT-Controller

Die Unterstützung für XT-Festplatten-Controller bzw. MFM/RLL-Festplatten kann wahlweise fest in den Kernel eingebunden oder modular verwendet werden. Es empfiehlt sich aber generell, mit Modulen zu arbeiten. Diese vergrößern den Kernel nicht unnötig, da sie jederzeit in den Speicher geladen werden und genauso wieder aus dem Speicher entfernt werden können. Um den Kernel neu zu konfigurieren, wechselt man in das Verzeichnis mit den Kernelquellen.

Dort startet man die Konfiguration des Kernels mittels make xconfig, wenn man sich unter X befindet, oder mit make menuconfig sonst. Näheres zur Kernelkonfiguration und zur Kernelkompilierung kann man unter Pro-Linux Kernelkonfiguration erfahren.

Ich habe keine Ahnung, wann die Unterstützung für XT-Controller in den Kernel aufgenommen wurde. Alle Kernelversionen, die ich kenne, besitzen diese Option bereits. Im Hauptmenu wählt man unter Block devices die Option XT hard disk support als Modul aus. Das war eigentlich schon alles. Den Kernel, bzw. die Module kann man dann neu kompilieren. Den Kernel kann man durch Eingabe der Zeile make dep clean bzImage kompilieren. Die Module werden mit make modules erzeugt und mit make modules_install installiert. Das Modul, welches den XT-Controller und die Festplatten in das System einbindet, heißt xd.o und befindet sich standardmäßig im Verzeichnis /lib/modules/kernelversion/block.

Grundsätzliches

Unter Linux wird die erste Festplatte, die an den XT-Controller angeschlossen ist, mit /dev/xda bezeichnet. Die zweite Festplatte bezeichnet man demzufolge mit /dev/xdb. Es können maximal zwei Festplatten an einen Controller angeschlossen werden. Aber das habt ihr vermutlich auch schon herausgefunden. Der Controller kann so gejumpert sein, dass das Controller-BIOS deaktiviert ist. Wer von so einer alten Platte booten möchte, darf natürlich das BIOS nicht deaktivieren. Die meisten alten Controller sind allerdings standardmäßig so gejumpert, das das BIOS aktiv ist. Einige Controller verweigern ihren Dienst wenn das BIOS deaktiviert ist. Der Linux-Kernel erkennt dann z.B. die Geometrie der Festplatte nicht korrekt oder findet erst gar keinen Controller. Falls man das BIOS deaktivieren möchte und keine Beschreibung des Controllers besitzt und auch keine Bezeichnung auf der Controllerplatine steht, hilft nur noch das Trial-and-Error-Prinzip und ein wenig Glück.

Die Möglichkeit, den Linux-Loader LILO auf eine Diskette zu schreiben und von dort dann das normale System zu booten, besteht in jedem Fall. Bei vielen Controllern muss man Jumper setzen, damit dieser die Festplatte richtig erkennt. Normalerweise sollte das Modul für den XT-Controller die angeschlossene(n) Festplatte(n) selbständig erkennen. Dem Kernel kann man allerdings auch die Geometrie der Festplatte(n) mitteilen. Dazu muss man in der Konfigurationsdatei von LILO eine Zeile einfügen. Zum Editieren der Datei benötigt man Root-Rechte. Am besten, man schnappt sich seinen Lieblingseditor und editiert damit die Datei /etc/lilo.conf. Der xd_geo-Parameter, der dem Kernel die Geometrie der Festplatte(n) mitteilt, hat folgende Syntax:

xd_geo=cyl_xda,head_xda,sec_xda,cyl_xdb,head_xdb,sec_xdb

Die Parameter cyl_xda, head_xda, sec_xda stehen für die Anzahl der Zylinder, Köpfe und Sektoren der ersten Festplatte /dev/xda. Die weiteren Parameter stehen für die zweite Festplatte /dev/xdb. In der Datei /etc/lilo.conf muss vor den eigentlichen Bootkonfigurationen die obige Zeile hinzugefügt werden. Die Anzahl an Zylinder, Köpfen und Sektoren steht meist auf den Festplatten. Ist dort nichts zu finden, kann man einfach mal im Internet nachschauen.

In diesem Beispiel ist eine Festplatte angeschlossen, die 615 Zylinder, 4 Köpfe und 17 Sektoren besitzt.

# LILO Konfigurations-Datei
# Start LILO global Section
append="xd_geo=615,4,17"
boot=/dev/sda
#compact
vga=6
read-only
prompt # End LILO global Section
#
image = /boot/linux-2.2.10
 root = /dev/sda3
 label = linux

Zeilen, die mit dem Rautenzeichen beginnen, sind Kommentare und werden nicht berücksichtigt. Hat man die Datei angepaßt, muss man LILO als Root unter Angabe der Konfigurationsdatei starten, um die geänderte Konfiguration einzutragen. Dazu gibt man auf der Konsole lilo -v -C /etc/lilo.conf ein. Auf die Ausgabe von LILO sollte geachtet werden, denn falls Fehler auftreten, kann das System unter Umständen nicht mehr richtig gestartet werden.

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