Outils pour utilisateurs

Outils du site


installation_opensuse_sur_dd_usb

Installation sur disque dur externe usb

(testé sur opensuse 10.1)

Cette info a déjà été postée par moi au forum d'alionet: http://www.alionet.org

Généralités

L'installation sur disque USB pose en général 3 problèmes

1- la plus ou moins bonne reconnaissance du disque USB par la carte mère et/ou par le programme d'installation

2- le choix de la méthode de démarrage: comment je vais lancer le linux du disque USB?

3- le fait que les pilotes USB ne sont pas installés assez tôt dans le processus de boot.

Pour le 1, on ne peut pas faire grand chose. J'ai pu constater que le même PC ne reconnaissait pas tous les disques USB de la même façon. A la limite, on peut essayer de créer une petite partition /boot (100Mo) sur un disque interne afin que bios, grub et chargement du kernel se fasse sur le disque interne. Mais la réussite n'est pas garantie…

Choix de la méthode de démarrage

Il y a en gros 2 méthodes:

amorçage par un autre programme d'amorçage situé sur le disque interne

On a donc un autre système d'exploitation sur le disque interne (windows et/ou linux), et c'est ce système d'exploitation qui lancera le linux du disque USB.

Une bétise à ne pas commettre: mettre l'amorce de boot dans le MBR du disque interne et faire lancer le système d'exploitation du disque interne par le linux du disque USB. Pourquoi c'est une bétise? Parce que si on débranche le disque USB, on ne peut plus lancer le système d'exploitation du disque interne. Problème classique du portable qu'on emporte en voyage sans le disque USB!

Il faut que l'amorce de boot du linux du disque USB soit placé au début de sa partition système. Par exemple, si la partition système est dans /dev/sda1, il faudra donner cette adresse à l'installation. Pour accéder à cette possibilité dans le programme d'installation, il faut cliquer sur l'onglet “expert” de la page principale d'installation, puis cliquer sur le chapitre parlant de l'amorçage.

Il faudra ensuite configurer le lanceur du disque interne pour lancer le linux du disque USB:

⇒ Windows XP par boot.ini (voir page dédiée sur ce site)

⇒ si c'est Vista: désolé, je ne l'ai pas ⇒ voir avec google

⇒ Windows par grubinstall.exe (voir page dédiée sur ce site) ou un lanceur équivalent

⇒ Linux par grub

Pour grub (linux ou windows), il faudra utiliser chainloader dans le menu.lst:

title linux sur disque USB
  root (hd1,0)
  chainloader +1

Vous utiliserez bien sûr la bonne adresse type (hd1,1).

Si vous ne savez pas comment le grub de votre disque interne reconnait le disque USB, lancez le “shell grub” et:

  • tapez “geometry” et la touche [tab] ⇒ grub vous listera tous les disques qu'il reconnait: par exemple (hd0) (hd1) (hd2)
  • si vous ne savez pas quel disque est votre disque USB, tapez “geometry (hd2)” et grub vous donnera toutes les infos sur ce qu'il appelle (hd2). Cela suffit en général pour savoir si c'est le bon disque.

amorçage par le boot du disque USB

Ce qui n'est pas facile pour l'installation de la suse sur un disque USB, c'est que les pilotes USB de linux ne sont pas implantés assez tôt dans le processus de boot, (même si le bios reconnait les disques usb dès le départ).

Résolution du problème des pilotes USB

La solution que j'ai utilisée est la suivante:

- Lors de l'installation de linux, tout se passe bien pendant la 1ère phase, jusqu'au 1er reboot.

- Il faut rebooter avec le cd d'installation et terminer la 2ème phase de l'installation. Pour rebooter avec le cd, ça change d'une version à l'autre: Il faut lancer l'installation et s'arrêter à l'une des 1ères pages qui demande si c'est une nouvelle installation. Sur cette page, il y a une option du genre “autres” pour trouver la fonction “démarrage d'un linux déjà installé”. Ne pas rebooter à la fin de l'installation.

- Passer à yast et faire:

→ système → editeur sysconfig → system → kernet → INITRD_MODULES

- Ajouter les pilotes usb sur la ligne des pilotes (séparés par des espaces):

ehci-hcd  usb-storage  scsi_mod  sd_mod  usbcore

- Puis “terminer”

Au lieu d'utiliser yast, on peut modifier directamant le fichier /etc/sysconfig/kernel), mais il ne faut pas oublier d'activer les modif en exécutant /sbin/mkinitrd (sous root en se plaçant dans le répertoire /boot) !! Car sinon, l'image chargée avec le kernel au boot ne comporterait pas les pilotes. Mais je conseille yast qui se charge de tout.

Au boot suivant, les pilotes usb sont tout de suite chargés et le kernel reconnait ainsi le disque usb. C'est ce qui permet d'installer la suse sur le disque usb.

Il y a peut-être une autre solution que je n'ai jamais utilisée, c'est la possibilité de créer une petite partition sur le disque fixe (attention à ne pas abimer windows…) et y monter le répertoire “/boot” pendant l'installation. Ainsi, les pilotes usb seraient complètement chargés avant d'accéder au disque externe. Tout au moins, je le crois.

