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 19.05.2008hwsetup - Hardwareerkennung1 Hardwareerkennung und Konfiguration betreut duch Dirk von Suchodoletz Martin Bauer

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

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

4 19.05.2008hwsetup - 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 19.05.2008hwsetup - 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 19.05.2008hwsetup - Hardwareerkennung6 Aufbau Hardware CPU PCI-Bus USB-Bus Geräte hängen an Bus Brücken verbinden Busse Baum- struktur

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

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

9 19.05.2008hwsetup - 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 19.05.2008hwsetup - 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 19.05.2008hwsetup - Hardwareerkennung11 libkudzu (2) Erkennung einer Vielzahl an Hardwareklassen PCI/USB/Firewire/ISAPNP/ IDE/SCSI/PCMCIA seriell/parallel/psaux/keyboards SBUS/DDC S390/VIO

12 19.05.2008hwsetup - 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 19.05.2008hwsetup - Hardwareerkennung13 udev Konfiguration und Gerätedateihandling aus sysfs läuft im userspace regelbasierend bietet keine Hardwareerkennung (hwsetup/hotplugd)

14 19.05.2008hwsetup - Hardwareerkennung14 hwsetup + hotplug + udev

15 19.05.2008hwsetup - Hardwareerkennung15 Implementierung

16 19.05.2008hwsetup - Hardwareerkennung16

17 19.05.2008hwsetup - 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 19.05.2008hwsetup - 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 19.05.2008hwsetup - Hardwareerkennung19 Optimierungen (3) weiterer Verzicht auf: X Server Konfiguration Ausgabe in Datenbank /etc/sysconfig/hwconfig pcitable/Cards Erkennungsdatenbanken umfangreiche Ausnahmebehandlungen (IRQ/MEM)

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

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

22 19.05.2008hwsetup - 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 19.05.2008hwsetup - Hardwareerkennung23

24 19.05.2008hwsetup - Hardwareerkennung24

25 19.05.2008hwsetup - Hardwareerkennung25

26 19.05.2008hwsetup - Hardwareerkennung26 Quellen RedHat kudzu http://elvis.redhat.com/kudzu The PCI Utilities http://mj.ucw.cz/pciutils.shtml libusb Developers Guide http://libusb.sourceforge.net/ 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 19.05.2008hwsetup - 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