Matériel & Architecture (LPIC101)

Un livre de Wikibooks.

Wikiversity-logo.svg
Contenu transféré sur Wikiversité

Le contenu que vous recherchez a été déplacé vers la Wikiversité. Il devrait être disponible sous le nom Certification Linux LPI/Administrateur système débutant/Examen 101/Matériel et architecture.

Logo LPI


Sections

[modifier] Configurer les bases du BIOS

[modifier] Objectifs

Description : Les candidats devraient être capables de configurer le matériel système de base en modifiant correctement le BIOS système. Cet objectif inclut une compréhension appropriée des buts de configuration du BIOS tels que l'utilisation de LBA sur les disques durs IDE de plus de 1024 cylindres, en activant ou désactivant des périphériques intégrés, aussi bien qu'en configurant des systèmes avec ou sans périphériques externes tels que des claviers. Cela inclut également le paramétrage correct des adresses d'IRQ, de DMA et d'I/O pour tous les ports administrés par le BIOS et la gestion des arrêts sur erreur.

Fichiers, termes et commandes principaux inclus :

/proc/ioports
/proc/interrupts
/proc/dma
/proc/pci

Vous trouverez de plus amples informations sur ce point en cliquant sur le lien suivant : KPLUG

[modifier] BIOS

Quand vous allumez l'ordinateur, les instructions du BIOS (Basic Input Output System) sont chargées en RAM depuis un composant ROM situé sur la carte mère et dans lequel elles sont disponibles de façon permanente.

Ces instructions indiquent au processeur où est situé le système d'exploitation et comment le charger en RAM. Pour permettre au système d'exploitation et aux applications de fonctionner sur un PC, le BIOS fournit un niveau standard de services que le système d'exploitation peut utiliser pour dialoguer avec le matériel.

À son tour, le système d'exploitation fournit des services standards aux applications qui leur permettent de fonctionner.

Quelques services du BIOS :

Geometry Translation for IDE/ATA Hard Drives Over 504 MB
Plug-and-Play
Year 2000 Compliance
Support for IDE/ATA Hard Drives Over 2 GB

Tous les systèmes d'exploitation n'utilisent pas ces services : quelques-uns utilisent leurs propres instructions pour accéder au matériel. Cette méthode pour accéder au matériel permet d'améliorer les performances.

[modifier] Accès à des disques-durs de grande capacité

LBA (Logic Block Addressing) est la méthode la plus courante pour dépasser la limite des 528 Mo imposée par les lecteurs de disques IDE. La limite des 528 Mo est imposée par le plus petit dénominateur commun (ppcm) entre les interfaces IDE et le BIOS (INT13H).

Elements          INT13H  IDE    Limitation
Max Sector/Track   63     255    63
Number of heads    255    16     16
Number of cylindes 1024   65536  1024
Max Capacity        8.4G  136.9G 528M

Avec LBA, chaque bloc a un numéro unique et le niveau physique du disque n'est pas visible par le système d'exploitation. Par exemple, un disque de 2048 cylindres, 16 têtes et 63 secteurs sera détecté avec 1024 cylindres, 32 têtes et 63 secteurs.

Dans la traduction, si le numéro de secteur est inférieur à 1024*16*63, le disque dur fait moins de 528M. Lorsque le numéro de secteur est supérieur à 1024*16*63, le nombre de têtes est fixé à 32.

Pour que tout fonctionne correctement, ce mécanisme doit être supporté par le BIOS, l'OS et le disque IDE.

[modifier] Obtenir des informations sur les disques-durs

Pour obtenir des informations sur la géométrie d'un disque IDE, utilisez hdparm.

hdparm [options] [devices]

Options courantes :
-g: Fournit la géométrie du disque.
-C: Affiche le mode de puissance du disque dur.
 active/idle: operation normale,
 Standby: Mode puissance réduite,
 or sleeping: Mode puissance minimum.
-v: Affiche tous les paramètres du disque dur.

Exemples :

hdparm -g /dev/hda
 /dev/hda:
 geometry     = 3648/255/63, sectors = 58605120, start = 0
