Outils pour utilisateurs

Outils du site


installation_ubuntu_sur_dd_usb

Ubuntu sur DD USB2

Attention: mes essais datent de la breezy (oct 2005) et ne correspondent peut-être plus aux versions actuelles.

Solution très inspirée de (Merci à c-cube pour ce super boulot):

http://forum.ubuntu-fr.org/viewtopic.php?id=15187

Comme pour la Suse, l'installation d'ubuntu sur un disque externe usb bloque, parce que les modules usb ne sont pas chargés assez tôt dans le processus de boot. Mais ce qui rend les choses un peu plus compliquées, c'est que le cd d'installation ne permet pas d'amorcer le linux déjà installé. On dispose à la place d'une « console de récupération » un peu comme windows xp pro.

J'utilise par ailleurs le multiboot xp parce que c'est ce qu'il y a de plus adapté à un portable. En effet, si on met grub dans le mbr du 1er disque (celui de windows), on a donc besoin du disque externe usb pour passer la main à windows ! Attention aux surprises dans les déplacements avec le portable… Une autre solution possible, c'est de demander au bios de booter directement sur le disque usb (donc, ordre de boot du bios: cd → disque usb → disque interne). Mais dans les 2 cas, on a besoin de résoudre le problème des modules usb à charger plus tôt.

On considère donc ici qu'on a réussi à passer la 1ère phase de l'installation de ubuntu (ou de kubuntu) et qu'on reboote pour continuer l'installation, et c'est là que ça coince: le système ne trouve pas la partition linux (/dev/sda5 dans mon cas). Voilà ce qu'il faut faire:

Rebooter sur le cd d'installation.

A l'invite des paramètres de boot (la ligne en bas de l'écran), faire

rescue  

Choisir langue, pays et clavier. Laisser la détection du matos. Mettre le nom de la machine.

Choisir la partition à monter en tant que root. Il s'agit en fait de la partition sur laquelle vous avez installé la 1ère partie d'ubuntu. Si vous avez bien les partitions de votre pc en tête, ce n'est pas un problème. C'est facile à deviner: disc0, c'est le 1er disque, disc1 le second, etc… Je pense que les disques usb sont à la fin (mais attention si vous avez changé l'ordre de boot: je n'ai pas essayé). Et les partitions sont numérotées. Chez moi (/dev/sda5 = 2ème disque), c'était :

/dev/discs/disc1/part5  

On arrive sur un écran bleu avec une ligne en bas. On fait « Cle-Alt-F2 » et [retour] et on a une console.

On tape:

mount -t proc proc /target/proc

chroot /target  

Puis, on passe en super-utilisateur:

su
  
(mot de passe root)

On va modifier un fichier de configuration avec l'éditeur de texte « vim ». Ce n'est pas mon préféré, mais c'est le seul qu'on ait en console (et il est puissant à défaut d'être pratique) :

vim /etc/mkinitramfs/modules  

On se met en insertion avec la touche… [inser] !

On ajoute les modules usb suivants:

ehci-hcd

usb-storage

scsi_mod

sd_mod  

(ce sont en fait les mêmes modules que pour la Suse, à part usbcore qui n'est pas chargé)

On sort du mode insertion avec la touche [echap]

On appelle le mode commande du bas de l'écran avec la touche [:]

On tape [X] et [retour] et c'est fini pour l'instant avec vim (ouf…)

Ce n'est pas suffisant, parce que le fichier image (initrd.img) qui est chargé avec le kernel au boot ne sait pas encore qu'il doit charger ces modules. Il faut le mettre à jour.

On prend d'abord note du numéro de version du noyau linux en faisant:

ls /lib/modules  

Chez moi, c'était le 2.6.12-9-386. Notez le vôtre.

Faites alors (en remplaçant mes numéros par les vôtres !):

mkinitramfs -o /boot/initrd.img-2.6.12-9-386-usb /lib/modules/2.6.12-9-386  

C'est fait, il ne reste plus qu'à demander à grub de charger le bon fichier image !

Avant cela, on peut lister les partitions actuelles en faisant (le paramètre est un “L” miniscule) :

fdisk -l  

On repasse ensuite à vim (désolé):

vim /boot/grub/menu.lst  

On se déplace vers la fin du fichier pour trouver en fait ce qui sera la 1ère ligne du menu grub. Chez moi, ça ressemble à ça:

title           Ubuntu, kernel 2.6.12-9-386

root            (hd1,4)

kernel          /boot/vmlinuz-2.6.12-9-386 root=/dev/sda5 ro quiet splash

initrd          /boot/initrd.img-2.6.12-9-386

savedefault

boot 

Vous vérifiez que le disque cité par root est le bon ((hd1,4) dans mon cas). Bien entendu, grub ne nomme pas les disques de la même façon que linux, ce serait trop simple: ils numérote tout à partir de zéro (disques et partitions), et il ne tient aucun compte du caractère ide ou usb des disques. Dans mon cas, (hd1) est bien le 2ème disque, et (hd1,4) est bien sa 5ème partition (1ère partition logique de la partition étendue) !

Sur la ligne kernel, vous vérifiez que le disque cité après « root= » est le bon (nommé cette fois « à la linux » : /dev/sda5 dans mon cas).

Vous ajoutez le « -usb » au nom initrd.img-2.6.12-9-386 pour donner initrd.img-2.6.12-9-386-usb, en faisant la même chose avec vim que tout à l'heure (dont [X] et [retour] pour sortir de vim).

Vous êtes de nouveau dans la console, tapez:

exit  

Retirez le cd d'installation

Et redémarrez avec un sauvage « Cle-Alt-Suppr » !

Au reboot, ça marche ! Et vous pouvez ainsi terminer correctement l'installation.

A noter que quand je l'ai fait, 1h plus tard dans la mise à jour par le web, il m'a mis un nouveau kernel (2.6.12-10-386) et j'ai eu un moment d'inquiétude en pensant qu'il faudrait que je recommence. Et bien non ! Dans la mise à jour du kernel (et donc de l'image initrd.img), il a tenu compte du chargement des modules usb ! Chapeau !

installation_ubuntu_sur_dd_usb.txt · Dernière modification: 2007/12/15 08:32 par tyrtamos

Outils de la page