« Certification Linux LPI/Administrateur système débutant/Examen 101/Matériel et architecture » : différence entre les versions

Contenu supprimé Contenu ajouté
m + a scinder
passage sous le modèle leçon
Ligne 1 :
{{Leçon
{{à scinder}}
|idfaculté=informatique
== Configurer les bases du BIOS ==
|département=
 
|1=[[/Configurer les bases du BIOS/]]
=== Objectifs ===
|2=[[/Configurer un modem et une carte son‎/]]
 
|3=[[/Installer des périphériques SCSI‎/]]
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.''
|4=[[/Paramétrer différentes cartes d'extension PC‎/]]
 
|5=[[/Configurer les périphériques de communication‎/]]
'''Fichiers''', ''termes'' et <tt>commandes</tt> principaux inclus :
|6=[[/Configurer des périphériques USB‎/]]
 
|niveau=12
/proc/ioports
|titre=LPIC1 101 : Matériel et architecture
/proc/interrupts
|cours=[[Certification Linux LPI/Administrateur système débutant/Examen 101|LPIC1 101]]
/proc/dma
}}
/proc/pci
 
Vous trouverez de plus amples informations sur ce point en cliquant sur le lien suivant : [http://www.kplug.org/LPI/HandA.shtml KPLUG]
 
=== 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.
 
=== 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.
 
=== Obtenir des informations sur les disques-durs ===
 
Pour obtenir des informations sur la géométrie d'un disque IDE, utilisez <tt>hdparm</tt>.
 
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
 
=== 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 ...
 
=== Exercices ===
 
* [[/Solutions|Solutions des 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 ?
 
== Configurer un modem et une carte son ==
 
=== 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.''
 
=== 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 <tt>isapnp</tt>.
* Laisser le BIOS PnP faire la configuration.
 
Pour afficher les informations sur un périphérique ISA, utilisez <tt>pnpdump</tt>.
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 <tt>isapnp</tt>. Pour plus d'informations, lisez la page de manuel du fichier <tt>isapnp.conf</tt>.
 
=== Ports série ===
 
Un modem externe peut être configuré avec <tt>setserial</tt>.
 
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 octets/sec).
 
Exemple :
 
$ setserial -g /dev/ttyS*
 
=== Appels entrants et sortants ===
 
Pour émettre un appel avec un modem, vous pouvez utiliser les applications <tt>setserial</tt> ou <tt>minicom</tt>. Un fichier de configuration peut être créé avec l'option <tt>-s</tt>.
 
minicom -s
 
Pour recevoir un appel, le système a besoin de lancer un processus <tt>getty</tt> pour gérer la session d'appel. La configuration doit être faite avec le fichier <tt>/etc/inittab</tt> :
 
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 <tt>/etc/inittab</tt> est modifié, <tt>init</tt> doit le relire.
 
telinit -q
 
=== Exercices ===
 
* [[/Solutions|Solution des exercices]]
 
== Installer des périphériques SCSI ==
 
=== 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 <tt>commandes</tt> principaux inclus :
;SCSI ID
;/proc/scsi/
;scsi_info
 
=== 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 <tt>scsi_info</tt> ou <tt>hdparm</tt>.
 
Exemples :
 
scsi_info /dev/sda
hdparm -gv /dev/sda
 
=== Exercices ===
 
* [[/Solutions|Solution des exercices]]
 
== Paramétrer différentes cartes d'extension PC ==
 
=== 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 <tt>commandes</tt> principaux inclus :
;/proc/dma
;/proc/interrupts
;/proc/ioports
;/proc/pci
;pnpdump (8)
;isapnp (8)
;lspci (8)
 
=== 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 <tt>lspci</tt>. Vérifier les ''bridges'', les fonctions et les périphériques spéciaux.
 
=== 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 <tt>pnpdump</tt>, <tt>pnpisa</tt> et le fichier <tt>/etc/isapnp.conf</tt>. Le programme <tt>pnpdump</tt> permet d'afficher les informations sur les cartes ISA détectées. Le programme <tt>pnpisa</tt> utilise un fichier de configuration <tt>/etc/isapnp.conf</tt> qui a la même syntaxe que la sortie de <tt>pnpdump</tt> et qui permet de configurer n'importe quel paramètre d'une carte ISA.
 
=== Exercices ===
 
* [[/Solutions|Solution des exercices]]
 
== Configurer les périphériques de communication ==
 
=== 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 <tt>commandes</tt> principaux inclus :
;/proc/dma
;/proc/interrupts
;/proc/ioports
;setserial(8)
 
=== 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 <tt>/proc/ioports</tt>.
 
$ 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
 
=== Interruptions ===
 
Afin d'obtenir la liste de toutes les interruptions de tous les périphériques, on peut afficher le contenu du fichier <tt>/proc/interrupts</tt> à 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.
 
=== DMA ===
 
Pour obtenir la liste de tous les canaux DMA (Direct Memory Access) ISA utilisés, afficher le contenu du fichier <tt>/proc/dma</tt>.
 
$ cat /proc/dma
4: cascade
 
=== PCI ===
 
Pour obtenir la liste de tous les périphériques sur le bus PCI, afficher le contenu du fichier <tt>/proc/pci</tt>.
 
$ 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.
 
=== Exercices ===
 
* [[/Solutions|Solution des exercices]]
 
== Configurer des périphériques USB ==
 
=== 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 <tt>commandes</tt> principaux inclus :
;lspci (8)
;usb-uhci.o
;usb-ohci.o
;/etc/usbmgr/
;usbmodules
;/etc/hotplug
 
=== 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
 
=== 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.
 
=== 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/.
 
=== 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
 
=== Exercices ===
 
* [[/Solutions|Solution des 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).
 
[[Catégorie:LPIC1 101]]