Publié le dimanche 18 mai 2008, mis a jour le dimanche 25 mai 2008, par Stephane MALINET
La libATA est une bibliothèque du noyau linux pour le support des controlleurs et périphériques ATA. Elle permet de gérer les transferts ATA et ATAPI via le sous-système SCSI. Apparue dans le noyau 2.6.18, à la base développée pour le support des disques Serial ATA, elle s’est imposée comme le futur standard des disques Paralell ATA (entendez les disques à interfaces IDE). De fait à terme les drivers IDE seront probablement amenés à disparaitre du noyau au détriment de la libATA. Un des gros avantages, est de n’avoir à paramétrer qu’un seul format de périphérique peu importe le type d’interface IDE, SATA, ou SCSI : tout sera vu en /dev/sd* et /dev/sr* pour les lecteurs et graveurs CD DVD.
Nous allons donc dans un premier temps changer la configuration du noyau :
# cd /usr/src/linux
# make menuconfigSi vous n’avez que des disques SATA et que vous utilisez des clés USB, alors votre configuration noyau est déjà trés proche de celle ci-dessous, pensez à désativer le support ATA/ATAPI... et à activer le support des lecteurs de CDROM SCSI. Sélectionnez les options suivantes afin de n’activer que le support libATA :
Device Drivers --->
< > ATA/ATAPI/MFM/RLL support --->
SCSI device support --->
-*- SCSI device support
<*> SCSI target support
[*] legacy /proc/scsi/ support
<*> SCSI disk support
<*> SCSI CDROM support
[*] Enable vendor-specific extensions (for SCSI CDROM)
<*> SCSI generic support
[*] SCSI logging facility
[*] Asynchronous SCSI scanning
<*> Serial ATA (prod) and Parallel ATA (experimental) drivers --->
(sélectionnez le support de votre chipset à l'aide de la commande lspci, dans notre exemple un intel)
<*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA supportEnsuite recompilez votre noyau :
# make -j2 && make modules_install
C’est là que cela se complique un peu puisque les disques IDE seront vus comme des disques SCSI, si vous n’aviez que des disques IDE, alors ce sera relativement simple puisque d’une manière générale, /dev/hda deviendra /dev/sda, /dev/hdb -> /dev/sdb... en revanche, si vous mixiez disques SATA et disques IDE alors il va falloir trouver un moyen de savoir comment seront nommés les disques.
Une méthode serait de labeliser vos partitions c’est-à-dire de donner un nom à ces partitions afin de pouvoir nommer la partition /boot en BOOT par exemple.
L’opération de mettre des labels sur vos partitions doit de faire sur des partitions non montées, le mieux est donc depuis un liveCD.
Pour ce faire utilisez les outils suivant :
sur ext2/3 : tune2fs (16 caractères maximum)
# tune2fs -L BOOT /dev/hda1
sur reiserfs : reiserfstune (16 caractères maximum)
# reiserfstune -l ROOT /dev/hda2
sur xfs : xfs_admin (12 caractères maximum)
# xfs_admin -L USR /dev/hda3
sur jfs : jfs_tune (16 caractères maximum)
# jfs_tune -L VAR /dev/hda6
Pour la partition de swap :
# mkswap -L SWAP /dev/hda5
Modifiez ensuite le fichier /etc/fstab :
[...]
LABEL=ROOT / reiserfs noatime 0 2
[...]
Autre méthode est d’utiliser la dénomination par UUID (entendez Universal Unique IDentifier) des partitions.
Pour les connaître :
# ls -lh /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 mai 11 18:44 136cea0d-4971-45f7-a22f-184c28325e0d -> ../../hdb1
lrwxrwxrwx 1 root root 10 mai 11 18:44 19f589de-5fe1-4ef8-886e-5407bdd09242 -> ../../hda6
lrwxrwxrwx 1 root root 10 mai 11 18:44 23522038-ec20-4d27-b082-2cb7cb01d18f -> ../../hda7
lrwxrwxrwx 1 root root 10 mai 11 18:44 28176ab9-04a4-4661-ae7b-aad4e2adc4e3 -> ../../hda3
lrwxrwxrwx 1 root root 10 mai 11 18:44 81b59432-398e-40fd-8098-f6f7b4abc52a -> ../../hda5
lrwxrwxrwx 1 root root 10 mai 11 18:44 88f09f52-b4f6-4ee3-b96f-d86b6d4b1e57 -> ../../hda1
lrwxrwxrwx 1 root root 10 mai 11 18:44 c422bb01-014d-46b2-98cd-73071234df6f -> ../../hda8
lrwxrwxrwx 1 root root 10 mai 11 18:44 d605fa56-f3bb-416c-9b65-27cde7a703f6 -> ../../hda2Remplacez donc dans le fichier /etc/fstab vos /dev/hd* par les UUID correspondantes :
[...]
UUID=d605fa56-f3bb-416c-9b65-27cde7a703f6 / reiser4 noatime,nodiratime 0 2
[...]Dans tout les cas n’oubliez pas vos lecteurs et/ou graveurs CD DVD :
/dev/sr0 /mnt/dvdrom iso9660 noauto,ro,user 0 0
/dev/sr1 /mnt/cdr iso9660 noauto,ro,user 0 0
Grub
Modifiez le fichier /boot/grub/grub.conf :
title=GENTOO 2.6.25 entropie R3
root (hd0,0)
kernel /kernel-2.6.25-entropie-r3 root="LABEL=ROOT"
Lilo
Modifiez votre fichier /etc/lilo.conf :
boot=/dev/sda
prompt
timeout=50
default=Gentoo
image=/boot/kernel-2.6.25-gentoofr-r5
label=Gentoo
read-only
root="LABEL=ROOT"A ce niveau il ne vous reste plus qu’à rebooter... Ceci dit, pensez à vérifier vos configurations hdparm et lvm... Dans le pire des cas vous ne verrez aucune différence en terme de performances, en revanche dans le meilleur des cas ces dernières seront améliorées.