hdparm -C /dev/hda
 /dev/hda:
 drive state is:  active/idle

[modifier] Obtenir des informations sur le noyau

/proc est un pseudo-système de fichiers qui est utilisé comme interface vers les structures de données du noyau. La plupart de ses fichiers sont en lecture seule, mais certains permettent de modifier les variables du noyau.

Exemples de répertoires disponibles:

[Number]: informations sur les processus exécutés sur le système.

cmdline: la ligne de commande complète, cwd : le répertoire de travail, ...

/proc/uptime Depuis quand le système a démarré et fonctionne.
/proc/sys/kernel Informations sur le noyau.
/proc/sys/net Informations réseau.
/proc/partitions Informations sur les partitions du/des disque(s) dur(s).
/proc/scsi Informations SCSI.
/proc/mount Informations sur les systèmes de fichiers montés.
/proc/devices Liste les pilotes chargés.
/proc/bus Informations sur les bus.
/proc/version Version Linux.

Et plus encore ...

[modifier] Exercices

  1. Quelle est la taille de la mémoire RAM de votre système ?
  2. Quels sont les périphériques qui partagent la même ligne d'interruption ?
  3. Utilisez l'utilitaire lspci avec les options correctes pour obtenir le dessin de l'architecture PCI de votre système.
    • Combien y a-t-il de bus et de ponts pci ?
    • Y a-t-il des ponts PCI/ISA ?
  4. Quelles sont les options de lspci permettant d'établir la liste des périphériques PCI Intel ?
  5. Quelle est la commande permettant de mettre votre disque-dur en mode lecture seule ?
  6. Quelle est la commande permettant d'activer/désactiver le cache d'un disque-dur ?
  7. A quoi sert l'utilitaire setpci ?
  8. Quelle serait la commande permettant d'écrire un mot dans un registre N d'un périphérique PCI ?
  9. Quelle est la température du processeur ?

[modifier] Configurer un modem et une carte son

[modifier] Objectifs

Description : Assurez-vous des conditions de compatibilité de raccordement des périphériques (en particulier pour les modems qui ne sont pas "Windows"), vérifiez que le modem et la carte son emploient des adresses uniques et correctes d'IRQ, d'I/O, et de DMA, si la carte son est PnP, installez et démarrez sndconfig et isapnp, configurez le modem pour un "dial-up" clavier, configurez le modem pour le protocole PPP | SLIP | CSLIP connection, paramétrez le port série pour 115.2 Kbps.

[modifier] Modem

Un modem est un périphérique qui permet d'envoyer des données numériques sur une ligne téléphonique. Il existe quatre types de modems :

  • Externe : connecté par le port série.
  • USB : connecté par un port USB.
  • Interne : carte ISA ou PCI.
  • Intégré : directement intégré à la carte mère.

La plupart des nouveaux modems sont Plug and Play et vous avez différents moyens de les configurer :

  • Le pilote série le fait pour vous.
  • Utiliser le programme isapnp.
  • Laisser le BIOS PnP faire la configuration.

Pour afficher les informations sur un périphérique ISA, utilisez pnpdump. Cet utilitaire peut afficher les informations d'une carte PnP (ports d'entrée/sortie, interruptions et canaux DMA) que la carte souhaite ou doit utiliser. Pour configurer un périphérique ISA, utilisez isapnp. Pour plus d'informations, lisez la page de manuel du fichier isapnp.conf.

[modifier] Ports série

Un modem externe peut être configuré avec setserial.

setserial [options] device [parameters]

Les différents ports série disponibles sont :
/dev/ttys0 (COM1), port 0x3f8, irq 4
/dev/ttys1 (COM2), port 0x2f8, irq 3
/dev/ttys2 (COM3), port 0x3e8, irq 4
/dev/ttys3 (COM4), port 0x2e8, irq 3

Options habituelles :
-a: rapporte toutes les informations disponibles sur un périphérique connecté.

