LPIC101/101.1 Hardwareeinstellungen: Unterschied zwischen den Versionen
K Textersetzung - „[[Category:“ durch „[[Kategorie:“ |
|||
(24 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''LPIC101/101.1''' - Hardwareeinstellungen ermitteln und konfigurieren | |||
== Beschreibung == | |||
* | Hauptsoftwarekomponente ist der [[Kernel]] | ||
*Linux [[Kernel ist Modular]] | * Schnittstelle zwischen Soft- und Hardware | ||
* Linux [[Kernel ist Modular]] | |||
== Identifizieren der Kernel-Version == | |||
$ uname -r | $ uname -r | ||
5.9.0-1-amd64 | 5.9.0-1-amd64 | ||
Zeile 15: | Zeile 15: | ||
** Zahlen danach sind frei wählbar und können beim Erstellen des Kernels selber (Makefile) oder durch die Distributoren festgelegt werden | ** Zahlen danach sind frei wählbar und können beim Erstellen des Kernels selber (Makefile) oder durch die Distributoren festgelegt werden | ||
= Kommandos zur Verwaltung von Kernel-Modulen | == Kernel-Module == | ||
; Kommandos zur Verwaltung von Kernel-Modulen | |||
== lsmod == | === lsmod === | ||
Zeigt Status der Kernelmodule durch Zugriff auf Datei /proc/modules | Zeigt Status der Kernelmodule durch Zugriff auf Datei /proc/modules | ||
$ '''cat /proc/modules''' | |||
usbcore 196608 5 usbhid,usb_storage,xhci_pci,xhci_hcd, Live | |||
r8169 77824 0 - Live 0xffffffffa046f000 | |||
psmouse 114688 0 - Live 0xffffffffa0404000 | |||
mii 16384 1 r8169, Live 0xffffffffa03ff000 | |||
processor 3276 | |||
80-Live | |||
0xffffffffa03f1000 | |||
thermal 20480 0 - Live 0xffffffffa03eb000 | |||
pcspkr 16384 0 - Live 0xffffffffa0320000 | |||
soundcore 16384 1 snd, Live 0xffffffffa03c8000 | |||
usb_common 16384 1 usbcore, Live 0xffffffffa0309000 | |||
fan 16384 0 - Live 0xffffffffa01cb000 | |||
lp204800-Live | |||
0xffffffffa0189000 | |||
parport 40960 3 parport_pc,ppdev,lp, Live 0xffffffffa0112000 | |||
ext4 503808 1 - Live 0xffffffffa032f000 | |||
i915 1175552 3 - Live 0xffffffffa01d2000 | |||
ahci 36864 3 - Live 0xffffffffa01c1000 | |||
cryptd 20480 1 ghash_clmulni_intel, Live 0xffffffffa0047000 | |||
drm 286720 4 i915,drm_kms_helper, Live 0xffffffffa0070000 | |||
video 36864 1 i915, Live 0xffffffffa0019000 | |||
$ '''lsmod''' | |||
Module Size Used by | |||
usbcore 196608 5 usb_storage,usbhid,xhci_hcd,xhci_pci | |||
r8169 77824 0 | |||
psmouse 114688 0 | |||
mii 16384 1 r8169 | |||
processor 32768 0 | |||
thermal 20480 0 | |||
pcspkr 16384 0 | |||
soundcore 16384 1 snd | |||
usb_common 16384 1 usbcore | |||
fan 16384 0 | |||
lp 20480 0 | |||
parport 40960 3 lp,ppdev,parport_pc | |||
ext4 503808 1 | |||
i915 1175552 3 | |||
ahci 36864 3 | |||
cryptd 20480 1 ghash_clmulni_intel | |||
drm 286720 4 i915,drm_kms_helper | |||
video 36864 1 i915 | |||
== insmod == | === insmod === | ||
Module können in den laufenden Kernel geladen werden durch komplette Pfadangabe und eventuell Optionen falls es diese benötigt | |||
* Abhängigkeiten werden automatisch geprüft und im Falle einer Abhängigkeit mit Fehlermeldungen beantwortet | * Abhängigkeiten werden automatisch geprüft und im Falle einer Abhängigkeit mit Fehlermeldungen beantwortet | ||
* insmod gibt im Erfolgsfall keine Bestätigungsmeldung aus. Das Modul wird kommentarlos in den Arbeitsspeicher geladen | * insmod gibt im Erfolgsfall keine Bestätigungsmeldung aus. Das Modul wird kommentarlos in den Arbeitsspeicher geladen | ||
# '''insmod /lib/modules/4.6.3/kernel/drivers/usb/storage/usb-storage.ko''' | # '''insmod /lib/modules/4.6.3/kernel/drivers/usb/storage/usb-storage.ko''' | ||
== rmmod == | === rmmod === | ||
Dient zum entfernen von nicht mehr benötigten Modulen. Dabei ist kein Pfad nötig sondern der Modulname | Dient zum entfernen von nicht mehr benötigten Modulen. Dabei ist kein Pfad nötig sondern der Modulname | ||
Zeile 82: | Zeile 83: | ||
xhci_hcd xhci_pci | xhci_hcd xhci_pci | ||
; Optionen | |||
-v verbose-Mode | -v verbose-Mode | ||
-f erzwingt das entladen eines Modules wärend Abhängigkeit | -f erzwingt das entladen eines Modules wärend Abhängigkeit | ||
== modprobe == | === modprobe === | ||
Vereint und optimiert die Befehle insmod und rmmod | Vereint und optimiert die Befehle insmod und rmmod | ||
* Keine Pfadangabe mehr nötig | * Keine Pfadangabe mehr nötig | ||
* Erkennt Abhängigkeit zwischen Modulen und behebt diese Probleme durch Installation der fehlenden Module bei Bedarf | * Erkennt Abhängigkeit zwischen Modulen und behebt diese Probleme durch Installation der fehlenden Module bei Bedarf | ||
Zeile 96: | Zeile 97: | ||
Die Option -a steht für all und -t für Type des Moduls. Optionen sind bei neueren Versionen nicht mehr möglich | Die Option -a steht für all und -t für Type des Moduls. Optionen sind bei neueren Versionen nicht mehr möglich | ||
=Ressourcen für Hardwarekomponenten | == Hardwarekomponenten == | ||
; Ressourcen für Hardwarekomponenten | |||
Zur | Zur Abfrage der Konfigurationen der Hardwareressourcen sind die Dateien unterhalb des Verzeichnisses /proc nötig | ||
*/proc/interrupts enthält Informationen über die vom System verwendeten [[Interrupts]] | |||
*/proc/ioports enthält Informationen über die von Hardwarekomponenten verwendeten I/O-Adressen | |||
*/proc/dma ist eine Liste der von Geräten verwendeten [[DMA-Kanäle]] | |||
*/proc/pci ist ein veraltetes Verzeichnis, das bei älteren Kernel-Versionen Informationen über den PCI-Bus enthielt. Heutige Kernel-Versionen verwenden eine eigene Verzeichnishierarchie unterhalb von /proc/bus/pci | |||
=Das | === /proc/sys/kernel === | ||
; Das Verzeichnis /proc/sys/kernel | |||
Zur Laufzeit legt der Kernel seine Konfigurationsinformationen im /proc-Dateisystem ab.Mit dem Befehl <code>cat</code> können Änderungen vorgenommen werden. Wenn Sie Änderungen an diesen Dateien vornehmen, gehen diese bei einem Neustart des Systems verloren, weil das /proc-Dateisystemsich Informationen abbildet, die sich im Arbeitsspeicher befinden | |||
=== sysfs === | |||
; Das virtuelle Dateisystem sysfs | |||
sysfs exportiert, ähnlich wie das /proc-System, Informationen über Treibermodule des Kernels | sysfs exportiert, ähnlich wie das /proc-System, Informationen über Treibermodule des Kernels | ||
root@user:/sys# ls -l | |||
insgesamt 0 | |||
drwxr-xr-x 2 root root 0 Feb 10 05:55 block | |||
drwxr-xr-x 28 root root 0 Feb 10 05:55 bus | |||
drwxr-xr-x 47 root root 0 Feb 10 05:55 class | |||
drwxr-xr-x 4 root root 0 Feb 10 05:55 dev | |||
drwxr-xr-x 16 root root 0 Feb 10 05:55 devices | |||
drwxr-xr-x 5 root root 0 Feb 10 05:55 firmware | |||
drwxr-xr-x 6 root root 0 Feb 10 05:55 fs | |||
drwxr-xr-x 2 root root 0 Feb 10 05:55 hypervisor | |||
drwxr-xr-x 9 root root 0 Feb 10 05:55 kernel | |||
drwxr-xr-x 128 root root 0 Feb 10 05:55 module | |||
drwxr-xr-x 2 root root 0 Feb 10 15:24 power | |||
Jedes dieser Unterverzeichnisse repräsentiert ein Treibermodell des laufenden Kernels. Das Verzeichnis /sys ist dynamisch generiert und enthält deshalb nur benötgte Informationene zu den vorhandenen Geräten, dabei wird der Ressourcenverbrauch reduziert | |||
hald repräsentiert den [[Hardware Abstraction Layer]]. Im zusammenhang mit Hotplug-Geräten hat er die Aufgabe dem [[dbus]] zu informieren wenn ein Wechsellaufwerk angeschlossen wird | === hald und dbus === | ||
hald repräsentiert den [[Hardware Abstraction Layer]]. Im zusammenhang mit Hotplug-Geräten hat er die Aufgabe dem [[dbus]] zu informieren wenn ein Wechsellaufwerk angeschlossen wird | |||
= udev = | === udev === | ||
* udev ist ein in das System intregierter Gerätemanger der die Ein- und Ausgabe dieser Gerärer verwaltet | * udev ist ein in das System intregierter Gerätemanger der die Ein- und Ausgabe dieser Gerärer verwaltet | ||
* Er erstellt dynamische Gerätedatein im Verzeichnis /dev | * Er erstellt dynamische Gerätedatein im Verzeichnis /dev | ||
=Gerätedateien unter /dev= | === Gerätedateien unter /dev === | ||
Bekannte Dateien unter /dev sind z. B. | |||
/dev/null | |||
/dev/zero | |||
/dev/stdin | |||
/dev/stdout | |||
/dev/stderr | |||
Gerätedateien für die Terminals (tty) | |||
Auch Datenträger und logische Laufwerke werden unter Linux als Gerätedateien unterhalb des Pfades /dev dargestellt | |||
Gerätedateien für | Die Gerätedateien für Datenträger beginnen in der regel mit /dev/sd. Das gilt für SATA, USB und SCSI-Geräte | ||
/dev/sda - erstens Gerät | |||
/dev/sdb - zweites Gerät | |||
Auf einer Festplatte können nicht mehr als vier Partitionen erstellt werden | |||
* Primäre Partitionen sind Direkt ansprechbar und können problemlos formatiert und benutzt werden | |||
* Primäre Partitionen sind Direkt ansprechbar und können problemlos formatiert und benutzt werden | |||
* Es können bis zu vier primär Partitionen gleichzeitig existieren | * Es können bis zu vier primär Partitionen gleichzeitig existieren | ||
* Erweiterte Partitionen dienen als Behälter für logische Partitionen | * Erweiterte Partitionen dienen als Behälter für logische Partitionen | ||
* Man kann nur eine einzige erweiterte Partition auf einer Festplatte anlegen in der nach Festplattentyp 60 (IDE) oder 12 (SCSi/SATA) logische Partitionen erstellt werden können | * Man kann nur eine einzige erweiterte Partition auf einer Festplatte anlegen in der nach Festplattentyp 60 (IDE) oder 12 (SCSi/SATA) logische Partitionen erstellt werden können | ||
* Primär und erweiterte Partitionen werden von 1-4 gelistet und logische ab 5 auch wenn nur eine erweiterte und eine primäre vorliegen | * Primär und erweiterte Partitionen werden von 1-4 gelistet und logische ab 5 auch wenn nur eine erweiterte und eine primäre vorliegen | ||
/dev/sda1 – erste primäre Partition | /dev/sda1 – erste primäre Partition | ||
/dev/sda2 – zweite primäre Partition | /dev/sda2 – zweite primäre Partition | ||
Zeile 169: | Zeile 167: | ||
/dev/sda7 – dritte logische Partition | /dev/sda7 – dritte logische Partition | ||
= Der PCI-Bus = | === Der PCI-Bus === | ||
* PCI-Steckplätze können genutzt werden, um Erweiterungskarten auf die Hauptplatine eines Computers zu stecken (Sound-, Netzwerk-und Grafikkarten usw.) | * PCI-Steckplätze können genutzt werden, um Erweiterungskarten auf die Hauptplatine eines Computers zu stecken (Sound-, Netzwerk-und Grafikkarten usw.) | ||
* Zum Überblick über den PCI-Bus benutzt man das Kommando ''lspci'' | * Zum Überblick über den PCI-Bus benutzt man das Kommando ''lspci'' | ||
* Das Kommando unterscheidet drei verbose Stufen | * Das Kommando unterscheidet drei verbose Stufen | ||
** ''lspci -vvvgibt'' sehr detaillierte Informationen | ** ''lspci -vvvgibt'' sehr detaillierte Informationen | ||
# '''lspci -v''' | |||
00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/ | |||
Z37xxx Series Graphics & Display (rev 0e) (prog-if 00 [VGA controller]) | |||
Subsystem: Lenovo Device 368d | |||
Flags: bus master, fast devsel, latency 0, IRQ 88 | |||
Memory at b0000000 (32-bit, non-prefetchable) [size=4M] | |||
Memory at a0000000 (32-bit, prefetchable) [size=256M] | |||
I/O ports at f080 [size=8] | |||
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K] | |||
Capabilities: [d0] Power Management version 2 | |||
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit- | |||
Capabilities: [b0] Vendor Specific Information: Len=07 <?> | |||
Kernel driver in use: i915 | |||
* ''lspci'' bezieht seine Informationen aus dem Verzeichnis /proc/bus/pci | * ''lspci'' bezieht seine Informationen aus dem Verzeichnis /proc/bus/pci | ||
* Es wertet die Dateien aus und stellt sie übersichtlich dar | * Es wertet die Dateien aus und stellt sie übersichtlich dar | ||
* Mit ''-t'' stellt es die PCI-Geräte in einem Baumdiagramm dar | * Mit ''-t'' stellt es die PCI-Geräte in einem Baumdiagramm dar | ||
= USB – Universal Serial Bus = | === USB – Universal Serial Bus === | ||
USB (Universal Serial Bus) ist ein Bus-System zum Anschluss von Peripheriegeräten | USB (Universal Serial Bus) ist ein Bus-System zum Anschluss von Peripheriegeräten | ||
== USB-Host-Controller-Typen == | ==== USB-Host-Controller-Typen ==== | ||
* UHCI (Universal Host Controller Interface) unterstützt USB 1.1 | * UHCI (Universal Host Controller Interface) unterstützt USB 1.1 | ||
* OHCI (Open Host Controller Interface) unterstützt USB 1.0 | * OHCI (Open Host Controller Interface) unterstützt USB 1.0 | ||
* EHCI (Enhanced Host Controller Interface) unterstützt USB 2.0 | * EHCI (Enhanced Host Controller Interface) unterstützt USB 2.0 | ||
* xHCI (Extensible Host Controller Interface) unterstützt USB 3.1 | * xHCI (Extensible Host Controller Interface) unterstützt USB 3.1 | ||
Linux muss zu den jeweiligen Typen das Passende Kernel Modul geladen werden | Linux muss zu den jeweiligen Typen das Passende Kernel Modul geladen werden | ||
* usb-ohci.o | * usb-ohci.o | ||
Zeile 210: | Zeile 208: | ||
* xhci_hci.o | * xhci_hci.o | ||
==USB-Klassen== | ==== USB-Klassen ==== | ||
Nach dem Laden des richtigen Host-Controllers können die Klassentreiber eingebunden werden | Nach dem Laden des richtigen Host-Controllers können die Klassentreiber eingebunden werden | ||
* hio.o (Human Interface Devices) Eingabegeräte: Tastatur, Maus etc | * hio.o (Human Interface Devices) Eingabegeräte: Tastatur, Maus etc | ||
* usb-sorage.o zur Ansteuerung von USB-Massenspeicher Geräten | * usb-sorage.o zur Ansteuerung von USB-Massenspeicher Geräten | ||
* | * | ||
Wenn ein USB-Gerät initialisiert wurde, wird unterhalb von /dev/bus/usb ein Verzeichnis angelegt | Wenn ein USB-Gerät initialisiert wurde, wird unterhalb von /dev/bus/usb ein Verzeichnis angelegt | ||
Die Dateien in diesem System liegen in binärer Form vor und sind nicht mit einem Editor einsehbar | Die Dateien in diesem System liegen in binärer Form vor und sind nicht mit einem Editor einsehbar | ||
Mit <code>lsusb</code> können informationen zu USB-Geräten trotzdem ausgelesen werden | |||
# lsusb -t | |||
Bus# 5 | |||
`-Dev# 1 Vendor 0x0000 Product 0x0000 | |||
`-Dev# 29 Vendor 0x1058 Product 0x0702 | |||
Bus# 4 | |||
`-Dev# 1 Vendor 0x0000 Product 0x0000 | |||
Bus# 3 | |||
`-Dev# 1 Vendor 0x0000 Product 0x0000 | |||
Bus# 2 | |||
`-Dev# 1 Vendor 0x0000 Product 0x0000 | |||
`-Dev# 52 Vendor 0x050f Product 0x0003 | |||
|-Dev# 53 Vendor 0x1131 Product 0x1001 | |||
`-Dev# 54 Vendor 0x04e8 Product 0x1623 | |||
Bus# 1 | |||
`-Dev# 1 Vendor 0x0000 Product 0x0000 | |||
Möchten Sie genauere Informationen über ein einzelnes Gerät erhalten, können Sie dieses über die Vendor- und Produktnummer angeben und einen ausführlichen Bericht erstellen lassen | |||
# lsusb -d 0x1058:0x0702 -v | |||
Bus 005 Device 029: ID 1058:0702 Western Digital Technologies, Inc | |||
Device Descriptor: | |||
bLength 18 | |||
bDescriptorType 1 | |||
bcdUSB 2.00 | |||
bDeviceClass 0 (Defined at Interface level) | |||
bDeviceSubClass 0 | |||
bDeviceProtocol 0 | |||
bMaxPacketSize0 64 | |||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/LPIC101/101}} | |||
==== Links ==== | |||
===== Weblinks ===== | |||
=== Kontrollfragen === | |||
= Kontrollfragen = | |||
<div class="toccolours mw-collapsible mw-collapsed"> | <div class="toccolours mw-collapsible mw-collapsed"> | ||
Welche Kernel-Architektur wird | Welche Kernel-Architektur wird meist in Linux-Systemen verwendet? | ||
<div class="mw-collapsible-content">Ein Monotitischer-kernel. Er ist ein Kernel, in dem nicht nur Funktionen zu Speicher-, Prozessverwaltung und zur Kommunikation zwischen den Prozessen, sondern auch Treiber für die Hardwarekomponenten und möglicherweise weitere Funktionen direkt eingebaut sind. </div> | <div class="mw-collapsible-content">Ein Monotitischer-kernel. Er ist ein Kernel, in dem nicht nur Funktionen zu Speicher-, Prozessverwaltung und zur Kommunikation zwischen den Prozessen, sondern auch Treiber für die Hardwarekomponenten und möglicherweise weitere Funktionen direkt eingebaut sind. </div> | ||
</div> | </div> | ||
<div class="toccolours mw-collapsible mw-collapsed"> | <div class="toccolours mw-collapsible mw-collapsed"> | ||
Was bedeutet die erste Ziffer der Kernelversion? | |||
<div class="mw-collapsible-content">Major Release (wird bei gravierenden Änderungen verändert)</div> | <div class="mw-collapsible-content">Major Release (wird bei gravierenden Änderungen verändert)</div> | ||
</div> | </div> | ||
[[Kategorie:LPIC | [[Kategorie:Linux/LPIC/101]] | ||
</noinclude> |
Aktuelle Version vom 8. August 2024, 10:22 Uhr
LPIC101/101.1 - Hardwareeinstellungen ermitteln und konfigurieren
Beschreibung
Hauptsoftwarekomponente ist der Kernel
- Schnittstelle zwischen Soft- und Hardware
- Linux Kernel ist Modular
Identifizieren der Kernel-Version
$ uname -r 5.9.0-1-amd64
- Erste Ziffer: Major Release (wird bei gravierenden Änderungen verändert)
- Zweite Ziffer: Version des Major Release
- Dritte Ziffer: Patch Level (kleine Änderungen)
- Zahlen danach sind frei wählbar und können beim Erstellen des Kernels selber (Makefile) oder durch die Distributoren festgelegt werden
Kernel-Module
- Kommandos zur Verwaltung von Kernel-Modulen
lsmod
Zeigt Status der Kernelmodule durch Zugriff auf Datei /proc/modules
$ cat /proc/modules usbcore 196608 5 usbhid,usb_storage,xhci_pci,xhci_hcd, Live r8169 77824 0 - Live 0xffffffffa046f000 psmouse 114688 0 - Live 0xffffffffa0404000 mii 16384 1 r8169, Live 0xffffffffa03ff000 processor 3276 80-Live 0xffffffffa03f1000 thermal 20480 0 - Live 0xffffffffa03eb000 pcspkr 16384 0 - Live 0xffffffffa0320000 soundcore 16384 1 snd, Live 0xffffffffa03c8000 usb_common 16384 1 usbcore, Live 0xffffffffa0309000 fan 16384 0 - Live 0xffffffffa01cb000 lp204800-Live 0xffffffffa0189000 parport 40960 3 parport_pc,ppdev,lp, Live 0xffffffffa0112000 ext4 503808 1 - Live 0xffffffffa032f000 i915 1175552 3 - Live 0xffffffffa01d2000 ahci 36864 3 - Live 0xffffffffa01c1000 cryptd 20480 1 ghash_clmulni_intel, Live 0xffffffffa0047000 drm 286720 4 i915,drm_kms_helper, Live 0xffffffffa0070000 video 36864 1 i915, Live 0xffffffffa0019000
$ lsmod Module Size Used by usbcore 196608 5 usb_storage,usbhid,xhci_hcd,xhci_pci r8169 77824 0 psmouse 114688 0 mii 16384 1 r8169 processor 32768 0 thermal 20480 0 pcspkr 16384 0 soundcore 16384 1 snd usb_common 16384 1 usbcore fan 16384 0 lp 20480 0 parport 40960 3 lp,ppdev,parport_pc ext4 503808 1 i915 1175552 3 ahci 36864 3 cryptd 20480 1 ghash_clmulni_intel drm 286720 4 i915,drm_kms_helper video 36864 1 i915
insmod
Module können in den laufenden Kernel geladen werden durch komplette Pfadangabe und eventuell Optionen falls es diese benötigt
- Abhängigkeiten werden automatisch geprüft und im Falle einer Abhängigkeit mit Fehlermeldungen beantwortet
- insmod gibt im Erfolgsfall keine Bestätigungsmeldung aus. Das Modul wird kommentarlos in den Arbeitsspeicher geladen
# insmod /lib/modules/4.6.3/kernel/drivers/usb/storage/usb-storage.ko
rmmod
Dient zum entfernen von nicht mehr benötigten Modulen. Dabei ist kein Pfad nötig sondern der Modulname
# rmmod usb-storage
Gibt bei Modulen die benutzt werden Fehlermeldung aus
# rmmod usbcore rmmod: ERROR: Module usbcore is in use by: usb_storage usbserial usbhid xhci_hcd xhci_pci
- Optionen
-v verbose-Mode -f erzwingt das entladen eines Modules wärend Abhängigkeit
modprobe
Vereint und optimiert die Befehle insmod und rmmod
- Keine Pfadangabe mehr nötig
- Erkennt Abhängigkeit zwischen Modulen und behebt diese Probleme durch Installation der fehlenden Module bei Bedarf
- Module eines Typs können auf ein mal geladen werden
- Entfernen und Auflisten von Modulen (Bei Auflistung werden aber nur Module gezeigt die in den laufenden Kernel intrigiert werden können)
# modprobe -at
Die Option -a steht für all und -t für Type des Moduls. Optionen sind bei neueren Versionen nicht mehr möglich
Hardwarekomponenten
- Ressourcen für Hardwarekomponenten
Zur Abfrage der Konfigurationen der Hardwareressourcen sind die Dateien unterhalb des Verzeichnisses /proc nötig
*/proc/interrupts enthält Informationen über die vom System verwendeten Interrupts */proc/ioports enthält Informationen über die von Hardwarekomponenten verwendeten I/O-Adressen */proc/dma ist eine Liste der von Geräten verwendeten DMA-Kanäle */proc/pci ist ein veraltetes Verzeichnis, das bei älteren Kernel-Versionen Informationen über den PCI-Bus enthielt. Heutige Kernel-Versionen verwenden eine eigene Verzeichnishierarchie unterhalb von /proc/bus/pci
/proc/sys/kernel
- Das Verzeichnis /proc/sys/kernel
Zur Laufzeit legt der Kernel seine Konfigurationsinformationen im /proc-Dateisystem ab.Mit dem Befehl cat
können Änderungen vorgenommen werden. Wenn Sie Änderungen an diesen Dateien vornehmen, gehen diese bei einem Neustart des Systems verloren, weil das /proc-Dateisystemsich Informationen abbildet, die sich im Arbeitsspeicher befinden
sysfs
- Das virtuelle Dateisystem sysfs
sysfs exportiert, ähnlich wie das /proc-System, Informationen über Treibermodule des Kernels
root@user:/sys# ls -l insgesamt 0 drwxr-xr-x 2 root root 0 Feb 10 05:55 block drwxr-xr-x 28 root root 0 Feb 10 05:55 bus drwxr-xr-x 47 root root 0 Feb 10 05:55 class drwxr-xr-x 4 root root 0 Feb 10 05:55 dev drwxr-xr-x 16 root root 0 Feb 10 05:55 devices drwxr-xr-x 5 root root 0 Feb 10 05:55 firmware drwxr-xr-x 6 root root 0 Feb 10 05:55 fs drwxr-xr-x 2 root root 0 Feb 10 05:55 hypervisor drwxr-xr-x 9 root root 0 Feb 10 05:55 kernel drwxr-xr-x 128 root root 0 Feb 10 05:55 module drwxr-xr-x 2 root root 0 Feb 10 15:24 power
Jedes dieser Unterverzeichnisse repräsentiert ein Treibermodell des laufenden Kernels. Das Verzeichnis /sys ist dynamisch generiert und enthält deshalb nur benötgte Informationene zu den vorhandenen Geräten, dabei wird der Ressourcenverbrauch reduziert
hald und dbus
hald repräsentiert den Hardware Abstraction Layer. Im zusammenhang mit Hotplug-Geräten hat er die Aufgabe dem dbus zu informieren wenn ein Wechsellaufwerk angeschlossen wird
udev
- udev ist ein in das System intregierter Gerätemanger der die Ein- und Ausgabe dieser Gerärer verwaltet
- Er erstellt dynamische Gerätedatein im Verzeichnis /dev
Gerätedateien unter /dev
Bekannte Dateien unter /dev sind z. B. /dev/null /dev/zero /dev/stdin /dev/stdout /dev/stderr
Gerätedateien für die Terminals (tty)
Auch Datenträger und logische Laufwerke werden unter Linux als Gerätedateien unterhalb des Pfades /dev dargestellt
Die Gerätedateien für Datenträger beginnen in der regel mit /dev/sd. Das gilt für SATA, USB und SCSI-Geräte /dev/sda - erstens Gerät /dev/sdb - zweites Gerät
Auf einer Festplatte können nicht mehr als vier Partitionen erstellt werden
- Primäre Partitionen sind Direkt ansprechbar und können problemlos formatiert und benutzt werden
- Es können bis zu vier primär Partitionen gleichzeitig existieren
- Erweiterte Partitionen dienen als Behälter für logische Partitionen
- Man kann nur eine einzige erweiterte Partition auf einer Festplatte anlegen in der nach Festplattentyp 60 (IDE) oder 12 (SCSi/SATA) logische Partitionen erstellt werden können
- Primär und erweiterte Partitionen werden von 1-4 gelistet und logische ab 5 auch wenn nur eine erweiterte und eine primäre vorliegen
/dev/sda1 – erste primäre Partition /dev/sda2 – zweite primäre Partition /dev/sda3 – erweiterte Partition /dev/sda5 – erste logische Partition /dev/sda6 – zweite logische Partition /dev/sda7 – dritte logische Partition
Der PCI-Bus
- PCI-Steckplätze können genutzt werden, um Erweiterungskarten auf die Hauptplatine eines Computers zu stecken (Sound-, Netzwerk-und Grafikkarten usw.)
- Zum Überblick über den PCI-Bus benutzt man das Kommando lspci
- Das Kommando unterscheidet drei verbose Stufen
- lspci -vvvgibt sehr detaillierte Informationen
- lspci -v
00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/ Z37xxx Series Graphics & Display (rev 0e) (prog-if 00 [VGA controller]) Subsystem: Lenovo Device 368d Flags: bus master, fast devsel, latency 0, IRQ 88 Memory at b0000000 (32-bit, non-prefetchable) [size=4M] Memory at a0000000 (32-bit, prefetchable) [size=256M] I/O ports at f080 [size=8] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [d0] Power Management version 2 Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit- Capabilities: [b0] Vendor Specific Information: Len=07 <?> Kernel driver in use: i915
- lspci bezieht seine Informationen aus dem Verzeichnis /proc/bus/pci
- Es wertet die Dateien aus und stellt sie übersichtlich dar
- Mit -t stellt es die PCI-Geräte in einem Baumdiagramm dar
USB – Universal Serial Bus
USB (Universal Serial Bus) ist ein Bus-System zum Anschluss von Peripheriegeräten
USB-Host-Controller-Typen
- UHCI (Universal Host Controller Interface) unterstützt USB 1.1
- OHCI (Open Host Controller Interface) unterstützt USB 1.0
- EHCI (Enhanced Host Controller Interface) unterstützt USB 2.0
- xHCI (Extensible Host Controller Interface) unterstützt USB 3.1
Linux muss zu den jeweiligen Typen das Passende Kernel Modul geladen werden
- usb-ohci.o
- usb-uhci.o
- usb-ehci.o
- xhci_hci.o
USB-Klassen
Nach dem Laden des richtigen Host-Controllers können die Klassentreiber eingebunden werden
- hio.o (Human Interface Devices) Eingabegeräte: Tastatur, Maus etc
- usb-sorage.o zur Ansteuerung von USB-Massenspeicher Geräten
Wenn ein USB-Gerät initialisiert wurde, wird unterhalb von /dev/bus/usb ein Verzeichnis angelegt
Die Dateien in diesem System liegen in binärer Form vor und sind nicht mit einem Editor einsehbar
Mit lsusb
können informationen zu USB-Geräten trotzdem ausgelesen werden
# lsusb -t Bus# 5 `-Dev# 1 Vendor 0x0000 Product 0x0000 `-Dev# 29 Vendor 0x1058 Product 0x0702 Bus# 4 `-Dev# 1 Vendor 0x0000 Product 0x0000 Bus# 3 `-Dev# 1 Vendor 0x0000 Product 0x0000 Bus# 2 `-Dev# 1 Vendor 0x0000 Product 0x0000 `-Dev# 52 Vendor 0x050f Product 0x0003 |-Dev# 53 Vendor 0x1131 Product 0x1001 `-Dev# 54 Vendor 0x04e8 Product 0x1623 Bus# 1 `-Dev# 1 Vendor 0x0000 Product 0x0000
Möchten Sie genauere Informationen über ein einzelnes Gerät erhalten, können Sie dieses über die Vendor- und Produktnummer angeben und einen ausführlichen Bericht erstellen lassen
# lsusb -d 0x1058:0x0702 -v Bus 005 Device 029: ID 1058:0702 Western Digital Technologies, Inc Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64
Anhang
Siehe auch
Links
Weblinks
Kontrollfragen
Welche Kernel-Architektur wird meist in Linux-Systemen verwendet?
Was bedeutet die erste Ziffer der Kernelversion?