Préparation LPI
Exam 101
101.1 Déterminer et configurer les
périphériques
Document sous licence Creative commons « byncsa » http://creativecommons.org/licenses/byncsa/2.0/fr/
Sommaire
BIOS
IRQ, Adresses E/S, DMA
Périphériques coldplug et hotplug
Hal, dbus, sysfs, procfs, udev
Utilitaires d'affichage des informations matérielles
UPMC - FP - Préparation LPI - v 1.1
2
101.1 Domaines de connaissances
Poids : 2
Activer ou désactiver des périphériques
Configurer un système avec ou sans clavier
Faire la différence entre les différents type de stockage
Définir l'identifiant correct des périphériques, spécialement le périphérique de démarrage
Différencier périphériques coldplug ou hotplug
Ressources matérielles associées aux périphériques
Utilitaires listant les informations matérielles
Utilitaires pour manipuler les périphériques USB
Sysfs, udev, hald, dbus
UPMC - FP - Préparation LPI - v 1.1
3
101.1 Généralités
BIOS (Basic Input/Output System) : recherche des périphériques présents
POST (Power On Self Test) : test des composants matériels au démarrage. En cas de problème : séquence de bips (parfois un message vocal) indiquant l'origine du problème
Linux lit les informations du bios au démarrrage mais ne s'en sert plus par la suite
Accès au BIOS différents selon les constructeurs. Le plus souvent :
F1
F2
Del
UPMC - FP - Préparation LPI - v 1.1
4
101.1 Généralités
Le BIOS permet de désactiver des périphériques (carte, clavier, disques,...)
Permet de désactiver les périphériques internes lorsqu'on souhaite utiiser des périphériques externes (à la carte mère)
UPMC - FP - Préparation LPI - v 1.1
5
101.1 Généralités
UPMC - FP - Préparation LPI - v 1.1
6
101.1 Ressources associées aux périph
IRQ ( Interrupt Request)
Avertissement au CPU qu'un périphérique a besoin de monopoliser le CPU
X86 : jusqu'à 16 IRQs (de 0 à 15
X86_64 : plus de 16 IRQs possibles
L'affectation des IRQs réellement utilisées est tenue à jour dans le fichier /proc/interrupts
UPMC - FP - Préparation LPI - v 1.1
7
101.1 Ressources associées aux périph
IRQ 0 : timer système
IRQ 1 : Clavier
IRQ 2 : cascade vers IRQs 8 à 15
IRQ 3 : second port RS232 (COM2)
IRQ 4 : premier port RS232 (COM1)
IRQ 5 : carte son ou second port parallèle (LPT2)
IRQ 6 : lecteur disquette
IRQ 7 : permier port parallèle (LPT1)
IRQ 8 : Real time clock
IRQ 14 : contrôleur ATA primaire (/dev/hda et /dev/hdb)
IRQ 15 : contrôleur ATA secondaire (/dev/hdc et /dev/hdd)
UPMC - FP - Préparation LPI - v 1.1
8
101.1 Ressources associées aux périph
$ cat /proc/interrupts CPU0 0: 5650947 IOAPICedge timer 1: 5835 IOAPICedge i8042 8: 1 IOAPICedge rtc0 9: 6 IOAPICfasteoi acpi 12: 12516 IOAPICedge i8042 14: 45592 IOAPICedge ata_piix 15: 0 IOAPICedge ata_piix 16: 176890 IOAPICfasteoi ehci_hcd:usb1, uhci_hcd:usb2, i915, Intel ICH6, eth0 17: 128894 IOAPICfasteoi uhci_hcd:usb3, mmc0, ipw2200 18: 2 IOAPICfasteoi uhci_hcd:usb4, ohci1394 19: 0 IOAPICfasteoi uhci_hcd:usb5, yenta NMI: 0 Nonmaskable interrupts LOC: 2308138 Local timer interrupts SPU: 0 Spurious interrupts .....
UPMC - FP - Préparation LPI - v 1.1
9
101.1 Ressources associées aux périph
Adresses d' E/S ( I/O address)
Zones de mémoire réservées aux E/S spécifiques à chaque périphériques
L'affectation des adresses E/S réellement utilisées est tenue à jour dans le fichier /proc/ioports
UPMC - FP - Préparation LPI - v 1.1
10
101.1 Ressources associées aux périph
03F8 /dev/ttyS0 – IRQ 4 – COM 1
02F8 /dev/ttyS1 – IRQ 3 – COM 2
03E8 /dev/ttyS2 – IRQ 4 – COM 3
02E8 /dev/ttyS3 – IRQ 3 – COM 4
0378037F /dev/lp0 – IRQ 7 – LPT1
0278027F /dev/lp1 – IRQ 5 – LPT2
03F003F7 /dev/fd0 – IRQ 6 – flopyy a:
03700377 /dev/fd1 – IRQ 6 – floppy b:
UPMC - FP - Préparation LPI - v 1.1
11
101.1 Ressources associées aux périph
$ cat /proc/ioports 0000001f : dma1 00200021 : pic1 00400043 : timer0 00500053 : timer1 00600060 : keyboard 00640064 : keyboard 00700071 : rtc0 0080008f : dma page reg 00a000a1 : pic2 00c000df : dma2 00f000ff : fpu 01700177 : 0000:00:1f.1 01700177 : ata_piix 01f001f7 : 0000:00:1f.1 01f001f7 : ata_piix 03760376 : 0000:00:1f.1 03760376 : ata_piix
UPMC - FP - Préparation LPI - v 1.1
12
101.1 Ressources associées aux périph
DMA (Direct Memory Access)
Certains périphériques (de masse plus généralement) utilisent des zones d'accès mémoire différentes des adresses d'E/S
Amélioration des performances
L'affectation des canaux DMA réellements utilisés est tenue à jour dans le fichier /proc/dma
$ cat /proc/dma 4: cascade
UPMC - FP - Préparation LPI - v 1.1
13
101.1 Périphériques coldplug et hotplug
Périphérique coldplug : ne peut être ajouté ou supprimé sans arrêt du système Ex : CPU, mémoire, cartes, port RS232, port //,...
Certains bus PCI (serveurs) supportent l'échange à chaud
Périphériques hotplug : peuvent être ajoutés ou supprimés sans arrêter le système Ex : USB, Firewire, eSATA,...
Un certain nombre d'outils, fonctionnalités permettent de découvrir et de rendre dynamique la mise à disposition à l'utilisateur de ces périphériques
HAL
Sysfs
Dbus
UPMC - FP - Préparation LPI - v 1.1
udev
14
101.1 HAL
HAL : Hardware Abstraction Layer
hald : daemon qui fournit en temps réel une base de données des périphériques en cours d'utilisation
Publicité
Les informations sont envoyés vers l'espace utilisateur grâce au bus DBUS
UPMC - FP - Préparation LPI - v 1.1
15
101.1 Paramétrage matériel
DBUS http://www.freedesktop.org/wiki/Software/dbus
Méchanisme de communication interprocessus interne à une machine
Permet aux applications de communiquer
Permet de lancer services ou applications lorqu'elles sont nécessaires
Communications : point à point; publication/souscription
2 daemon
Daemon système : spécifique aux messages du système (« un nouveau périphérique a été connecté »)
Daemon par utilisateur : spécifique aux communications inter processus des applications appartenant à l'utilisateur
UPMC - FP - Préparation LPI - v 1.1
16
101.1 Paramétrage matériel
API
Glib, Python, Java, QT4, Perl, C++, PHP, Ruby
2 composants
Une librairie dbus de communication point à point libdbus : requiert un parser XML (libxml ou expat)
Un daemon dbus messagebus
Plusieurs bus possible en simultané
Nommage des bus : nom de fichier socket UNIX ou port TCP/IP
UPMC - FP - Préparation LPI - v 1.1
17
101.1 Paramétrage matériel
Configuration et démarrage
Lancé par la commande dbuslaunch qui se charge de démarrer dbusdaemon
Fichier de configuration : XML
Fichier de configuration daemon dbus system : /etc/dbus1/system.conf
Fichier de configuration daemon dbus par utilisateur : /etc/dbus1/session.conf
Script de démarrage daemon dbus system: /etc/init.d/messagebus
UPMC - FP - Préparation LPI - v 1.1
18
101.1 Paramétrage matériel
En pratique : application avec Network manager
UPMC - FP - Préparation LPI - v 1.1
19
101.1 sysfs
sysfs : pseudo système de fichier contenant les informations sur le matériel et les périphériques
Ces informations sont utilisables depuis l'espace utilisateur
Monté sur /sys
Disponible à partir des noyaux 2.6
Les périphériques sont regroupés dans une arborescence
Sysfs permet une association périphérique/pilote indépendant de la notion de processus
Représente une extension à procfs
UPMC - FP - Préparation LPI - v 1.1
20
101.1 procfs
procfs (process filesystem) : pseudo système de fichier contenant les informations sur les processus manipulés par le noyau
Ces informations sont utilisables depuis l'espace utilisateur
Monté sur /proc
Un répertoire par processus actif
Inclut également des informations non liées à un processus particulier bien que ce rôle soit dévolu à partir des noyaux 2.6 à sysfs
UPMC - FP - Préparation LPI - v 1.1
21
101.1 udev
udev permet de générer dynamiquement les fichiers de périphériques qui rendent les périphériques accessibles à l'espace utilisateur
Remplace sur les noyaux à partir de 2.6 les fichiers de périphériques statiques présents dans /dev
Monté sur /dev
Udev est une extension de devfs. A la différence de devfs, udev réside complètement dans l'espace utilisateur
Udev peut être configuré à l'aide de règles /etc/udev/rules.d/
Udev écoute les messages du noyau (uevents) et est capable de communiquer avec des applications via haldbus
Exemple : dossier d'un K USB qui s'ouvre automatiquement
UPMC - FP - Préparation LPI - v 1.1
22
101.1 Paramétrage matériel
Quelques informations sur les standards d'accès aux informations matérielles des systèmes...
Desktop Management Interface (DMI) : premier standard de gestion des informations matérielles pour serveur, portable ou desktop
Développé par la Distributed Management Task Force (DMTF)
Stockage des informations issues du bios dans une table standardisée interrogeable par des outils
Sous Linux : dmidecode
UPMC - FP - Préparation LPI - v 1.1
23
101.1 Paramétrage matériel
Remplacement de DMI par des standards plus récents
Common Information Model (CIM) : spécifications permettant aux fabricants de matériel, logiciel, applications d'échanger des informations
WebBased Enterprise Management (WBEM) : standards internet d'échange de données entre matériels et applications hétérogènes
Protocole intégré à WBEM : Web Services for management (WSManagement)
Desktop and mobile Architecture for System Hardware (DASH): spécifications qui succèdent à DMI, exploite le protocole WS Management afin gérer à distance les ressources matérielles des mobiles et desktop
UPMC - FP - Préparation LPI - v 1.1
24
101.1 Paramétrage matériel
Utilitaires d'inventaire des ressources matérielles
dmidecode
biosdecode; vpddecode; ownership
lshw
linuxinfo
lspci
lsusb
UPMC - FP - Préparation LPI - v 1.1
25
101.1 Paramétrage matériel
dmidecode : décodeur de table DMI http://www.nongnu.org/dmidecode/
Affiche le contenu de la table DMI : composants matériels du système, numéros de série, version du BIOS
N'affiche que le contenu des informations du BIOS
Utilisé par le noyau pour charger ou décharger des portions de code en fonction des éléments matériels détectés par dmidecode
Commande associée : biosdecode
Options
● s KEYWORD : affiche uniquement les infos d'un
KEYWORD DMI exemple : # dmidecode s processorfrequency
● t TYPE : affiche uniquement les infos d'un numéro de
UPMC - FP - Préparation LPI - v 1.1
type spécifié
26
101.1 Paramétrage matériel
dmidecode s processorfrequency 600 MHz
dmidecode t 4 # dmidecode 2.10 SMBIOS 2.3 present.
Handle 0x0400, DMI type 4, 32 bytes Processor Information
Socket Designation: Microprocessor Type: Central Processor Family: Pentium M Manufacturer: Intel ID: D8 06 00 00 FF FB E9 AF Signature: Type 0, Family 6, Model 13, Stepping 8 Flags:
FPU (Floatingpoint unit onchip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension)
UPMC - FP - Préparation LPI - v 1.1
27
101.1 Paramétrage matériel
Publicité
biosdecode : décodeur du BIOS
Affiche le contenu de la totalité des points d'entrée du BIOS
Beaucoup moins lisible et utilisable que dmidecode
vpddecode : Affiche les infos vitales d'un système de marque IBM
Ne fonctionne qu'avec du matériel IBM
Nécessite une structure d'infos : Vital Product Data
ownership : Affichage le d'info « ownership » des systèmes Compaq
Ne fonctionne qu'avec du matériel IBM
UPMC - FP - Préparation LPI - v 1.1
28
101.1 Paramétrage matériel
biosdecode # biosdecode 2.10 SYSID present. Revision: 0 Structure Table Address: 0x000F8161 Number Of Structures: 1
SMBIOS 2.3 present.
Structure Table Length: 1662 bytes Structure Table Address: 0x000F81A0 Number Of Structures: 45 Maximum Structure Size: 149 bytes
PCI Interrupt Routing 1.0 present.
Router ID: 00:1f.0 Exclusive IRQs: None Compatible Router: 8086:1234 Slot Entry 1: ID 00:03, onboard Slot Entry 2: ID 00:1d, onboard Slot Entry 3: ID 00:1e, onboard Slot Entry 4: ID 00:1f, onboard
UPMC - FP - Préparation LPI - v 1.1
29
101.1 Paramétrage matériel
lshw : Hardware lister http://ezix.org/project/wiki/HardwareLiSter
Fonctionne sous : Linux (noyaux 2.2 à 2.6); PARISC; Alpha; Power PC; x86 IA64 compatible DMI
Commande ou interface graphique
lshw [format] [options]
● X : interface GUI
● html : sortie format html
● xml : sortie format xml
● short : montre les chemins hardware
● businfo : liste les periph et les bus associés
● class CLASS : limite les résultats à une classe matérielle
● enable|disable TEST : active ou désactive un test
Lancer cette commande sous root : accès aux informations DMI
UPMC - FP - Préparation LPI - v 1.1
30
101.1 Paramétrage matériel
hwinfo : est de plus bas niveau à partir de laquelle lshw est basée
Autre commande permettant d'inventorier les éléments matériels
Options
hwitem : permet à l'aide d'un mot clé « humainement compréhensible » de lister un éléments matériel spécifique
<hwitem> Probe for the particular hardware item. Available hardware items are: all, bios, block, bluetooth, braille, bridge, camera, cdrom, chipcard, cpu, disk, dsl, dvb, fingerprint, floppy, framebuffer, gfxcard, hub, ide, isapnp, isdn, joystick, key‐ board, memory, modem, monitor, mouse, netcard, network, parti‐ tion, pci, pcmcia, pcmciactrl, pppoe, printer, scanner, scsi, smp, sound, storagectrl, sys, tape, tv, usb, usbctrl, vbe, wlan, and zip.
UPMC - FP - Préparation LPI - v 1.1
31
101.1 Paramétrage matériel
lshw description: Portable Computer product: Latitude X1 vendor: Dell Inc. serial: 25J842J width: 32 bits capabilities: smbios2.3 dmi2.3 configuration: boot=normal chassis=portable uuid=44454C4C3500104A8038 B2C04F34324A core description: Motherboard product: 0G6951 vendor: Dell Inc. physical id: 0 serial: .25J842J.CN365216290093. firmware description: BIOS vendor: Dell Inc. physical id: 0 version: A05 (12/25/2005) size: 64KiB
UPMC - FP - Préparation LPI - v 1.1
32
101.1 Paramétrage matériel
$ hwinfo cpu 01: None 00.0: 10103 CPU [Created at cpu.304] Unique ID: rdCR.j8NaKXDZtZ6 Hardware Class: cpu Arch: Intel Vendor: "GenuineIntel" Model: 6.13.8 "Intel(R) Pentium(R) M processor 1.10GHz" Features: fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,mtrr,pge,mca,cmov,clflush,dts,acpi,mmx,fxsr,sse, sse2,ss,tm,pbe,nx,up,bts,est,tm2 Clock: 1100 MHz BogoMips: 2194.66 Cache: 2048 kb Config Status: cfg=new, avail=yes, need=no, active=unknown
UPMC - FP - Préparation LPI - v 1.1
33
101.1 Paramétrage matériel
$ hwinfo disk 21: IDE 00.0: 10600 Disk [Created at block.243] UDI: /org/freedesktop/Hal/devices/storage_serial_TOSHIBA_MK6006GAH_Z5I57291T Unique ID: 3OOL.b5Tqytwwfi4 Parent ID: 3p2J.Y5YO5LLvm64 SysFS ID: /class/block/sda SysFS BusID: 0:0:0:0 SysFS Device Link: /devices/pci0000:00/0000:00:1f.1/host0/target0:0:0/0:0:0:0 Hardware Class: disk Model: "TOSHIBA MK6006GA" Vendor: "TOSHIBA" Device: "MK6006GA" Revision: "BZ00" Driver: "ata_piix", "sd" Device File: /dev/sda Device Files: /dev/sda, /dev/block/8:0, /dev/disk/byid/ata TOSHIBA_MK6006GAH_Z5I57291T, /dev/disk/byid/scsi SATA_TOSHIBA_MK6006G_Z5I57291T, /dev/disk/bypath/pci0000:00:1f.1scsi0:0:0:0 ..... Attached to: #15 (IDE interface)
UPMC - FP - Préparation LPI - v 1.1
34
101.1 Paramétrage matériel
UPMC - FP - Préparation LPI - v 1.1
35
101.1 Paramétrage matériel
lspci : affiche les informations des périphériques attachés sur les bus PCI
Options
v et vv : affiche de plus en plus verbeux
n : affiche les informations sous forme numérique
t : affichage sous forme arborescente montrant les dépendances entre périphériques
UPMC - FP - Préparation LPI - v 1.1
36
101.1 Paramétrage matériel
$ lspci 00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03) 00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03) 00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) US
....
UPMC - FP - Préparation LPI - v 1.1
37
101.1 Paramétrage matériel
$ lspci vv 00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03) Subsystem: Dell Device 01a3 Control: I/O Mem+ BusMaster+ SpecCycle MemWINV VGASnoop ParErr
Stepping SERR FastB2B DisINTx
Status: Cap+ 66MHz UDF FastB2B+ ParErr DEVSEL=fast >TAbort <TAbort
<MAbort+ >SERR <PERR INTx
Latency: 0 Capabilities: <access denied> Kernel driver in use: agpgartintel Kernel modules: intelagp
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
Subsystem: Dell Device 01a3 Control: I/O+ Mem+ BusMaster+ SpecCycle MemWINV VG
.....
UPMC - FP - Préparation LPI - v 1.1
38
101.1 Paramétrage matériel
$ lspci t [0000:00]+00.0 +02.0 +02.1 +1c.0[0000:01]00.0 +1d.0 +1d.1 +1d.2 +1d.3 +1d.7 +1e.0[0000:0206]+01.0 | +01.1 | +01.2 | \03.0 +1e.2 +1e.3 +1f.0 \1f.1
UPMC - FP - Préparation LPI - v 1.1
39
101.1 Paramétrage matériel
lsusb : est la commande identique à lspci pour les bus et périphériques USB
Nécessite le support de /proc/bus/usb ( noyau >= 2.3.15)
Options
v et vv : affiche de plus en plus verbeux
UPMC - FP - Préparation LPI - v 1.1
40
101.1 Paramétrage matériel
USB 1.0 et 1.1 : 127 périph 12 Mbps; USB 2.0 : 480 Mbps
Attention au mélange de versions !
Dispo à partir de noyau 2.4 (mais le premier code USB apparaît dans la version 2.2.7)
Contrôleurs USB. Module chargé différent en fonction du contrôleur.
UHCI (USB 1.x)
OHCI (USB 1.x)
EHCI
UPMC - FP - Préparation LPI - v 1.1
41
101.1 Paramétrage matériel
2 outils pour supporter la prise en charge à chaud des périphériques USB : usbmgr et hotplug
usbmgr (monde Debian à l'origine)
Démon qui écoute le bus usb et qui va charger/cécharger les modules nécessaires
Configuration dans /etc/usbmgr et /etc/usbmgr/usbmgr.conf
Hotplug
Disponible depuis version noyau 2.4
Configuration dans /etc/hotplug et /etc/hotplug.d
Association de la liste des périphériques USB avec des scripts exécutés lorsque le périphérique est connecté ou déconnecté
UPMC - FP - Préparation LPI - v 1.1
42
101.1 Paramétrage matériel
Publicité
$ lsusb Bus 002 Device 002: ID 413c:3012 Dell Computer Corp. Optical Wheel Mouse Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 002: ID 413c:8103 Dell Computer Corp. Wireless 350 Bluetooth Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
UPMC - FP - Préparation LPI - v 1.1
43
101.1 Modules noyaux
Linux : noyau modulaire
Où se trouvent les modules ?
/lib/modules
Commandes associées
lsmod, modinfo
insmod, rmmod
modprobe
UPMC - FP - Préparation LPI - v 1.1
44
101.1 Modules noyau
lsmod : programme simple qui affiche la liste et l'état des modules (externes forcément) du système
Fondé sur /proc/modules
Colonnes
Module : nom du module
Size : empreinte mémoire du module
Used by : indique si le module est utilisé, combien de fois, ainsi que le cas échéant le nom des modules qui l'utilisent Permet de voir les dépendances de modules
UPMC - FP - Préparation LPI - v 1.1
45
101.1 Modules noyau
$ lsmod Module Size Used by michael_mic 2204 4 arc4 1660 2 ecb 2524 2 lib80211_crypt_tkip 8636 1 aes_i586 8124 1 aes_generic 27484 1 aes_i586
snd_seq_dummy 2656 0 ip_tables 11692 1 iptable_filter x_tables 16544 1 ip_tables dcdbas 7292 1 dell_laptop btusb 11856 2 psmouse 56500 0 serio_raw 5280 0 ipw2200 140292 0 libipw 43148 1 ipw2200 ......
UPMC - FP - Préparation LPI - v 1.1
46
101.1 Modules noyau
modinfo : programme qui affiche des informations détaillées sur un ou plusieurs modules
modinfo nommodule|nomfichiermodule
Si pas de nom de fichier fourni, recherche dans /lib/modules/version
Option
kernel : pemret de spécifier une version de noyau
UPMC - FP - Préparation LPI - v 1.1
47
101.1 Modules noyau
$ modinfo /lib/modules/2.6.3119generic/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko filename: /lib/modules/2.6.3119generic/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko license: GPL author: Copyright(c) 20032006 Intel Corporation version: 1.2.2kmprq description: Intel(R) PRO/Wireless 2200/2915 Network Driver srcversion: 99130395C362697D0971661 alias: pci:v00008086d00004224sv*sd*bc*sc*i* alias: pci:v00008086d00004223sv*sd*bc*sc*i* alias: pci:v00008086d00004221sv*sd*bc*sc*i* alias: pci:v00008086d00004220sv*sd*bc*sc*i* alias: pci:v00008086d0000104Fsv*sd*bc*sc*i*
$ modinfo ipw2200 filename: /lib/modules/2.6.3119generic/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko license: GPL author: Copyright(c) 20032006 Intel Corporation version: 1.2.2kmprq description: Intel(R) PRO/Wireless 2200/2915 Network Driver srcversion: 99130395C362697D0971661 ....
UPMC - FP - Préparation LPI - v 1.1
48
101.1 Modules noyau
insmod : programme simple qui permet de charger un module en mémoire
insmod nomfichiermodule optionsdumodule
Obligation de fournir le nom de fichier correspondant au module
Possibilité de spécifier des options permettant d'adapter le module à son environnement d'exécution
Ne gère pas les dépendances de modules
La commande modprobe est plus versatile et plus simple à utiliser
UPMC - FP - Préparation LPI - v 1.1
49
101.1 Modules noyau
modprobe : programme qui permet de gérer le chargement et le retrait des modules
modprobe options nommodule optionsdumodule
On fournit le nom du module (son alias), ou plusieurs, et non le nom du fichier correspondant
Possibilité de spécifier des options permettant d'adapter le module à son environnement d'exécution comme avec insmod
Gère les dépendances : se fonde sur le fichier modules.dep
Afin de pouvoir charger automaiquement des modules en cas de dépendance, utilisation de fichiers de configurations contenant les options éventuelles des modules /etc/modules.conf /etc/modules.d
UPMC - FP - Préparation LPI - v 1.1
50
101.1 Modules noyau
Options
v : verbose
C fichierconfiguration : permet de spécifier un fichier différent de /etc/modprobe.conf
c : affiche la configuration de issue de /etc/modprobe.conf
n (dryrun) : affiche les actions que modprobe fait sans les exécuter réellement
r (remove) : tente de retirer un module Enlève les modules dépendants s'ils ne sont pas utilisés par d'autres
f (force) : installe un module même dans le cas d'incompatibilité détectée
l : liste les modules en utilisant des caractères jokers
UPMC - FP - Préparation LPI - v 1.1
51
101.1 Modules noyau
$ modprobe l ipw* kernel/drivers/char/pcmcia/ipwireless/ipwireless.ko kernel/drivers/net/wireless/ipw2x00/ipw2100.ko kernel/drivers/net/wireless/ipw2x00/ipw2200.ko kernel/drivers/usb/serial/ipw.ko
UPMC - FP - Préparation LPI - v 1.1
52
101.1 Modules noyau
rmmod : programme simple qui permet de décharger un module de la mémoire
rmmod options nommodule
On fournit le nom du module (et non le nom du fichier de module comme pour insmod)
Ne prend qu'un seul module en paramètre
Ne gère pas les dépendances de modules
Options
v : verbose
f : forcer le retrait d'un module même s'il est utiisé (Dangereux !)
w : attend que le module soit libéré avant de le décharger
UPMC - FP - Préparation LPI - v 1.1
53
101.1 Configuration des disques durs
Disques ATA
Généralement 4 disques : 1 master et 1 slave par contrôleur
Détectés par le BIOS
/dev/hda : master du premier contrôleur
/dev/hdb : slave du premier contrôleur
/dev/hdc : master du second contrôleur
/dev/hdd : slave du second contrôleur
Disques SATA
Les BIOS récents les détectent
Pris en charge comme des périphériques SCSI par Linux
UPMC - FP - Préparation LPI - v 1.1
54
Quelques conseils LPI...
Tester les différents utilitaires d'affichage des infos matérielles Exemple : puisje utiliser dmidecode pour afficher les informations USB ?
UPMC - FP - Préparation LPI - v 1.1
55
101.1 Paramétrage matériel
Bibliographie
DBUS
http://www.freedesktop.org/wiki/Software/dbus
http://www.freedesktop.org/wiki/IntroductionToDBus
HAL
UPMC - FP - Préparation LPI - v 1.1
56