Un dernier problème qui peut arriver avec l'installation sur un disque externe, c'est que l'affectation du nom de périphérique par linux ne doit pas changer ! Si à l'installation, le disque linux s'appelle “/dev/sda”, il ne faudrait pas que lors d'un prochain reboot il s'appelle /dev/sdb ! Donc, attention aux autres disques ou cartes mémoires usb, et attention à ne pas débrancher/rebrancher le disque linux lui-même alors qu'on est sous linux ! Quand ça coince, il suffit quelquefois de faire un “Cle-Alt-Suppr” pour que ça marche. Si ça ne marche toujours pas, il faut débrancher provisoirement tout ce qui peut interférer avec l'affectation de la bonne adresse au disque usb concerné (donc tout ce qui est: disque, lecteur de carte, clé usb, etc…). La bonne solution est de remplacer les adresses dev par “LABEL=….” ou même par “UUID=…..” du disque USB dans le fichier /etc/fstab pour le montage des partitions au boot.

Installation sur DD usb2 bootable

Cette info a déjà été postée par moi au forum d'alionet: http://www.alionet.org

Installation d'une suse linux 9.3 pro sur le disque externe usb2 d'un pc portable.

Cette solution suppose qu'on peut rendre le disque externe usb2 bootable, en ajustant dans le bios du pc l'ordre de priorité de boot des disques:

cd → disque externe → disque interne

Mode opératoire :

1-préparation

- Préparation du disque usb avec Norton Partition Magic:

  • partition linux=sda5 (formaté ext3),
  • swap=sda6 (formaté linux swap).

Rappel: dans la désignation des disques par linux:

  • sda=1er disque usb (ou scsi, ou sata),
  • sda5=1ère partition logique de la partition étendue,
  • sda6=2ème partition logique de cette même partition étendue.

Un disque dur ne supporte que 4 partitions principales, dont seulement une peut être transformée en partition étendue. On peut alors mettre autant de partitions logiques qu'on veut dans la partition étendue, ou presque (plusieurs dizaines), d'où l'intéret pour linux qui nécessite en général plusieurs partitions.

- on débranche tout du pc sauf la souris et le disque usb. Si on laisse d'autres disques durs usb, scsi ou sata branchés, il faut être sûr que le disque sur lequel on veut installer linux sera le 1er à booter ! (et il me semble que les disques sata sont prioritaires ?).

- on configure le bios pour l'ordre de priorité de boot des disques :

cd → disque externe → disque interne

2-installation de la suse 1ère partie

- on place le cd suse 9.3 dans le lecteur et on boote le pc

- on accède au menu du cd, on choisit “installation” → le programme d'installation démarre

- on choisit la langue

- apparaît une fenêtre “paramètres d'installation”

- on clique sur “partition” → nouvelle fenêtre

- on choisit “créer une config de partitionnement personnalisée”

- on choisit “partitionnement manuel pour expert”

- on choisit de mettre linux sur sda5 et le swap sur sda6 comme prévu (avec la fonction “modifier”): avec formatage et désignation du point de montage:

  • “/” pour la partition linux,
  • “/home” pour la partition /home s'il y en a une,
  • “swap” pour la partition swap.

- on valide, et on revient ainsi à la page principale “paramètre d'installation”

- on clique sur “amorçage” → nouvelle fenêtre

- on sélectionne “emplacement du secteur d'amorçage” et “modifier”

- on choisit “secteur maître d'amorçage sda” et valider

- l'ordre de démarrage des disques est correct (sda, puis hda): ça doit être conforme à l'ordre du bios (sinon ⇒ pb grub)

- on ne touche à rien d'autre, et en particulier pas à “remplacer le code dans le mbr=laisser intact” !

- à la fin de cette 1ère partie d'installation, on reboote sur le cd

3- installation de la suse 2ème partie

- au menu du cd, on choisit “installation”

- on choisit la langue

- une nouvelle fenêtre vient à l'écran: la suse a détecté la présence du linux déjà présent (bien que partiellement installée !) et demande de choisir entre:

  • nouvelle installation
  • mise à jour d'un système existant
  • réparer le système installé
  • amorcer le système installé
  • interrompre l'installation

on choisit bien sûr: “amorcer le système installé”

- l'installation de la suse 2ème partie se poursuit jusqu'au bout où on a kde en fonction

- et on reboote pour voir !!!!

4-résolution du problème usb

- on obtient le menu grub, on choisit “suse 9.3” et … elle ne trouve pas la partition sda5 !!!

- on redémarre donc avec le cd (comme ci-dessus) jusqu'à avoir kde

- on applique la recette pour charger les modules usb plus tôt dans le boot:

  • yast → système → éditeur sysconfig → system → kernet → INITRD_MODULES
  • on ajoute les modules: ehci-hcd usb-storage scsi_mod sd_mod usbcore
  • valider/terminer

- on reboote sans le cd → menu grub → choix suse 9.3 → la suse démarre ! et on se retrouve dans kde.

C'est fini, et ça marche !

installation_opensuse_sur_dd_usb.txt · Dernière modification: 2007/12/15 08:28 par tyrtamos

Outils de la page