Matériel & Architecture (LPIC101)
Un livre de Wikibooks.
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.
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
- Quelle est la taille de la mémoire RAM de votre système ?
- Quels sont les périphériques qui partagent la même ligne d'interruption ?
- 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 ?
- Quelles sont les options de lspci permettant d'établir la liste des périphériques PCI Intel ?
- Quelle est la commande permettant de mettre votre disque-dur en mode lecture seule ?
- Quelle est la commande permettant d'activer/désactiver le cache d'un disque-dur ?
- A quoi sert l'utilitaire setpci ?
- Quelle serait la commande permettant d'écrire un mot dans un registre N d'un périphérique PCI ?
- 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).