next up previous
Next: LILO et l'option «linear» Up: Le problème des gros Previous: Disques de plus de

Et Linux ?

Ici, je parle des noyaux Linux récents, disons que je ne pense pas dire de bêtises pour un noyau 2.0.30.

En théorie, Linux n'a que faire de l'interruption 13 du BIOS puisqu'il ne l'utilise pas. Le pilote IDE de Linux communique directement avec les ports IDE en LBA. La translation CHS lui est donc inutile en théorie.

En fait les choses sont plus subtiles. La géométrie utilisée par la table des partitions souffre des mêmes limitations que l'interruption 13 du BIOS. De ce fait, la table des partitions doit être dressée en utilisant une géométrie translatée sous peine de débordements possibles. Cela permet aussi à Linux et MS-DOS d'être d'accord malgré le fait qu'MS-DOS utilise l'interruption 13 du BIOS et pas Linux.

De même, LILO fait appel à l'interruption 13 du BIOS pour accéder aux disques pour la simple et bonne raison qu'aucun système d'exploitation n'est chargé quand LILO s'execute au moment du boot.

Il est donc très important que la table des partitions soit rédigée en géométrie translatée. Le pilote IDE des noyaux Linux récents effectue en automatiquement la translation 5 lorsqu'on lui demande la géométrie d'un disque, ce qui permet sous Linux à fdisk mais aussi à LILO lors de sa phase d'installation (confection du MBR) d'utiliser une géométrie translatée qui contente tout le monde.

La géométrie que reporte Linux est affichée lors du boot. Voici par exemple ce que donne chez moi un dmesg | grep 'CHS='

hda: QUANTUM FIREBALL ST4.3A, 4110MB w/81kB Cache, CHS=524/255/63, UDMA



 
next up previous
Next: LILO et l'option «linear» Up: Le problème des gros Previous: Disques de plus de
Djalil Chafaï