next up previous
Next: Exemple de problèmes Up: Et Linux ? Previous: LILO et l'option «linear»

Les ports IDE 2, 3...

Je ne parlerai que du second port IDE car la plupart des cartes mères n'intégrent que deux ports. Mais je pense que ce que je dis à propos du second port IDE est encore vrai pour les ports IDE suivants.

D'après une source sûre, le pilote IDE de Linux ne sais pas comment obtenir la géométrie utilisée par le BIOS pour les disques du second port IDE. Si le disque possède déjà une table des partitions, le pilote utilise la géométrie de la table des partitions, sinon il utilise la géométrie non translatée que lui fourni l'interface IDE.

En effet, le BIOS utilise un zone de la mémoire centrale (segment 0x40) pour certaines de ses données. Il y met notamment lors du boot les géométries des deux premiers disques durs (à l'époque, ça suffisait). Une copie de cette zone de données est sauvegardée par le noyau Linux lors du boot. Le pilote IDE s'en sert pour déterminer la géométrie utilisée par le BIOS pour les deux premiers disques IDE.

Le manque d'informations de géométrie BIOS pour les disques du second port IDE peut poser de graves problèmes comme nous allons le voir plus loin. L'idéal serait que Linux interroge le BIOS via l'interruption 13 lors du boot avant le chargement du noyau proprement dit, dans setup.[ca] par exemple. Cela garantirait qu'il utilise la même convention que lui. Voici ce que dit Mark LORD dans le pilote IDE du noyau Linux (2.0.36) :

 *  To do, in likely order of completion:
 *      - modify kernel to obtain BIOS geometry for drives on 2nd/3rd/4th i/f

Malheureusement, personne ne l'a fait à l'heure actuelle. Le noyau Linux 2.2souffrira donc du même problème jusqu'à nouvel ordre (patch pardon :-).

Fort heureusement, la plupart des disques qui sont vendus sont déjà partitionnés par le vendeur mais il peut arriver que ça ne soit pas le cas ou encore que la table a été effacée par une manip quelconque d'un utilisateur croyant bien faire en partant de zéro.


Une méthode très simple permet d'éviter tout problème : partitionner les disques IDE en les branchant sur le premier port IDE ou alors en spécifiant la géométrie translatée BIOS en paramètre au noyau lors du boot. Vous pourrez ensuite les rebrancher sur le second port sans problèmes.




 
next up previous
Next: Exemple de problèmes Up: Et Linux ? Previous: LILO et l'option «linear»
Djalil Chafaï