Obtenir un disque externe est un excellent moyen de redonner vie à des appareils plus anciens ou de vous permettre d’utiliser Linux sur une machine qui ne peut pas (ou ne veut pas) modifier le disque dur interne. Disons que vous voulez utiliser Linux dans un système à double démarrage, mais que vous n’avez pas d’espace libre sur le disque dur de votre ordinateur. Une solution consiste à utiliser une distribution Linux « active » comme Knoppix, qui peut fonctionner directement depuis un CD. Cette méthode fonctionne si elle est utilisée occasionnellement, mais présente plusieurs inconvénients sérieux :
Il vous faut encore quelques fichiers de données pour la permanence. Si vous n’utilisez que de très petits fichiers, vous pouvez utiliser des disquettes ; Pour les fichiers de taille moyenne, une clé USB peut suffire, mais aucune d’entre elles n’est idéale.
Lorsqu’on utilise des CD « actifs », il est très difficile, voire impossible, d’installer ses propres applications ou de personnaliser celles existantes.
Utiliser une distribution active ralentit les performances, notamment lorsque le démarrage détecte tous les appareils – mais aussi à l’exécution (car tout doit être chargé depuis un CD, ce qui est généralement beaucoup plus lent que de charger depuis un disque dur).
Naturellement, il existe d’autres options. Par exemple, vous pouvez acheter d’autres disques intégrés et y installer Linux. Mais il est courant que la machine n’ait probablement pas de baies pour disques disponibles (encore plus pour les ordinateurs portables, qui n’autorisent généralement qu’un seul disque dur interne).
Sinon, vous pouvez utiliser un disque plus grand au lieu de celui actuel et installer Linux dans l’espace supplémentaire que vous en avez. Cependant, c’est une option longue car elle nécessite de réinstaller le système d’exploitation existant sur le nouveau disque, de réinstaller et reconfigurer toutes les applications, puis de restaurer toutes les données.
Une meilleure solution est d’acheter un disque dur externe et d’y installer Linux. Cela permet de connecter des disques externes uniquement lorsque vous souhaitez utiliser Linux sans changer votre matériel ou logiciel existant.
Options de lecteurs amovibles
La gamme d’appareils mobiles pouvant y installer Linux va des lecteurs de disquettes aux périphériques USB flash, en passant par les disques durs USB/FireWire et bien plus encore.
Bien qu’il soit vrai que Linux peut être installé dans des dispositifs de petite capacité tels que des disquettes de 1,44 Mo ou des disquettes USB de 32 Mo, il s’agit souvent (nécessairement) de distributions spécialisées réduites, par exemple, pour sauver des installations endommagées.
Cependant, les disques durs externes offrent la plus grande flexibilité pour une distribution Linux polyvalente à un coût raisonnable.
Les disques durs externes proviennent de nombreux fabricants différents (Maxtor, Western Digital, etc.) et peuvent être disponibles en différentes tailles. Ces disques contiennent tous un boîtier externe qui contient des disques IDE standards de 3-1/2 » ou 2-1/2 ». Ces disques sont généralement connectés à l’ordinateur via USB ou IEEE1394 (FireWire).
Il existe deux versions principales de l’USB, 1.1 et 2.0. La version 1.1 a une vitesse de transfert maximale de 12 Mbit/s (mégabits par seconde), tandis que la version 2.0 supporte des vitesses de transfert allant jusqu’à 480 Mbit/s. Alors que la plupart des disques compatibles 2.0 sont rétrocompatibles avec la 1.1, il est généralement préférable d’éviter la 1.1 sauf si vous n’avez pas d’autre choix (car elle est plus lente).
La norme FireWire définit également de nombreuses vitesses possibles, mais en réalité, chaque fois que l’on parle de FireWire, on parle de « FireWire400 », qui prend en charge des transmissions allant jusqu’à 400 Mbit/s.
En termes de vitesse, il n’y a pas beaucoup de choix entre USB 2.0 et FireWire : bien que USB 2.0 affiche des vitesses plus élevées, ils sont en réalité similaires à cause des différences. Si votre ordinateur a les deux, il peut être préférable d’utiliser l’USB plutôt que FireWire (j’expliquerai pourquoi plus tard), mais si vous n’avez que FireWire, vous pouvez bien sûr choisir uniquement FireWire. Pour une flexibilité maximale, choisissez parmi un grand nombre de disques compatibles avec USB 2.0 et FireWire (par exemple, celui que j’utiliserai plus tard dans cet article).
Les cartes FireWire et USB 2.0 sont bon marché pour les ordinateurs qui ne disposent pas des ports requis, PCI (pour ordinateurs de bureau) et PCMCIA (pour ordinateurs portables) : par exemple, la carte PCMCIA FireWire que j’ai utilisée plus tard dans cet article coûtait environ 10 GBP (moins de 20 $).
Pour finir cet article, j’ai acheté un boîtier de disque dur externe de 5-1/4". C’est un pendentif très flexible qui ne comprend aucun lecteur et peut s’adapter à n’importe quel périphérique IDE standard, y compris les disques durs 3-1/2 » et les périphériques IDE 5-1/4 » comme les lecteurs CD-RW/DVD-RW. Le boîtier dispose d’une connectivité USB 2.0 et FireWire.
Pour connecter le boîtier à plateaux à mon ordinateur portable IBM Thinkpad T30, j’ai aussi acheté une carte PCMCIA FireWire (le port USB intégré ne prend en charge que l’USB 1.1).
La cartouche et la carte FireWire sont toutes deux moins chères (respectivement 50 Gbp et 10 GBP).
Pour les tests, j’ai connecté le boîtier à plateaux avec le disque IDE de 13 Go 3-1/2" que j’avais préparé – en usage réel, j’acheterais des disques de plus grande capacité, qui sont maintenant aussi très bon marché (environ 50 GBP par Go !). )
Prise en charge de Linux
Comme on pouvait s’y attendre, le support Linux pour ces plateaux est vraiment bon. Tout appareil qui respecte la norme SBP (Serial Bus Protocol) pour les « appareils à grand volume » peut être facilement utilisé avec Linux.
En général, pour permettre la prise en charge de ces dispositifs, le noyau doit prendre en charge beaucoup de choses (soit directement compilées, soit via des modules).
Pour USB et FireWire, le support des périphériques SBP est implémenté via l’émulation SCSI – c’est-à-dire que les appareils sont affichés sous Linux comme s’il s’agissait de disques SCSI. C’est une méthode courante pour abstraire les dispositifs de stockage sous Linux (par exemple, les lecteurs CD/DVD IDE sont également fréquemment connectés via l’émulation SCSI). Par conséquent, le support du noyau suivant est requis :
* Support SCSI
* Simulation SCSI
* Support des disques SCSI
De plus, selon la méthode de connexion, le support suivant peut être nécessaire :
Pour FireWire :
IEEE1394 support
OHCI1394 support
RAW1394 support
Soutien du SBP-2
Pour l’USB :
(Hôte) Support USB
Prise en charge OHCI
Soutien UHCI
Prise en charge du stockage de masse USB
Évidemment, il faut prendre en charge tout le matériel (carte graphique, etc.) de façon complètement normale, et selon la situation matérielle réelle, il se peut que vous ayez besoin d’autres modules.
Par exemple, j’utilise une carte FireWire PCMCIA (cardbus), donc je dois ajouter :
Prise en charge du PCMCIA
Prise en charge du cardbus
Installation
Maintenant que nous avons un appareil externe, nous allons commencer à y installer Linux.
La façon la plus simple d’installer Linux actuellement (à mon avis, bien sûr) est de connecter tout le matériel (ici, cela inclut la branche de la carte FireWire PCMCIA, la connexion du câble FireWire à la carte PCMCIA et au disque, et l’allumage de l’interrupteur d’alimentation du disque) ; Ensuite, démarrez l’ordinateur avec le CD d’installation de la distribution que vous avez choisie.
La distribution que j’ai choisie était Gentoo (voir les références pour les liens connexes), donc j’ai utilisé le dernier Live CD « Universal » x86 (2004.1). D’autres distributions devraient nécessiter plus ou moins d’étapes que celles décrites ici.
Une fois démarré avec le CD d’installation, il aurait dû reconnaître ton lecteur si tu as de la chance. Le lecteur doit apparaître comme un disque sous /dev/sdX, où X est une lettre minuscule commençant par « a ». Dans mon système, le disque externe est détecté comme /dev/sda, mais si vous avez d’autres disques SCSI (disques SCSI simulés), cela change ; Dans ce cas, ça pourrait être /dev/sdb ou une autre lettre. Si le disque n’est pas détecté automatiquement, d’autres étapes peuvent être nécessaires – par exemple, il se peut que vous deviez activer FireWire ou PCMCIA via l’option de démarrage, ou bien charger manuellement des modules du noyau ou autre chose de ce genre (voir la référence pour un lien vers le guide de dépannage).
Une fois le disque identifié, il devrait effectivement fonctionner comme un disque dur interne pour le reste de l’installation à considérer ; Vous devriez donc pouvoir le partitionner selon vos besoins et installer Linux comme d’habitude.
Un mot de prudence cependant : soyez prudent lorsque vous décidez où installer le bootloader (généralement GRUB ou LILO) - je recommande de ne pas l’installer dans un Master Boot Record (MBR), qui est généralement le modèle par défaut. À la place, il doit être installé dans la partition base (ou partition de démarrage, si l’on utilise un chargeur d’amorçage séparé) du disque externe.
Maintenant que Linux est installé dans l’appareil, démarrons Linux. Voici quelques conseils pour commencer ici.
Orientation
Avant de discuter du démarrage d’un nouveau disque, il y a quelques théories sur le bootloader à comprendre.
Le bootloader est généralement installé dans la MBR du premier disque dur de l’ordinateur. Lorsque le chargeur d’amorçage est invoqué (le BIOS exécute automatiquement le code dans le MBR), il affiche généralement un menu d’OS pouvant démarrer. Sélectionnez un démarrage d’OS donné.
Il y a deux choses à noter à propos de ce scénario :
* Menu de sélection du système d’exploitation (généralement) chargé depuis le disque.
* Pour démarrer le système d’exploitation, le chargeur d’amorçage doit lire le noyau concerné depuis le disque.
Puisque ce qui précède se produit avant le chargement du système d’exploitation, cela signifie que toutes les lectures de disque doivent se faire de la manière dont les appels BIOS sont effectués. Cela pose de sérieux problèmes : c’est-à-dire que pour démarrer directement le disque, votre BIOS doit supporter les disques connectés via FireWire ou USB. Cela peut souvent être vu comme une option du BIOS pour démarrer depuis ce type de disquettes. En fait, le support du BIOS FireWire est actuellement rare, mais le support USB devient assez courant. Donc, si vous utilisez une clé USB sur un ordinateur relativement récent, vous devriez pouvoir démarrer le disque directement sous Linux.
Après avoir installé GRUB dans le MBR d’un disque externe, je peux démarrer directement le disque une fois connecté via USB. Au démarrage, le disque connecté entre simplement dans le programme de configuration du BIOS. Le disque externe apparaîtra comme un disque dur normal : déplacez le disque de façon à ce qu’il précède le disque interne dans l’ordre de démarrage.
Je peux aussi installer le bootloader dans la MBR du disque interne et l’utiliser pour démarrer la clé USB (à ce stade, elle apparaît comme HD1 dans GRUB dans GRUB). Si vous utilisez FireWire, il y a une chance que le BIOS ne puisse pas démarrer directement le disque et qu’il faille faire quelques actions supplémentaires.
Heureusement, grâce à la flexibilité de Linux, si vous ne pouvez pas démarrer directement (avec une carte PCMCIA FireWire, c’est clairement mon cas !). ), il y aura des solutions assez simples. Les premières étapes de démarrage peuvent être effectuées depuis un périphérique supporté tel qu’un lecteur de disquettes, un CD, une clé USB ou une petite partition sur le disque principal, puis des opérations supplémentaires peuvent être effectuées via le disque externe.
Créer une image de démarrage
Le bootstrapping peut se faire en utilisant deux méthodes :
* Guidage à un seul étage
Le noyau démarre, installe le système de fichiers racine, puis continue l’initialisation en appelant un script d’initialisation (généralement /sbin/init).
* Autodémarrage en deux étapes (initié)
Le noyau démarre, installe le disque RAM initial (initrd) et effectue une initialisation personnalisable supplémentaire, puis installer le système de fichiers racine et procéder à l’initialisation (généralement aussi en appelant /sbin/init). Les deux méthodes ont leurs propres avantages et inconvénients.
Une étape de guidage
Pour utiliser un démarrage en une seule étape, nous devons construire un noyau qui possède tous les pilotes nécessaires pour installer le système de fichiers racine intégré
|