Paramètres habituels :
-port: numéro de port.
-irq: numéro IRQ.
-uart: Type d'UART autorisé (aucun, 8250, 16450,...).
-autoconfig: Demande au kernel de déterminer l'UART, le numéro IRQ,...
-baud_rate: Bande passante de communication (maximum : 115200 bits/sec).

Exemple :

$ setserial -g /dev/ttyS*

[modifier] Appels entrants et sortants

Pour émettre un appel avec un modem, vous pouvez utiliser les applications setserial ou minicom. Un fichier de configuration peut être créé avec l'option -s.

minicom -s

Pour recevoir un appel, le système a besoin de lancer un processus getty pour gérer la session d'appel. La configuration doit être faite avec le fichier /etc/inittab :

D1:45:respawn:/sbin/agetty -mt60 19200,9600 ttyS0 vt100
-m: dit à getty d'extraire le taux bps.
19200,9600: taux bps quand il reçoit un caratère BREAK.
t60: timeout de 60 secondes.
ttyS0: port sur lequel le modem est connecté.
vt100: type de terminal utilisé dans la variable d'environnement TERM.

Une fois que /etc/inittab est modifié, init doit le relire.

telinit -q

[modifier] Exercices

[modifier] Installer des périphériques SCSI

[modifier] Objectifs

Description : Les candidats devraient pouvoir configurer les périphériques SCSI en utilisant le "BIOS SCSI" aussi bien que les outils Linux nécessaires. Ils devraient également faire la différence entre les divers types de SCSI. Cet objectif inclut la manipulation du BIOS SCSI pour détecter les identifications SCSI utilisées et disponibles et saisir la valeur correcte d'identification pour différents périphériques, particulièrement le périphérique de démarrage (boot). Cela comprend également la gestion du paramétrage du BIOS de l'ordinateur pour déterminer la séquence de démarrage (boot) si des périphérique SCSI et IDE sont présents.

Fichiers, termes et commandes principaux inclus :

SCSI ID
/proc/scsi/
scsi_info

[modifier] Périphériques SCSI

On peut accéder au BIOS SCSI lors du boot avec une séquence particulière de touches, ce qui permet de modifier certains paramètres, de définir le SCSI comme bootable ou d'autres. Pour accéder aux informations du SCSI, utiliser scsi_info ou hdparm.

Exemples :

scsi_info /dev/sda
hdparm -gv /dev/sda

[modifier] Exercices

[modifier] Paramétrer différentes cartes d'extension PC

[modifier] Objectifs

Description : Les candidats devraient être en mesure de configurer de nombreuses cartes pour différents slots d'extension. Ils devraient connaitre la différence entre les cartes ISA et PCI en respectant les données de configuration. Cet objectif comprend le paramétrage correct des IRQs, DMA et ports I/O des cartes, notammment pour éviter les conflits entre les périphériques. Cela inclut l'usage de isapnp si la carte est un periphérique PnP.

Fichiers, termes et commandes principaux inclus :

/proc/dma
/proc/interrupts
/proc/ioports
/proc/pci
pnpdump (8)
isapnp (8)
lspci (8)

[modifier] Cartes PCI

Toutes les cartes PCI sont normalement détectées par le BIOS. Lors du boot, le BIOS vérifie l'espace de configuration PCI et détecte tous les périphériques et les bridges. Pour être sûr que le BIOS a détecté tous les périphériques PCI, utiliser lspci. Vérifier les bridges, les fonctions et les périphériques spéciaux.

[modifier] Cartes ISA

Toutes les cartes ISA sont aussi normalement détectées par leur pilote respectif. Les utilitaires qui permettent de configurer manuellement les cartes ISA sont pnpdump, isapnp et le fichier /etc/isapnp.conf. Le programme pnpdump permet d'afficher les informations sur les cartes ISA détectées. Le programme isapnp utilise un fichier de configuration /etc/isapnp.conf qui a la même syntaxe que la sortie de pnpdump et qui permet de configurer n'importe quel paramètre d'une carte ISA.

[modifier] Exercices

[modifier] Configurer les périphériques de communication

[modifier] Objectifs

