You are on page 1of 53

Support de formation pour

la prparation de l'examen
LPI 101
v 1.1
nabilbenamar.com

LPI 101

Topic 101: Architecture Systme

nabilbenamar.com

LPI 101

Topic 101: System Architecture

101.1 Determine and configure hardware settings

Description

Weight 2
Candidates should be able to determine and configure fundamental system
hardware.

Key Knowledge Areas

Enable and disable integrated peripherals.

Configure systems with or without external peripherals such as keyboards.

Differentiate between the various types of mass storage devices.

Set the correct hardware ID for different devices, especially the boot device.

Know the differences between coldplug and hotplug devices.

Determine hardware resources for devices.

Tools and utilities to list various hardware information (e.g. lsusb, lspci, etc.)

Tools and utilities to manipulate USB devices

Conceptual understanding of sysfs, udev,


hald, dbus
LPI 101

nabilbenamar.com

partial list of the used files, terms


and utilities

/sys

/proc

/dev

modprobe

lsmod

lspci

lsusb

nabilbenamar.com

LPI 101

Le systme de fichiers /proc

Lors de l'ajout de nouveau matriel pour un systme Linux


existant
Quelles sont les ressources utilises par le matriel
existant ?

Le pseudo-systme de fichiers /proc ,le rfrentiel d'tat du


noyau, contient cette information.

Les fichiers proc, interrupts, dma, et ioports, montrent


comment les ressources sys sont actuellement utilises.
Ces fichiers ne peuvent pas afficher les priphriques
moins que leurs fichiers de priphriques / pilotes sont
ouverts / actifs.

nabilbenamar.com

LPI 101

IRQ, DMA, I/O addresses

IRQ's interrupt requests (utilis pour signaler


au CPU que les donnes sont disponibles).
Les canaux DMA certains dispositifs crivent
directement la mmoire.

Chaque appareil qui effectue cette opration doit


utiliser son propre canal DMA.

I/O addresses chaque priphrique doit tre


adressable par le CPU.

Les @ I/O sont utilises pour les entres sorties


avec le priphrique.

nabilbenamar.com

LPI 101

/proc/interrupts

nabilbenamar.com

LPI 101

/proc/interrupts

La premire colonne fait rfrence au numro


IRQ.
Chaque unit centrale du systme a sa propre
colonne et son propre nombre d'interruptions
par IRQ.
La colonne suivante indique le type
d'interruption et la dernire colonne contient le
nom du priphrique situ cet IRQ.

nabilbenamar.com

LPI 101

man proc

/proc/interrupts

This is used to record the number of interrupts per


CPU per IO device.

nabilbenamar.com

Since Linux 2.6.24, for the i386 and x86_64 architectures,


at least, this also includes interrupts internal to the system
(that is, not associated with a device as such), such as NMI
(nonmaskable interrupt), LOC (local timer interrupt),
and for SMP systems, TLB (TLB flush interrupt), RES
(rescheduling interrupt), CAL (remote function call
interrupt), and possibly others.
Very easy to read
formatting, done in ASCII.
LPI 101

DMA

Direct Memory Access (DMA) est une


technique qui permet aux lecteurs d'utiliser la
RAM pour changer des donnes.
La RAM utilise un emplacement rserv dans
le haut de la mmoire, et la manire d'accder
ces emplacements est appele un canal
(channel).

nabilbenamar.com

LPI 101

10

/proc/dma et /proc/ioports

cat /proc/dma

4: cascade

nabil@nabil-laptop:~$
cat /proc/ioports

0000-001f : dma1

0020-0021 : pic1

0040-0043 : timer0

0050-0053 : timer1

0060-0060 : keyboard

00c0-00df : dma2

00f0-00ff : fpu

03c0-03df : vga

nabilbenamar.com

sudo

LPI 101

/proc/dma
DMA channels enable
fast data transfer
which
does
not
involve the CPU.
Our machine does
not have any notable
DMA assignments

11

USB

