1.101.1
Konfiguration grundlegender BIOS-Einstellungen
Beschreibung: Prüfungskandidaten sollten in der Lage sein, grundlegende
Systemhardware durch korrekte Einstellungen im System-BIOS zu konfigurieren.
Dieses Lernziel beinhaltet das richtige Verständnis von
BIOS-Konfigurations-Fragen wie der Verwendung von LBA bei IDE-Festplatten
mit mehr als 1024 Zylindern, das Aktivieren und Deaktivieren von
integrierten Peripheriegeräten, sowie die Konfiguration von Systemen mit
bzw. ohne externen Peripheriegeräten wie z.B. Tastaturen. Ebenfalls
enthalten ist das korrekte Setzen von Interrupts, DMA- und I/O-Adressen für
alle vom BIOS verwalteten Ports und Einstellungen für Fehlerbehandlung.
Die wichtigsten Dateien, Bezeichnungen und Anwendungen
- /proc/ioports
- /proc/interrupts
- /proc/dma
- /proc/pci
Die hier geforderten Fähigkeiten sind eigentlich nicht Linux-spezifisch,
haben jedoch eine Bedeutung für die Installation und die fehlerfreie
Ausführung von Linux auf einem PC. Ein Systemverwalter sollte eigentlich
keinerlei Probleme damit haben. Trotzdem gehe ich hier der Vollständigkeit
halber die einzelnen Punkte noch einmal durch.
Die Funktion des Computer-BIOS
Das Basic Input Output System (BIOS) eines PC ist eine kleine
Softwareschicht, die sich zwischen die Hardware und das Betriebssystem legt,
um eine einheitliche Schnittstelle gegenüber der Hardware zur Verfügung zu
stellen. Bei der Vielfältigkeit der Mainboards wäre ansonsten jedes
Betriebssystem gezwungen, die verschiedensten Architekturen der Boards alle
genau zu kennen.
Vereinfacht kann man sagen, daß das BIOS die wesentliche Funktionalität des
Mainboards für das Betriebssystem zugänglich macht. Dazu gehören natürlich
auch die verschiedenen Schnittstellen, die heutzutage selbstverständlich auf
einem Mainboard integriert sind. Standardmäßig zählen dazu:
- Tastaturschnittstelle
- PS/2 Mausport (psaux)
- Zwei serielle Schnittstellen
- Eine parallele Schnittstelle
- Zwei E-IDE Schnittstellen (für bis zu 4 IDE-Geräte)
- Ein Floppy-Controller (für bis zu zwei Diskettenlaufwerke)
Optional sind womöglich noch andere Schnittstellen enthalten wie
- USB-Ports
- Sound
- SCSI
- Game-Port
Diese optionalen Schnittstellen werden in späteren Kapiteln noch genauer
behandelt. In diesem Abschnitt interessieren uns die Standard-Schnittstellen
des Boards.
Das BIOS ist also eine Sammlung von Software, die sich physikalisch in einem
Speicherbaustein (ROM) auf dem Board selbst befindet. Die Software passt
genau zu dem jeweiligen Board und ist entsprechend nicht einfach
austauschbar. In der Praxis hat das BIOS ein paar unterschiedliche Aufgaben
zu bewältigen, von denen Linux einige aus Geschwindigkeitsgründen umgeht.
Von daher sind einige Einstellungen, die wir machen können für den täglichen
Gebrauch mit Linux gar nicht wichtig, andere hingegen sind unumgänglich, da
sie den Ladevorgang selbst betreffen.
Das CMOS-Setup Programm
Jedes BIOS hat die Möglichkeit, bestimmte Einstellungen vom User verändern
zu lassen. Dazu stellt es ein kleines Setup-Programm zur Verfügung, das beim
Systemstart geladen werden kann. Verschiedene BIOS-Hersteller gehen dabei
unterschiedliche Wege, meist wird durch eine bestimmte Taste(nkombination)
während des Startvorganges - vor dem Booten des Betriebssystems - dieses
Programm aktiviert. Typische Tasten(kombinationen) sind
- DEL (Entf)
- F2
- Strg-Alt-Esc
In der Regel erscheint daraufhin ein Menü, das verschiedene
Auswahlmöglichkeiten bietet. Die optische Aufmachung dieses Menüs variiert
von Hersteller zu Hersteller und von Version zu Version. Gemeinsam sind
diesen Menüs die Einstellmöglichkeiten für die verschiedenen
Peripheriegeräte, die auf dem Mainboard liegen. Alle weiteren
Peripheriegeräte, die etwa über Erweiterungskarten hinzugefügt werden,
können nicht mit diesem Programm eingestellt werden!
Das Standard-Setup
Klassische Einstellmöglichkeiten finden wir meist in einem Untermenü mit
Namen Standard-Setup. Dieses Menü war bei den ersten AT-Computern schon
vorhanden und trägt daher diesen Namen. Hier können folgende Einstellungen
vorgenommen werden:
- Einstellung des Datums und der Uhrzeit
- Einstellung, welche Diskettenlaufwerke angeschlossen sind.
- Einstellungen welche Festplatten angeschlossen sind. (Diese Einstellung
bezieht sich wiederum nur auf die Platten, die an die Schnittstellen
angeschlossen sind, die auf dem Mainboard integriert sind, nicht die an
zusätzlichen Controllern.)
- Primäre Graphikkarte. Stammt aus einer Zeit, als es noch Graphikkarten
mit unterschiedlichen Speicheradressen gab (Hercules, MDA). Steht heute
praktisch grundsätzlich auf VGA/EGA.
- Fehlerbehandlung beim Booten
Wichtig sind hier die Einstellungen der Festplatten und die
Fehlerbehandlung.
Festplatteneinstellungen
Die üblichen Mainboards haben zwei IDE Kanäle onboard, können also bis zu
vier IDE Platten (oder CDROMS/DVD/Brenner) anschließen. Die Einstellungen
für die Platten sind für Linux eigentlich unerheblich, da der Kernel die
Controller direkt anspricht und nicht über das BIOS. Trotzdem sind ein paar
Einstellungen hier von großer Bedeutung.
Festplatten werden traditionell über drei Größen klassifiziert. Die Anzahl
der Zylinder (übereinanderliegende Spuren auf den Plattenoberflächen), die
Anzahl der Sektoren pro Spur (die jeweils 512 Byte Speicher enthalten) und
die Anzahl der Köpfe (und damit auch die Anzahl der beschreibbaren
Oberflächen). Daraus errechnet sich die Kapazität einer Festplatte
folgendermaßen:
Zylinder * Köpfe * Sektoren_pro_Spur * 512 Byte
Physikalisch sind die Platten zwar heute intern etwas anders aufgebaut (so
haben etwa die inneren Spuren weniger Sektoren als die äußeren), aber
logisch werden sie immer noch so verwaltet. Das Problem liegt jetzt darin,
daß das BIOS sich schwertut, Betriebssysteme von Platten zu booten, die mehr
als 1024 Zylinder besitzen. Aus diesem Grund bieten moderne BIOSe die
Möglichkeit einer alternativen Rechnung an. Wenn wir etwa die Anzahl der
Zylinder halbieren, aber dafür die Anzahl der Köpfe verdoppeln (rechnerisch,
nicht physikalisch), dann bekommen wir das exakt gleiche Ergebnis der obigen
Rechnung. Als Nebeneffekt haben wir aber jetzt weniger als 1024 Zylinder und
können problemlos booten. Dieser Modus heißt Large Block Architecture
oder einfach LBA-Modus.
Trotzdem Linux das BIOS bei Plattenzugriffen umgeht, sollten wir diesen
Modus für Platten mit mehr als 1024 Zylindern wählen, weil wir sonst
Probleme bekommen können mit
- Partitionierungssoftware (fdisk), die immer noch auf den
BIOS-Einstellungen fusst
- Bootmanagern (Lilo, Grub), die vom BIOS geladen werden müssen.
Grundsätzlich ist also für Festplatten mit mehr als 1024 Zylindern der
LBA-Modus einzustellen. Wir haben dadurch keinerlei Nachteile, jedoch auch
keine Probleme mehr.
Fehlerbehandlung
Die Einstellungen für die Fehlerbehandlung sind relativ trivial. Hier kann
eigentlich nur festgehalten werden, bei welchen Fehlern das System gar nicht
erst bootet. In der Regel bietet ein Setup-Programm folgende Alternativen:
- Halt on all errors
- Halt on all errors but disk
- Halt on all errors but keyboard
- Halt on all errors but disk and keyboard
Normalerweise könnten wir davon ausgehen, daß eine Einstellung Halt on
all errors eine gute Idee ist, aber bei Linux ist das womöglich anders.
In vielen Fällen arbeiten Linux-Server ohne eigene Tastatur. Das kann daran
liegen, daß diese Server in einem Rack hängen und softwaremäßig über eine
Konsole verwaltet werden, oder daß der Server sich zusammen mit anderen eine
Tastatur (und einen Monitor) über eine Umschaltbox teilt. In jedem Fall kann
es vorkommen, daß ein solcher Rechner bootet und dabei keine Tastatur
vorfindet. Es wäre aber ärgerlich, wenn dadurch der Bootvorgang abgebrochen
werden würde. Für solche Rechner empfielt es sich also, die Einstellung
Halt on all errors but keyboard vorzunehmen.
Peripheriegeräte einstellen
An einer anderen Stelle im CMOS-Setup-Programm können die Einstellungen für
die weiteren Geräte vorgenommen werden, die auf dem Mainboard integriert
sind. Dieser Menüpunkt heißt oft integrated peripherals. Hier können
die integrierten Schnittstellen aktiviert bzw. deaktiviert werden und ihre
Hardwareparameter können eingestellt werden.
Hierbei kann es naturgemäß zu Überschneidungen mit Hardwareparametern
externer Erweiterungskarten kommen. Sollte eine Erweiterungskarte einen
Adressbereich, einen IRQ oder DMA-Kanal benutzen wollen, der hier schon
vergeben ist, so muß dafür gesorgt werden, daß alle Geräte eigene Werte
bekommen. Um zu überprüfen, welche Geräte mit welchen Hardwareparametern
arbeiten, stehen uns dafür unter Linux die Dateien im /proc-Verzeichnis zur Verfügung.
In manchen Fällen kann es auch sinnvoll sein, bestimmte Peripheriegeräte auf
dem Mainboard ganz abzuschalten, wenn sie etwa nicht benutzt werden. Ein
Rechner, der nur mit SCSI-Geräten arbeitet, muß keine IDE-Kanäle aktiviert
haben. So sparen wir uns schon zwei IRQs (14 und 15). Oder ein Rechner mit
integrierter Soundkarte kann diese bedenkenlos deaktivieren, wenn er als
Webserver oder Internet-Router in einem 19 Zoll Schrank arbeitet und gar
keine Boxen angeschlossen hat...
Auch wenn statt der integrierten Soundkarte eine andere (bessere) verwendet
werden soll, bietet es sich an, die integrierte Soundkarte einfach zu
deaktivieren.
PnP und PCI Setup
Auf der Hardwareparameter-Seite wurden bereits die
unterschiedlichen Zuweisungen von IO-Adressen und IRQs bei den verschiedenen
Bussystemen angesprochen. Unter diesem Menüpunkt sind in Systemen, die
sowohl alte (nicht Plug and Play) ISA-Karten, als auch moderne Plug and Play
oder PCI Karten benutzen, ein paar Einstellungen nötig.
Wie schon erwähnt, können Plug and Play Karten (und PCI-Karten) sich selbst
die passenden Hardware-Parameter aussuchen. Dabei kann es aber zu Konflikten
kommen, wenn andere ISA-Karten, die nicht Plug and Play-fähig sind, die
selben Parameter fest eingestellt haben. Das BIOS kann diese feste
Einstellung nicht überprüfen.
Aus diesem Grund bietet das Setup-Programm die Möglichkeit, bestimmte IRQs
für ISA-Karten zu reservieren, und so zu verhindern, daß Plug and
Play-Karten sich diese Parameter aneignen. Wenn wir also alte und moderne
Karten gleichzeitig in einem Rechner betreiben, sollten die IRQs, die die
alten Karten fest eingestellt haben, hier reserviert werden.
Weitere Einstellmöglichkeiten
Im Setup-Programm existieren noch viele weitere Möglichkeiten, die Hardware
einzustellen. Dazu zählen unter anderem die Ansteuerung der Festplatten mit
modernen Methoden wie PIO-Modi oder (U)DMA, das korrekte Management des
Arbeitsspeichers (Zugriffsmodi, Burst, ...), die Bootreihenfolge oder der
Schutz des Setup-Programms durch ein Passwort. Die Beschreibung all dieser
Einstellmöglichkeiten würde den Rahmen dieser Darstellung sprengen und ist
auch nicht relevant für die LPI 101 Prüfung.