Description : Les candidats devraient être en mesure d'installer et de configurer différents périphériques internes ou externes de communication comme un modem, un adaptateur ISDN, et commutateurs (switches) DSL. L'objectif inclut la vérification de la compatibilité requise (importante en particulier si le modem est compatible Windows), et de la nécessité de charger et de paramétrer les pilotes adéquats des périphériques, ainsi que les paramètres matériels (IRQs, DMAs, I/O ports) des périphériques. Cela comprend également les périphériques de communication et les outils de configuration d'interfaces, comme le port série pour 115.2 kbps, et l'installation correcte du modem pour la limite de connexions PPP en sortie.

Fichiers, termes et commandes principaux inclus :

/proc/dma
/proc/interrupts
/proc/ioports
setserial(8)

[modifier] I/O Ports

Pour obtenir la liste des ports d'entrée/sortie utilisés dans le système, vous pouvez afficher le contenu du fichier /proc/ioports.

$ cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : PCI device 8086:248a
0170-0177 : ide1
01f0-01f7 : PCI device 8086:248a
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : PCI device 8086:248a
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vesafb
03f6-03f6 : PCI device 8086:248a
03f6-03f6 : ide0

[modifier] Interruptions

Afin d'obtenir la liste de toutes les interruptions de tous les périphériques, on peut afficher le contenu du fichier /proc/interrupts à l'écran.

$ cat /proc/interrupts
          CPU0
 0:     397517          XT-PIC  timer
 1:       7544          XT-PIC  keyboard
 2:          0          XT-PIC  cascade
 5:          0          XT-PIC  usb-uhci, usb-uhci
 8:          2          XT-PIC  rtc
 10:       2024          XT-PIC  eth0, usb-uhci, PCI device
104c:ac51, PCI device 104c:ac51, Intel ICH3
12:      19502          XT-PIC  PS/2 Mouse
14:      11445          XT-PIC  ide0
15:       2770          XT-PIC  ide1
NMI:          0
ERR:          0

Pour obtenir un système optimisé, vérifier qu'une adresse d'interruption n'est pas utilisée à la fois par deux périphériques très occupés.

Se souvenir que toute ISR de n'importe quel périphérique sera exécutée pour chaque interruption.

[modifier] DMA

Pour obtenir la liste de tous les canaux DMA (Direct Memory Access) ISA utilisés, afficher le contenu du fichier /proc/dma.

$ cat /proc/dma
4: cascade

[modifier] PCI

Pour obtenir la liste de tous les périphériques sur le bus PCI, afficher le contenu du fichier /proc/pci.

$ cat /proc/pci
PCI devices found:
 Bus  0, device   0, function  0:
   Class 0600: PCI device 8086:3575 (rev 2).
     Prefetchable 32 bit memory at 0xe0000000 [0xefffffff].
 Bus  0, device   1, function  0:
   Class 0604: PCI device 8086:3576 (rev 2).
     Master Capable.  Latency=96.  Min Gnt=12.
 Bus  0, device  29, function  0:
   Class 0c03: PCI device 8086:2482 (rev 1).
     IRQ 10.
     I/O at 0x1800 [0x181f].
 Bus  0, device  29, function  1:
   Class 0c03: PCI device 8086:2484 (rev 1).
     IRQ 5.
     I/O at 0x1820 [0x183f].
 Bus  0, device  29, function  2:
   Class 0c03: PCI device 8086:2487 (rev 1).
     IRQ 5.
     I/O at 0x1840 [0x185f].
 Bus  0, device  30, function  0:
   Class 0604: PCI device 8086:2448 (rev 65).
     Master Capable.  No bursts.  Min Gnt=4.

[modifier] Exercices

[modifier] Configurer des périphériques USB

[modifier] Objectifs

Description : Les candidats devraient être en mesure d'activer le support USB, utiliser et configurer des périphériques USB différents. Cet objectif inclut la sélection du chipset USB approprié et du module correspondant. Cela inclut aussi la connaissance des bases de l'architecture de couche modèle (layer model) de l'USB ainsi que les différents modules utilisés dans les différentes couches (layer).

