1.101.1 - Konfiguration grundlegender BIOS-Einstellungen
Beschreibung: Die Kandidaten sollen in der Lage sein, grundlegende Hardware durch korrekte Einstellungen im System-BIOS von x86-basierten Systemen zu konfigurieren.
Wichtigste Wissensgebiete:
Aktivieren und Deaktivieren eingebauter Peripherie-Hardware.
Konfiguration eines Systems mit oder ohne externe Peripherie wie etwa Tastaturen.
Korrektes Setzen von Interrupts (IRQ), DMA und der I/O-Adressen für alle im BIOS einstellbaren Komponenten zur Fehlerbehandlung.
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
/proc/ioports
/proc/interrupts
/proc/dma
/proc/pci
Beispielthemen
LBA - Logical Block Addressing
LBA ist eine Art, wie man Festplatten adressiert bzw. auf den Speicherplatz zugreift. Logischerweise unterscheidet sich der Aufbau von Festplatten (Speichergröße, Anzahl der Leseköpfe und Magnetscheiben, usw.) von Modell zu Modell. Damit das BIOS nun eine Festplatte korrekt ansprechen kann, benutzte man früher die Adressierung mittels CHS.
CHS steht für Cylinder-Heads-Sectors und beschreibt den physikalischen Aufbau einer Festplatte (mehr zu diesem Thema findet man Hardware --> Festplatte). CHS ist aber nur für Festplatten mit bis zu 1024 Zylindern konzipiert, so dass das BIOS bei größeren Festplatten Probleme. Hier löst LBA Logical Block Addressing das alte CHS ab und löst das Problem, indem logische Blöcke beginnend bei 0 adressiert werden. Hier unterscheidet man zwischen 24Bit LBA (bis 128 GB) und 48 Bit (mehr als 128 GB). Das BIOS muss LBA unterstützen, was moderne Systeme können.
DMA - Direct Memory Access
Steht für direkten Speicherzugriff auf die Festplatte, der über einen separaten Bus erfolgt. Dies beschleunigt den Datentransfer der Festplatte deutlich und sorgt dafür, dass der Hauptprozessor entlastet wird. DMA wird mittels hdparm aktiviert bzw. deaktiviert.
Ports, Interrupts und DMA
Folgende Dateien sind wichtig für die Verwaltung von Ports, Interrupts and DMA:
/proc/ioports = Zeigt den Speicherbereich ("base address") bzw. die I/O-Ports an, die vom System genutzt wird.
bash$ head -5 /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
/proc/interupts = Zeigt die belegten IRQ-Interupts an
bash$ head -5 /proc/interrupts
CPU0
0: 204783 XT-PIC timer
1: 2410 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 4004 XT-PIC aic7xxx
/proc/dma = Zeigt Einstellungen bezüglich DMA an.
bash$ cat /proc/dma
4: cascade
Gängige IRQ-Belegungen
IRQ0 = Timer (Mainboard)
IRQ1 = Tastatur (Mainboard)
IRQ3 = /dev/ttyS0 (COM1)
IRQ4 = /dev/ttyS1 (COM2)
IRQ6 = Floppy
IRQ7 = /dev/lp0 (1. Parallelport)
usw, usw....
Zusätzliche Links
Large-Disk-HOWTO
http://www.oreilly.de/german/freebooks/linag2/netz0403.htm
Infos zu IRQ, Hardwareadressen, etc
LPI 1.101.3
Konfiguration von Modems und Soundkarten
Konfiguration von Modems und Soundkarten
Beschreibung: Die Prüfungskandidaten sollten in der Lage sein sicherzustellen, dass die Geräte Kompatibilitätskriterien erfüllen (speziell, dass es sich bei einem Modem NICHT um ein Win-Modem handelt). Ebenfalls enthalten ist die Überprüfung, dass sowohl Modem und Soundkarte eigene und die richtigen Interrupts, I/O- und DMA-Adressen verwenden, die Installation und Ausführung von sndconfig und isapnp bei PnP-Soundkarten, die Konfiguration des Modems für DFÜ und PPP/SLIP/CSLIP-Verbindungen und das Setzen des seriellen Ports auf 115.2 kbps.
Beispielthemen
Winmodem
Bei der LPI-Prüfung muss man die Bedeutung von WinModems kennen. WinModems sind quasi "dumme" Modems, die keine eigene Steuerlogik besitzen, um Kosten bei der Produktion einzusparen. So muss der PC die Arbeit des Modems übernehmen. Da WinModems keine eigene Logik besitzen, werden entsprechende Treiber benötigt, die oftmals nur für Windows angeboten werden. Daher kann man die meisten WinModems nicht unter Linux betreiben.
OSS (Open Sound System) - Sound unter Linux
Setserial - Konfiguration der seriellen Schnittstelle
Mit setserial kann man die serielle Schnittstelle konfigurieren und Infos anzeigen lassen:
# setserial /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x02f8, IRQ: 3
Mögliche Geschwindigkeitseinstellungen:
spd_normal = 38,4kb
spd_hi = 57,6kb
spd_vhi = 115kb
spd_shi = 230kb
spd_warp = 460kb
Setzen der seriellen Schnittstelle auf 115kb:
# setserial /dev/ttyS0 spd_vhi
# setserial /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x02f8, IRQ: 3, Flags: spd_vhi
Wenn eine Anwendung jetzt 38,4kb anfordert, wird die Schnittstelle in Wahrheit mit 115kb angesteuert.
Das /Proc Verzeichnis
/proc/interrupts = Zeigt die genutzten IRQ-Kanäle an.
/proc/ioports = Zeigt die IO-Adressen (base addresses) an.
/proc/dma = Infos zu den DMA-Kanälen
/proc/iomem = Anzeigen der Speicherbereiche der verschiedenen Speicherarten (RAM, VideoRAM, ROM's etc)
/proc/cpuinfo = Infos zum Prozessor anzeigen.
/proc/devices = Anzeigen der Block- und Character-Devices.
/proc/partitions = Anzeigen der Plattenpartitionen.
major minor #blocks name
3 0 19925880 ide/host0/bus0/target0/lun0/disc
3 1 4200966 ide/host0/bus0/target0/lun0/part1
/proc/pci = Infos zu PCI- und AGP-Geräten.
/proc/cmdline = Kommandozeile, mit der der Kernel selbst gestartet wurde. Zeigt Kernelparameter, die während des Bootens angezeigt wurden.
/proc/filesystems = Zeigt bekannte Dateisystemtypen an.
/proc/meminfo = Auslastung des Arbeitsspeichers.
/proc/modules = Liste der aktuell geladenen Kernel-Module.
/proc/mounts = Liste aller gemounteter Dateisysteme.
/proc/version = Kernelversion.
/proc/bus = Informationen über die gefundenen Bussysteme (PCI, USB, ...)
/proc/ide = Anzeigen IDE-Geräte und -Schnittstellen.
/proc/scsi = Informationen über SCSI-Geräte und Schnittstellen.
/proc/net = Informationen über netzwerk-relevante Einstellungen (bsp. Routing-Tabelle, ARP-Informationen, etc).
PNPDUMP, ISAPNP, SNDCONFIG
pnpdump > /etc/isapnp.conf
Scannt den ISA-Bus nach Geräten und schreibt diese in die isapnp.conf
Nachdem die isapnp.conf editiert wurde, kann man mit
/sbin/isapnp /etc/isapnp.conf
die ISA-Geräte in Betrieb nehmen. Dieser Befehl muss bei jedem Neustart ausgeführt werden.
sndconfig wird dazu genutzt, um ISA-P'n'P-Karten zu installieren. Ist fast identisch zu isapnp.
Zusätzliche Links
PNPDUMP & ISAPNP