
In Sachen Hardware hat sich in den vergangenen Jahren einiges getan: Festplatten haben nicht mehr 8, sondern über 400 GByte. Neben IDE und SCSI gibt es heute SATA-, SATA-II- oder Fibrechannel-Anschlüsse. Doch im Hardwareteil des LPI-1-Tests scheint die Zeit stillzustehen.
Im LPI-Themenbereich 1.101 geht es auch im Jahr 2006 noch um Lilo, Festplattenzylinder, USB-Kernelmodule und das manuelle Setup der seriellen Schnittstelle. Auf den ersten Blick wirkt das alles völlig veraltet und stellt scheinbar die Qualität der LPI-Prüfung in Frage. Doch auf den zweiten Blick haben auch solche antiquierten Fragen ihre Berechtigung: Zuallererst möchte der LPI-Test ja die Erfahrung des Kandidaten prüfen. Dazu genügt es nicht, nach den neuesten Entwicklungen der vergangenen 24 Monate zu fragen. Vielmehr stellt nur der seine langjährige Erfahrung unter Beweis, der auch weniger aktuelle Themen noch sicher beherrscht.
Außerdem sollte niemand vorschnell von schnelllebigen Desktop- auf langlebige Serversysteme schließen. Zu oft finden sich noch alte Installationen auf alten Rechnern, die seit Jahren im Produktiveinsatz sind. Nicht umsonst unterstützen die meisten Distributoren ihre Serverprodukte fünf bis sieben Jahre lang. Der Administrator kann im Alltag also schneller mit alter Hard- und Software konfrontiert werden, als ihm lieb ist. Der LPI-Profi muss dann die Lilo-Macken oder die 1024-Zylinder-Probleme lösen können - ganz egal, ob ein moderner Grub dies umgehen könnte.
Trotz der Rücksicht auf nicht mehr aktuelle Themen wird das LPI nicht prähistorisch: In den im Frühjahr 2006 eingeführten neuen Prüfungsinhalten fehlen die Fragen zu ISA-Steckkarten sowie zu den Programmen »isapnp« und »pnpdump«. Doch Kenntnisse über die Adressierung und Ansprache der üblichen Schnittstellen sind weiterhin gefragt, sind sie doch teilweise beim Laden der Kernelmodule anzugeben.
Zum Beispiel sorgten früher Einträge wie »options parport_pc io=0x378,0x278 ir=7,5« oder »options options ne io=0x300,0x320 irq=7,5« in »modules.conf« oder »modprobe.conf« dafür, dass der Kernel die Module für zwei Parallelports oder ISA-Netzwerkkarten korrekt einband. Alternativ lassen sich die Modulparameter auch auf der Kommandozeile direkt an Insmod übergeben.
Obwohl die Kernelentwicklung in den letzen Jahren große Fortschritte gemacht hat und die Module die zum Laden erforderlichen Parameter fast immer selbst erkennen, ist bis heute nicht auszuschließen, dass im Einzelfall Handarbeit gefragt bleibt.
Tabelle 1 zeigt die üblichen I/O-Adressen der Schnittstellen, die über den ISA-Bus eingebunden sind und auch heute noch für die serielle und die parallele Schnittstellen gelten. Darüber hinaus sollten die Kandidaten auch die Klassiker wie Netzwerk- oder Soundblaster-Karten kennen - Computerfreaks älteren Semesters können sich bei der Erwähnung von »0x340« oft ein wehmütiges Lächeln nicht verkneifen.
|
Tabelle 1: | |
|---|---|
| I/O-Adressen | Gerät |
| 0x220, 0x330 | Soundblaster |
| 0x240, 0x300 | Netzwerkkarten |
| 0x2e8, 0x3e8, | serielle Schnittstellen0x2f8, 0x2e8 |
Neben den I/O-Adressen sind noch die passenden Interrupts erforderlich, um die Geräte zu betreiben. Tabelle 2 zeigt die hier gängigen Standardwerte.
|
Tabelle 2: | |
|---|---|
| IRQ | Gerät |
| IRQ 0 | Timer auf dem Motherboard |
| IRQ 1 | Tastatur |
| IRQ 2 | IRQ-Kaskadierung |
| IRQ 3 |
zweite serielle Schnittstelle (alias »/dev/ttyS1«, COM 2) |
| IRQ 4 |
erste serielle Schnittstelle (alias »/dev/ttyS0«, COM 1) |
| IRQ 5 |
reserviert für zweiten Parallelport (alias »/dev/lp1«, LPT 2) |
| IRQ 6 | Floppy-Controller |
| IRQ 7 | erster Parallelport (alias »/dev/lp0«, LPT 1) |
| IRQ 8 | RTC (Hardware-Uhr) |
| IRQ 9 | frei |
| IRQ 10 | frei |
| IRQ 11 | frei |
| IRQ 12 | frei (häufig PS/2-Maus) |
| IRQ 13 | frei |
| IRQ 14 | erster IDE-Controller |
| IRQ 15 | zweiter IDE-Controller |
Die aufgeführten I/O-Adressen können nicht mehrere Geräte parallel ansteuern. Bei Interrupts ist dies dagegen durchaus möglich. Auch wenn es früher viele Probleme und Konflikte damit gab, sind Shared Interrupts heute üblich, wie in den Bios-Bootscreens aktueller Computer zu sehen ist.
| LPI-Aufgabengruppen |
|---|
| Das Linux Professional Institute gliedert die Prüfungsfragen in Aufgabengruppen. Dieser Artikel erklärt die Abschnitte:
|
Das »/proc«-Dateisystem ermöglicht einen Blick auf die Hardware aus der Kernelperspektive. Es enthält keine Dateien im klassischen Sinn, der Kernel generiert den Inhalt beim Zugriff live. »/proc/ioports«, »/proc/interrupts« und »/proc/dma« müssen dem LPI-Kandidaten nicht nur dem Namen, sondern auch dem Inhalt nach exakt bekannt sein.
Der Test beschränkt sich nicht auf Multiple-Choice-Fragen, der Kandidat muss die Bezeichnungen also aktiv beherrschen. Wichtig hierbei: Die genannten Dateien listen nur jene Adressen auf, die ein Kernelmodul dafür am Kernel angemeldet hat. Sie sind also nicht geeignet, um bisher nicht erkannte Hardware zu entdecken oder Adressen nicht unterstützter Hardware herauszufinden.
Anders als die entsprechenden Einträge im »/proc«-Dateisystem liefert das Programm »lspci« einen ungefilterten Blick auf den PCI-Bus. Der Aufruf »lspci -vv« sorgt für ein Maximum an Information, mehr noch als die detaillierte Ausgabe von »lspci -v« (Abbildung 2). Mit »lsusb« gesellt sich ein vergleichbares Programm für den USB-Bus hinzu. Lsisa hat es hingegen nie gegeben.
Kurz nach dem Aufkommen der USB-Schnittstellen war oft Handarbeit nötig, um die passenden Kernelmodule zu laden. Im LPI-Test sind Detailfragen zu diesem Thema zu erwarten. Das Erkennen des richtigen Chipsatzes mit »lsusb« ist Voraussetzung für deren korrekte Beantwortung. Zum Glück kristallisierten sich in der Entwicklung schnell zwei generische Module für die häufigsten Chipsatztypen heraus: »usb_uhci« (Universal Host Controller Interface) unterstützt Intel- und VIA-Chipsätze, »usb_ohci« (Open Host Controller Interface) den Rest. Diese Zuordnung und wie die Module mittels »insmod« oder »modprobe« zu laden sind, beides muss der LPI-Kandidat parat haben.
Die LPI-Objectives unterscheiden noch nach Geräten, die im laufenden Betrieb ein- oder ausgesteckt werden können (Hotplug), also beispielsweise USB- oder PCMCIA-Geräten, und solchen, die sich nur im ausgeschalteten Zustand hinzufügen oder entfernen lassen (Coldplug), namentlich PCI-Steckkarten. Heute nutzt Linux generell bei allen Geräten, die nach dem Start des Kernels eingebunden werden, den Hotplug-Mechanismus. Die Suse-Supportdatenbank [1] erläutert die Technik verständlich.
Ein Gerät, das weder mit Cold- noch mit Hotplug etwas zu tun hat, ist das klassische, an der seriellen Schnittstelle angeschlossene Modem. Die große Tücke hierbei ist folgende: Die Hersteller kamen auf die Idee, sich die Kosten für die so genannte Datapump zu sparen. Dieser Chipsatz übernimmt die Kodierung der Daten in Audiosignale und arbeitet fast immer standardisiert nach dem Hayes-Befehlssatz.
Statt die Datapump in Lizenz zu übernehmen, haben die Hersteller lieber eigene Softwaretreiber entwickelt und die Arbeit damit an die CPU des Rechners übertragen - was aber auch bedeutet, dass diese Softmodems nur mit dem jeweiligen Herstellertreiber funktionieren. Im Grunde genommen sind solche Modems nur Soundkarten mit Telefonanschluss. Linux-Nutzer blieben damals außen vor. Da jeder Hersteller sein eigenes Süppchen kochte und nur Windows-Treiber bereitstellte, bürgerte sich die Bezeichnung Winmodem ein.
Typenbezeichnungen wie HCF (Host Controlled Family), HCP (Host Signal Processing) oder DSP (Digital Sound Processing) deuten auf diese Winmodems hin. Der LPI-Administrator muss sie an diesen Kürzeln erkennen. Auch hier haben sich mittlerweile generische Chipsätze herauskristallisiert, sodass die Treiber des Linmodem-Projekts [2] fast alle heutigen Softmodems in PCI-Karten oder Laptops unterstützten.
Der LPI-Kandidat sollte hier nicht zu stark von der Gegenwart ausgehen: LPI-Fragen sind teilweise einige Jahre alt und spiegelten schon zum Zeitpunkt ihrer Formulierung nicht unbedingt den tagesaktuellen Status wider. Im Zweifel sollte er gerade bei Hardwarefragen den Stand von vor rund fünf Jahren zugrunde legen. Wenn sich keine andere Antwort aufdrängt, wäre es auch richtig zu sagen, dass Linux Winmodems kaum oder gar nicht unterstützt.
Das Programm Setserial ist alten Haudegen der Datenfernübertragung ein fester Begriff - und findet sich auch heute noch in jeder Distribution. Es steuert die Geschwindigkeit (Baud-Rate) und andere Parameter der seriellen Schnittstelle. Bei einem Blick in die Manpage sind die Ausführungen zu »spd_hi«, »spd_vhi« und den zu benutzenden Interrupts wichtig. Fortgeschrittene Konfiguration mit Setserial fragt der Level-1-Test nicht ab. Die alten Prüfungsinhalte über SCSI-Festplatten sind in den neuesten Prüfungsversionen in die Rubrik "Nicht-IDE-Geräte" gewandert, da Linux mittlerweile auch SATA-Festplatten, USB-Sticks oder Raid-Controller generisch als SCSI-Geräte anspricht.
Neben der klassischen Namensgebung von »/dev/sda«, »/dev/sdb« bis »/dev/sdn« gibt es für SCSI-Geräte auch die Devicefiles »/dev/sg« (SCSI Generic) oder »/dev/sr« (SCSI Raw) - alte SCSI-CD-Brenner wurden so angesprochen. SCSI-Bandlaufwerke nutzen »/dev/st« (SCSI Tape) oder »/dev/nst« (SCSI Tape, non-rewind), wobei der Unterschied zwischen beiden Devices nur darin besteht, dass Ersteres zurückspult, Letzteres am Ende stehen bleibt.
Hinter den IDs am SCSI-Bus verstecken sich einige für LPI-Prüflinge wissenswerte Details: Narrow-SCSI erlaubt acht SCSI-IDs am Bus (0 bis 7), Wide-SCSI 16 IDs (0 bis 15). Ingesamt können also sieben oder 15 Geräte an einem SCSI-Bus hängen. Der SCSI-Controller liegt in der Regel auf der SCSI-ID 7. Die Bootplatte sollte die SCSI-ID 0 haben, gegebenfalls muss die Boot-Reihenfolge im Rechner-Bios richtig eingestellt sein.
SCSI-IDs dürfen nicht doppelt vergeben werden. Ebenso kann auch die fehlende Terminierung eines SCSI-Busses zu Fehlern führen: Beide Enden brauchen einen Abschlusswiderstand, der wahlweise als Stecker verfügbar oder bereits in Controller oder Festplatte eingebaut und per Jumper aktivierbar ist. Wer keine echten SCSI-Festplatten im System hat, kann sich mit einem Blick in die Manpages von »scsiinfo« und »scsi_id« das nicht allzu detaillierte SCSI-Wissen für LPI 1 verschaffen.
Alles in allem gehören die Fragen zur Hardware aus Sicht der Prüflinge wohl eher zur Pflicht als zur Kür. Die LPI-Objectives zeigen aber, dass den Fragen nur eine relativ geringe Gewichtung zukommt. Im Vergleich zu anderen Themen ist hier nur mit einer recht geringen Anzahl an Fragen und mit nicht zu großer Fachtiefe zu rechnen.
Wer den Mut zur Lücke aufbringt, wird diesen Prüfungsbereich zwar ohne allzu große Verluste überstehen. Er verpasst jedoch die Chance auf einige einfach zu erlangende Punkte, die ihm schon eine grundlegende Beschäftigung mit diesen Themen sichern würde. (pkr)
| Infos |
|---|
| [1] Hotplug-Mechanismus: [http://de.opensuse.org/SDB:Überblick_über_das_SUSE_Linux_Hotplug_System] [2] Winmodems unter Linux: [http://www.linmodems.org] |
| Der Autor |
|---|
| Peer Heinlein ist seit über fünf Jahren LPI-Trainer und hat neben dem LPIC-1-Buch bei Open Source Press noch zwei weitere Bücher zu Postfix und Snort veröffentlicht. Er ist regelmäßig mit verschiedenen Vorträgen auf Linux-Tagen und gibt Schulungen für Administratoren. |