Préparation LPI - Exam 101

Computer Systems and Hardware Configuration · course

Voir tous les documents en systèmes d'exploitation et cloud

Préparation LPI

Exam 101

101.1 Déterminer et configurer les

périphériques

Document sous licence Creative commons « by­nc­sa » http://creativecommons.org/licenses/by­nc­sa/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 RS­232 (COM2)

IRQ 4 : premier port RS­232 (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   IO­APIC­edge      timer   1:       5835   IO­APIC­edge      i8042   8:          1   IO­APIC­edge      rtc0   9:          6   IO­APIC­fasteoi   acpi  12:      12516   IO­APIC­edge      i8042  14:      45592   IO­APIC­edge      ata_piix  15:          0   IO­APIC­edge      ata_piix  16:     176890   IO­APIC­fasteoi   ehci_hcd:usb1, uhci_hcd:usb2, i915, Intel ICH6, eth0  17:     128894   IO­APIC­fasteoi   uhci_hcd:usb3, mmc0, ipw2200  18:          2   IO­APIC­fasteoi   uhci_hcd:usb4, ohci1394  19:          0   IO­APIC­fasteoi   uhci_hcd:usb5, yenta NMI:          0   Non­maskable 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

0378­037F ­ /dev/lp0 – IRQ 7 – LPT1

0278­027F ­ /dev/lp1 – IRQ 5 – LPT2

03F0­03F7 ­ /dev/fd0 – IRQ 6 – flopyy a:

0370­0377 ­ /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 0000­001f : dma1 0020­0021 : pic1 0040­0043 : timer0 0050­0053 : timer1 0060­0060 : keyboard 0064­0064 : keyboard 0070­0071 : rtc0 0080­008f : dma page reg 00a0­00a1 : pic2 00c0­00df : dma2 00f0­00ff : fpu 0170­0177 : 0000:00:1f.1   0170­0177 : ata_piix 01f0­01f7 : 0000:00:1f.1   01f0­01f7 : ata_piix 0376­0376 : 0000:00:1f.1   0376­0376 : 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 RS­232, 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 inter­processus 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 dbus­launch qui se charge de démarrer dbus­daemon

Fichier de configuration : XML

Fichier de configuration daemon dbus system : /etc/dbus­1/system.conf

Fichier de configuration daemon dbus par utilisateur : /etc/dbus­1/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 hal­dbus

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

Web­Based 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 (WS­Management)

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 processor­frequency

● ­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 processor­frequency 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 (Floating­point unit on­chip) 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, on­board Slot Entry 2: ID 00:1d, on­board Slot Entry 3: ID 00:1e, on­board Slot Entry 4: ID 00:1f, on­board

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); PA­RISC; Alpha; Power PC; x86 IA­64 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, pcmcia­ctrl, pppoe, printer, scanner, scsi,               smp, sound, storage­ctrl, sys, tape,  tv,  usb,  usb­ctrl,  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: smbios­2.3 dmi­2.3     configuration: boot=normal chassis=portable uuid=44454C4C­3500­104A­8038­ 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/by­id/ata­ TOSHIBA_MK6006GAH_Z5I57291T, /dev/disk/by­id/scsi­ SATA_TOSHIBA_MK6006G_Z5I57291T, /dev/disk/by­path/pci­0000:00:1f.1­scsi­0: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: agpgart­intel Kernel modules: intel­agp

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:02­06]­­+­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 nom­module|nom­fichier­module

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.31­19­generic/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko filename:       /lib/modules/2.6.31­19­generic/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko license:        GPL author:         Copyright(c) 2003­2006 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.31­19­generic/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko license:        GPL author:         Copyright(c) 2003­2006 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 nom­fichier­module options­du­module

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 nom­module options­du­module

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 fichier­configuration : permet de spécifier un fichier différent de /etc/modprobe.conf

­c : affiche la configuration de issue de /etc/modprobe.conf

­n (­­dry­run) : 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 nom­module

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 : puis­je 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