Fichiers, termes et commandes principaux inclus :

lspci (8)
usb-uhci.o
usb-ohci.o
/etc/usbmgr/
usbmodules
/etc/hotplug

[modifier] Détection automatique de nouveaux périphériques USB

Le programme exécuté lorsqu'un nouveau périphérique est connecté est hotplug


hotplug nom

Noms courants :
pci: périphérique PCI.
usb: périphérique USB.

Le répertoire /etc/hotplug contient les scripts qui ont besoin d'être exécutés chaque fois qu'un périphérique est inséré ou enlevé.

/etc/hotplug/pci.agent: Pour installer le pilote PCI adéquat. /etc/hotplug/usb.agent: Pour installer le pilote USB adéquat.

Le programme hotplug est également lancé au démarrage du système pour initialiser tous les périphériques connectés. /etc/init.d/hotplug

[modifier] Lister les périphériques USB

Pour vérifier que tous les périphériques ont bien été détectés, utilisez lsusb.

lsusb [options]

Exemple:

lsusb
Bus 001 Device 004: ID 04a9:3045 Canon Inc. PowerShot S100

Device Descriptor:

 bLength                18
 bDescriptorType         1
 bcdUSB               1.00
 bDeviceClass          255 Vendor Specific Class
 bDeviceSubClass       255 Vendor Specific Subclass
 bDeviceProtocol       255 Vendor Specific Protocol
 bMaxPacketSize0        32
 idVendor           0x04a9 Canon Inc.
 idProduct          0x3045 PowerShot S100
...

Pour afficher une vue graphique des périphériques USB connectés, utilisez usbview.

[modifier] Pilotes USB

Chaque périphérique USB détecté sera monté dans le système de fichiers /proc/bus/usb. L'application appropriée pourra y accéder.

Chaque périphérique USB sera vu au travers d'un système de fichiers.

/proc/bus/usb/001/005

Pour vérifier que le pilote approprié a bien été chargé pour un périphérique USB, utilisez usbmodules.

usbmodules [options]

Exemples:

usbmodules –device /proc/bus/usb/001/001
usbcore
usbmodules –device /proc/bus/usb/001/005 –mapfile /etc/hotplug/usb.handman

Les modules à charger par défaut sont /lib/modules/<version-noyau>/modules.usbmap.

La table de correspondance est stockée dans le fichier /lib/modules/<version-noyau>/modules.usbmap.

Tous les pilotes sont stockés dans le répertoire /lib/modules/<version-noyau>/kernel/drivers/usb/.

[modifier] Applications USB

Beaucoup d'applications existent pour beaucoup de périphériques différents. Il faut parfois du temps pour arriver à toutes les faire marcher. gphoto2 est une application qui peut-être utilisée pour un appareil photo numérique.

options courrantes: --debug : Pour voir quel est le problème de communication avec l'appareil photo. --print-usb-usermap : stocke la sortie dans /etc/hotplug/usb.usermap de façon à ce que l'application supporte votre appareil photo. -P : Télécharger les photos.

Exemple:

gphoto2 --summary

Détection du 'Canon PowerShot S100'.
Résumé de l'appareil :
Indentification de l'appareil :
 Modèle : Canon PowerShot S100
 Propriétaire :
État énergie : sur piles (énergie OK)
Information du disque Flash :
 Disque D:
  16'203'776 octets au total
     598'016 octets disponibles

[modifier] Exercices

USB :

  • Vérifiez que vous pouvez détecter un appareil photo numérique.
  • Visualisez les informations relatives à l'appareil photo.
  • Prenez une photo et téléchargez-la dans votre système à l'aide de gphoto2.
  • Configurez votre propre périphérique (disque dur, appareil photo, souris, clavier, ...)

PPP:

  • Reliez deux ordinateurs à l'aide d'un câble série et utilisez ppp pour ouvrir une connexion sur l'autre ordinateur (ssh).
  • Reliez deux ordinateurs à l'aide d'un câble série et ouvrez une console série sur l'autre ordinateur (/dev/ttyS0).
Autres langues