nabilbenamar.com

LPI 101

USB
devices
are
attached to a host in a
tree
through
some
number of hub devices.
The lsusb command
can be used to see how
devices are physically
attached to a Linux
system.
lsusb -t
12

USB

Du point de vue utilisateur, le bus USB se prsente


sous la forme d'une architecture toile et
pyramidale, l'hte se trouvant au centre du rseau,
et les priphriques l'extrieur.
Les changes de donnes se font une vitesse
prdfinie dans la spcification USB : 1,5 Mbits/s
ou 12 Mbits/s selon la tolrance du priphrique
concern.
L'intrt principal de ce bus est le fait qu'un grand
nombre de priphriques (jusqu' 126) peuvent tre
connects simultanment au mme hte, et qu' tout
moment, il est possible de les dbrancher et de les
rebrancher sans redmarrer le contrleur hte (c'est-dire l'ordinateur).
nabilbenamar.com
LPI 101
13

USB

nabil@nabil-laptop:~$ lsusb -t

/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M


/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 2: Dev 6, If 0, Class=HID, Driver=usbhid, 1.5M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M

|__ Port 2: Dev 2, If 0, Class='bInterfaceClass 0x0e not yet


handled', Driver=uvcvideo, 480M

|__ Port 2: Dev 2, If 1, Class='bInterfaceClass 0x0e not yet


handled', Driver=uvcvideo, 480M
nabilbenamar.com

LPI 101

14

Les contrleurs USB

Il y a 3 types de contrleurs USB:

Open Host Controller Interface (OHCI)

Universal Host Controller Interface (UHCI)

Enhanced Host Controller Interface (EHCI)

OHCI et UHCI sont des contrleurs USB 1.1

EHCI contrleurs sont USB 2.0

maximum 12 Mbps.
Maximum thorique de 480 Mbps.

Pour avoir des vitesses suprieurs USB 1.1 vous devez avoir
des contrleurs USB 2.0 ainsi que des priphriques USB 2.0.
Un priphrique USB 2.0 reli un concentrateur USB 1.1 ne
sera en mesure de fonctionner qu' des vitesses USB 1.1.
nabilbenamar.com

LPI 101

15

Les pilotes 'drivers' USB

Les pilotes USB du noyau Linux se rpartissent


en trois catgories

Host controller drivers (pilotes de contrleur hte)

usb-ohci.o, usb-uhci.o, uhci.o (old alternate UHCI driver),


et ehci-hcd.o

Class drivers

nabilbenamar.com

Les USB class drivers incluent le hid.o, usb-storage.o


(mass storage driver), acm.o (Automated Control Model
[ACM] communications class driver.
Pour les modems qui emulent le modem serie standards,
printer.o, and audio.o.

LPI 101

16

lspci

Description

The lspci command displays information about your


systems PCI buses and your installed PCI devices.

This information is found primarily within /proc.

Options

-t
Show a treelike diagram containing all buses,
bridges, devices, and connections between them.

nabilbenamar.com

LPI 101

17

Manipuler les modules

Lsmod

Insmod

Rmmod

modprobe

Like insmod, modprobe is used to insert modules.


In fact, modprobe is a wrapper around insmod and
provides additional functionality.
In addition to loading single modules, modprobe has the
ability to load modules along with their prerequisites or all
modules stored in a specific directory.
The modprobe command can also remove modules when
combined with the -r option.

nabilbenamar.com

LPI 101

18

Exemples

# modprobe -r fat msdos


Attempt to load available network modules until
one succeeds:

# modprobe -l -t net

Attempt to load all available network modules:

# modprobe -l -at net

# modprobe -l

nabilbenamar.com

LPI 101

19

/sys

Avec le noyau 2.6, la plupart des informations


relatives aux priphriques ont t dplaces
vers /sys.
Sysfs permet de connatre des informations sur
les priphriques du systme et leurs pilotes.
Il est galement utilis pour configurer certaines
fonctionnalits du noyau.
/sys est organis en un ensemble de rpertoires

chacun contient un certain nombre de fichiers qui


contiennent en gnral une seule valeur.

Certains liens symboliques sont prsents, parcourant


plusieurs branches de larborescence
du /sys.
nabilbenamar.com
LPI 101
20

/sys

nabilbenamar.com

LPI 101

21

/sys

Le dmon udevd coute les messages du noyau


concernant
les
changements
dtat
du
priphrique.
udevd utilise ces informations, ainsi que les
informations sur le priphrique fournies par le
noyau au travers du systme de fichiers /sys,
pour effectuer les oprations

de chargement
priphriques,

des

modules

de

pilotes

de

de chargement des firmwares


et de cration des fichiers spciaux de priphriques
dans le rpertoire /dev.LPI 101
22

nabilbenamar.com

Le dmarrage boot du systme


101.2
&
Modification des niveaux d'execution
Runlevels 101.3

nabilbenamar.com

LPI 101

23

101.2 Boot the system

Poids 3

Description

Candidats doivent comprendre les phases du dmarrage du sys.

Domaines de connaissance les plus importants

Passer des commandes au chargeur de dmarrage et passer les


paramtres d'amorage du noyau.
Les squences d'amorage depuis le lancement du BIOS jusqu'
l'achvement des squences de dmarrage.
Vrifier le droulement des vnements de la phase de dmarrage
dans les journaux (logs).

/var/log/messages
dmesg
BIOS
bootloader
kernel

init

nabilbenamar.com

LPI 101

24

Dmarrage boot du systme

Chargeur de dmarrage (boot loader)

LILO

GRUB

Lancer le noyau Linux au dmarrage du


systme.
/etc/lilo.conf

/boot/grub/menu.lst

boot/grub/grub.conf

nabilbenamar.com

LPI 101

25

Dmarrage boot du systme

Le BIOS (Basic Input Output Service) est


stock dans une mmoire non-volatile :

ROM, EEPROM, or flash memory

Au dmarrage

(POST) pour vrifier la machine

Il determine aussi le disque de dmarrage

Il charge alors le premier secteur du Master Boot


Record (MBR) sur ce disque.

nabilbenamar.com

LPI 101

26

Dmarrage boot du systme

MBR contient aussi la table des partitions.


La quantit de code excutable dans le MBR est
infrieur 512 oct
Chaque media disk, floppy, CD, DVD, USB stick,
contient du code executable dans son MBR
"Non-bootable disk in drive A:".
The first stage boot loader or the stage 1 boot
loader.

nabilbenamar.com

LPI 101

27

Dmarrage boot du systme

nabilbenamar.com

LPI 101

28

Dmarrage boot du systme

Dans certains cas, le chargeur de dmarrage


doit dlivrer des informations au noyau Linux

Pour configurer les priphriques

ou contrler d'autres comportements du systme.

Cette information est appele:

paramtre du noyau.

nabilbenamar.com

LPI 101

29

Boot-time Kernel Parameters

Le noyau Linux a aussi la capacit d'accepter


les informations au dmarrage partir d'une
interface en ligne de commande.
On y accde travers le chargeur de
dmarrage.
Au dmarrage du systme
Vous pouvez interrompre le processus de boot
par dfaut et spcifier vos paramtres pour le
noyau.

nabilbenamar.com

LPI 101

30

Exemple

you wanted to boot with a root partition other than


your default, /dev/hda1.

LILO prompt:

LILO: linux root=/dev/hda9

This command boots the kernel whose label is


linux and overrides the default value
of /dev/hda1
filesystem

nabilbenamar.com

to

/dev/hda9

LPI 101

for

the

root

31

Introduction to Kernel Module


Configuration

Modern Linux kernels are modular,


in that modules of code traditionally compiled into the
kernel (say, a sound driver) are loaded as needed.
The modules are separate from the kernel and can be
inserted and removed by the superuser if necessary.
Although parameters in the boot loaders configuration
file and the kernel command line affect the kernel, they
do not control kernel modules.

nabilbenamar.com

LPI 101

32

Introduction to Kernel Module


Configuration

To send parameters to a kernel module, they


are inserted into the file
/etc/modules.conf as text

nabil@nabil-laptop:~$ cat /etc/modules

# /etc/modules: kernel modules to load at boot time.

# This file contains the names of kernel modules that should be loaded

# at boot time, one per line. Lines beginning with "#" are ignored.

lp
nabilbenamar.com

LPI 101

33

l'examen

Read questions that ask about kernel or


module parameters carefully.
Kernel options can be passed on the kernel
command line; module options are specified in
modules.conf.

nabilbenamar.com

LPI 101

34

Kernel boot-time messages

As the Linux kernel boots, it gives detailed status of its


progress in the form of console messages.
The messages are also logged to disk and can easily be
viewed using the dmesg command, which displays
messages logged at the last system boot.
dmesg displays information on your network adapter
when it was initialized. However, the configuration and
status of that adapter is
logged in /var/log/messages as a result of the network
startup. When examining and
debugging boot activity on your system, you need to review
both kinds of information.
nabilbenamar.com

LPI 101

35

dmesg

# dmesg | less

# dmesg > bootmsg.txt

nabil@nabil-laptop:~$ sudo cat /var/log/messages|grep wlan0

Apr 3 08:06:12 nabil-laptop kernel: [ 15.780260] wlan0: ethernet device 0c:60:76:52:05:d3 using NDIS driver:
bcmwl5, version: 0x50a4f0e, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:4315.5.conf

Apr 3 08:06:12 nabil-laptop kernel: [ 15.781250] wlan0: encryption modes supported: WEP; TKIP with WPA,
WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK

nabilbenamar.com

LPI 101

36

Changer les niveaux dexcution : Arrt et


redmarrage du Systme

Runlevels

Distinguer entre :

Un systme n'offrant que la console en mode texte.

Et une systme qui offre l'interface graphique travers le systme X window

Les Runlevels sont spcifis par des entiers 0 6.

Les niveaux d'excution 0 et 6 sont rares

Ils spcifient les tats de transition de l'arrt et du redmarrage respectivement.

Lorsqu'un administrateur indique Linux d'entrer dans le niveau d'excution


0, le systme d'exploitation commence une procdure d'arrt propre.

Ce concept dfinit diffrentes faons d'utiliser un systme en contrlant les


services qui s'excutent

runlevel 6 commence un reboot.

Les runlevels restant diffrent dpendamment des distributions Linux.


nabilbenamar.com

LPI 101

37

Changer les niveaux dexcution : Arrt


et redmarrage du Systme

nabilbenamar.com

LPI 101

38

Changer les niveaux dexcution : Arrt


et redmarrage du Systme

nabilbenamar.com

LPI 101

39

Le mode mono-utilisateur

Pour la maintenance du systme.

Les connections distantes sont dsactives.

Les services rseaux dsactivs

La plupart des daemons ne sont pas dmarrs.

Le mode mono-utilisateur est utilis pour les tches de


configuration du systme, qui doivent tre effectues
dans labsence d'activit des utilisateurs.
Une raison commune pour laquelle vous pourriez tre
oblig d'utiliser le mode mono-utilisateur est de corriger
les problmes d'un systme de fichiers corrompu que le
systme ne peut pas grer automatiquement.
nabilbenamar.com

LPI 101

40

Runlevels & init

Par eux-mmes, les niveaux d'excution cits


ne signifient pas grand chose.
C'est ce que le processus init fait la suite
d'une spcification ou de changement de
niveau d'excution qui affecte le systme.
Les actions d'init pour chaque niveau
d'excution sont drives partir du style
d'initialisation dans Unix System V et sont
prciss dans une srie de rpertoires et de
fichiers de script dans le rpertoire /etc.

nabilbenamar.com

LPI 101

41

Arborescence du rpertoire /etc et


le processus init

/etc/rc.sysinit or /etc/init.d/rcS

Sur les systmes bass Redhat, rc.sysinit est un


script d'initialisation de syetme monolytique.

Les scripts Debian rcS font le m travail en excutant


plusieurs petits scripts placs ds 2 rpertoires diffrents.
ds chaque cas, le script est lanc par init au moment du
dmarrage.
Il gre certaines tches essentielles pour prparer le
l'utilisation du systme, comme le montage des systmes
de fichiers.

Ce script doit tre excut avant le dmarrage de


n'importe quel daemon.

nabilbenamar.com

LPI 101

42

/etc/init.d

When a Linux system starts, it runs a number of


scripts in /etc to initially configure the system
and switch among runlevels.

This directory contains individual startup/shutdown


scripts for each service on the system.

These scripts have a standard basic form and


take a single argument

Start, stop , restart, status, reload

/etc/init.d/apache2

nabilbenamar.com

LPI 101

43

Les repertoires /etc/rc0.d /etc/rc6.d

Chacun des repertoires /etc/rc0.d /etc/rc6.d


contient des liens symboliques vers les scripts du
rpertoire /etc/init.d
Quand le processus init entre dans le runlevel N,
il examine tous les liens dans le rpertoire rcN.d
associ.

KNNname et SNNname.
Since K comes before S alphabetically, the K services
are stopped before the S services are started.

nabilbenamar.com

LPI 101

44

nabilbenamar.com

LPI 101

45

Pourquoi des liens symboliques et non pas des


fichiers scripts ?

nabilbenamar.com

LPI 101

46

Rglage du niveau dexcution


par dfaut

Pour determiner le niveau d'excution par dfaut


au dmarrage, init lit le fichier de configuration
/etc/inittab looking for a line containing the word
initdefault.

id:N:initdefault:

Remarque

In any case, never change the default runlevel to 0


or 6, or your system will not boot to a usable state.
sudo runlevel

nabilbenamar.com

LPI 101

47

Sur ubuntu

Sur ubuntu, le fichier /etc/inittab n'existe pas

cat /etc/init/cron.conf

start on runlevel [2345]


stop on runlevel [!2345]
expect fork
respawn
exec cron
nabilbenamar.com

LPI 101

48

Changer les runlevels avec init & telinit

La commande init ou telinit envoit un signal au


processus init en excution, lui ordonnant de
swither vers un niveau d'ex spcifique.
You must be logged in as the superuser to use the
init command.
Gnralement, vous utilisez un changement niveau
d'excution pour les raisons suivantes:

Pour arrter le systme en utilisant runlevel 0

Pour aller au mode mono-utilisateur runlevel 1

Pour redmarrer le sys runlevel 6

nabilbenamar.com

LPI 101

49

Changer les runlevels avec init & telinit

Shut down immediately:

# init 0

Reboot immediately:

# init 6

Go to single-user mode immediately:

# init 1

or:

# init s

telinit

The telinit command may be used in place of init. telinit is simply a


link to init, and the two may be used interchangeably
nabilbenamar.com

LPI 101

50

Arrt du systme avec shutdown

Lorsque l'arrt est lanc, tous les utilisateurs qui


sont connects des sessions de terminal sont
informs que le systme va s'arrter.
De plus,les nouvelles tentatives de conncetion sont
bloques.

# shutdown -r now

shutdown -P now

To reboot in five minutes with a maintenance


message:

# shutdown -r +5 System maintenance is required

nabilbenamar.com

LPI 101

51

shutdown

# shutdown h now

# shutdown r now

These cause an immediate halt or reboots,


respectively.

nabilbenamar.com

LPI 101

52

Rfrences

LPI Linux Certification in a Nutshell, Third


Edition by Adam Haeder, Stephen Addison
Schneiter, Bruno Gomes Pessanha, and James
Stanger. Published by OReilly 2010

nabilbenamar.com

LPI 101

53

You might also like