Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

19.05.2008hwsetup - Hardwareerkennung1 Hardwareerkennung und Konfiguration betreut duch Dirk von Suchodoletz Martin Bauer.

Ähnliche Präsentationen


Präsentation zum Thema: "19.05.2008hwsetup - Hardwareerkennung1 Hardwareerkennung und Konfiguration betreut duch Dirk von Suchodoletz Martin Bauer."—  Präsentation transkript:

1 hwsetup - Hardwareerkennung1 Hardwareerkennung und Konfiguration betreut duch Dirk von Suchodoletz Martin Bauer

2 hwsetup - Hardwareerkennung2 Inhaltsangabe Motivation Voraussetzungen Hardware Linux Kernel und Module hwsetup und kudzu Implementierung von hwsetup Zusammenfassung

3 hwsetup - Hardwareerkennung3 Motivation (1) Hardwareerkennung für Diskless Client System

4 hwsetup - Hardwareerkennung4 Bootvorgang Terminal DHCP/PXE der Netzwerkkarte tftp download des Kernel/initial RAM Disk Laden Kernel Laden Initrd (busybox) * rootfs per nfs einbinden Startvorgang init V * * Hardwareerkennung möglich

5 hwsetup - Hardwareerkennung5 Motivation (2) speichersparend und kompakt portabel und flexibel, damit universell einsetzbar einfache Implementierung für einfach Erweiterbarkeit auf Standards basierend, Vermeidung von Abhängigkeiten an Kernelpatchs oder Bibliotheken schnelle Erkennungsgeschwindigkeit

6 hwsetup - Hardwareerkennung6 Aufbau Hardware CPU PCI-Bus USB-Bus Geräte hängen an Bus Brücken verbinden Busse Baum- struktur

7 hwsetup - Hardwareerkennung7 Aufbau von Linux Kernel System.map Module modules.dep; Abhängigkeiten modules.pcimap; Zuordnung modules.usbmap; Geräte-Nr. Module modprobe

8 hwsetup - Hardwareerkennung8 Voraussetzung Kernel >= 2.6 hotplug udev hwsetup aus Knoppix basierend auf libkudzu

9 hwsetup - Hardwareerkennung9 hwsetup Erkennen und Laden von Modulen Nutzung von Funktionsaufrufen der kudzu Bibliothek Geräteerkennung Auflösen der PCI Gerätebezeichnung Erstellung einiger Gerätedateien (/dev/mouse) X System konfiguration

10 hwsetup - Hardwareerkennung10 libkudzu (1) Konfiguration von Hardware (modprobe) Ausgabe in Datenbank /etc/sysconfig/hwconfig leistungsfähige Ausnahmebehandlung Auflösung der PCI IDs pci.ids pcitable Cards

11 hwsetup - Hardwareerkennung11 libkudzu (2) Erkennung einer Vielzahl an Hardwareklassen PCI/USB/Firewire/ISAPNP/ IDE/SCSI/PCMCIA seriell/parallel/psaux/keyboards SBUS/DDC S390/VIO

12 hwsetup - Hardwareerkennung12 hotplug hotplug: Hardwarewechsel im laufenden Betrieb Module werden durch Kernel geladen Erkennung neu eingesteckter Hardware Unterstützung nicht für aller Busse verfügbar (nur sysfs)

13 hwsetup - Hardwareerkennung13 udev Konfiguration und Gerätedateihandling aus sysfs läuft im userspace regelbasierend bietet keine Hardwareerkennung (hwsetup/hotplugd)

14 hwsetup - Hardwareerkennung14 hwsetup + hotplug + udev

15 hwsetup - Hardwareerkennung15 Implementierung

16 hwsetup - Hardwareerkennung16

17 hwsetup - Hardwareerkennung17 Optimierungen (1) Verzicht auf libkudzu Nachbildung von struct device **deviceList; deviceList probeDevices(device); Zeiger auf Funktionen probeDevice = probeDeviceXXX // XXX={PCI,USB} erweiterbar durch weitere Geräteklassen (firewire..)

18 hwsetup - Hardwareerkennung18 Optimierung (2) Repräsentation eines Gerät als Struktur struct device { struct device* next;/* SLL */ enum deviceClass type;/* type of Device */ enum deviceBus bus;/* bus it's attached to */ char* module;/* driver name, else NULL */ char* desc;/* a description */ int vendorId; int deviceId; };

19 hwsetup - Hardwareerkennung19 Optimierungen (3) weiterer Verzicht auf: X Server Konfiguration Ausgabe in Datenbank /etc/sysconfig/hwconfig pcitable/Cards Erkennungsdatenbanken umfangreiche Ausnahmebehandlungen (IRQ/MEM)

20 hwsetup - Hardwareerkennung20 Optimierungen (4) Auflösen der Geräte IDs in Namen durch Methode getDescription(device) deviceID, vendorID -> Gerätename /usr/share/misc/pci.ids /usr/share/misc/usb.ids auch für Bildschirm/Grafikkarten erhältlich... für Hardwareerkennung nur optional

21 hwsetup - Hardwareerkennung21 Optimierungen (5) Steuerung von Verhalten durch: Kommandozeilenparameter Konfigurationsdatei modprobe.conf Syntax alias blacklist verbose

22 hwsetup - Hardwareerkennung22 Optimierungen (6) Lokalität der Daten in RAM-Speicher Einlesen der Datei modules.*map *={pci,usb} Einlesen der Geräte-ID in verketteten Listen Einlesen der Blacklist/Aliases aus Konfigurationsdatei Ziel: beschleunigter Lookup Nutzung von verketteten Listen

23 hwsetup - Hardwareerkennung23

24 hwsetup - Hardwareerkennung24

25 hwsetup - Hardwareerkennung25

26 hwsetup - Hardwareerkennung26 Quellen RedHat kudzu The PCI Utilities libusb Developers Guide Linux Gerätetreiber, O'Reilly Allessandro Rubini, Jonathan Corbet Programmieren in C, ANSI C, Hanser Verlag Kernighan, Ritchie Die Netzstarter, Diskless Clients unter Linux, Linux Magazin 01/03 Dirk von Suchodoletz

27 hwsetup - Hardwareerkennung27 Zusammenfassung & Fragen Vielen Dank für die Aufmerksamkeit


Herunterladen ppt "19.05.2008hwsetup - Hardwareerkennung1 Hardwareerkennung und Konfiguration betreut duch Dirk von Suchodoletz Martin Bauer."

Ähnliche Präsentationen


Google-Anzeigen