Je résume ce que j'ai fait, desfois que certains cherchent à faire la même chose... Un jour peut-être j'écrirai un tutoriel qui décrit un peu plus en détail la marche à suivre.
Je prends dans la première partie le cas où notre BIOS ne sait pas booter sur USB, et où l'on a un système linux sur le disque interne, et GRUB installé sur ce disque interne. (voir la deuxième partie pour faire un CD)
J'ai donc installé une debian sarge sur ma clé USB. Elle est détectée sans rien faire par l'installeur.
Ensuite, il faut rebooter sur un liveCD, j'ai choisi celui d'Ubuntu car elle est basée sur debian donc les noyaux sont proches.
Il faut comme l'a dit Eric ajouter dans le fichier /etc/mkinitramfs/modules les lignes suivantes :
ehci-hcd
uhci-mod
ohci-mod
usb-storage
scsi-mod
sd-mod
puis lancer la création de l'initrd : mkinitramfs -o initrd-usb.img
Ensuite, copier le noyau Ubuntu qui est /boot/vmlinuz-2.6.version sur la partition linux du disque interne, ainsi que l'initrd que l'on vient de créer : cp /boot/vmlinuz-version /mnt/linux/boot/vmlinuz-usb cp /root/initrd-usb.img /mnt/linux/boot/initrd-usb.img
Modifier le fichier de configuration de GRUB (celui qui est installé sur le disque interne) : par exemple par la commande vim /mnt/linux/boot/grub/menu.lst
y ajouter la section qu'il faut pour booter sur notre disque dur ou clé USB, en adaptant si besoin les noms de périphériques :
title Linux sur cle USB
root (hd0,0)
kernel /boot/vmlinuz-usb root=/dev/sda1 ro
initrd /boot/initrd-usb.img
boot
et rebooter, ca devrait marcher.
Le problème avec cette méthode est que l'on est obligé d'avoir un linux installé sur le disque interne, et c'est pas très pratique si l'on veut se ballader avec notre disque USB sur plusieurs machines, qui n'on que Windows par exemple.
On peut donc créer un CD de boot qui permettra de charger le noyau et l'initrd, puis de basculer sur la clé USB. La méthode en détail est décrite sur cette page du manuel de GRUB : http://www.gnu.org/software/grub/manual/html_node/Making-a-G(...)
(en anglais), que je résume ici :
mkdir cd_grub mkdir -p cd_grub/boot/grub cp /lib/grub/i386-pc/stage2_eltorito cd_grub/boot/grub
(attention le chemin peut varier d'une distrib à l'autre)
Il vous faut copier votre noyau et votre initrd (que l'on a créés précemment) dans le répertoire cd_grub/boot/ : cp /boot/vmlinuz-version /mnt/linux/boot/vmlinuz-usb cp /root/initrd-usb.img /mnt/linux/boot/initrd-usb.img
Il faut maintenant créer le fichier de configuration de GRUB, à placer dans cd_grub/boot/grub/menu.lst. Par exemple, ca pourrait ressembler à ca :
title Linux sur cle USB
root (cd)
kernel /boot/vmlinuz-usb root=/dev/sda1 ro
initrd /boot/initrd-usb.img
boot
On passe à la création de l'image ISO : mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso cd_grub
On obtient en thérorie une image grub.iso que l'on n'a plus qu'à graver sur un CD. Et en principe, cette image est bootable, et elle permet l'amorcage sur notre clé USB depuis n'importe quel ordinateur capable de booter sur un CD ;-D
Voilà ! J'ai pas testé mon mini-tutoriel, je l'ai fait d'après mes souvenirs d'il y a 10 minutes... mais à peu de chose près ca devrait marcher.
[^] # Re: oui ;)
Posté par Thomas D . En réponse au message Disque externe USB & live CD. Évalué à 2.
Je résume ce que j'ai fait, desfois que certains cherchent à faire la même chose... Un jour peut-être j'écrirai un tutoriel qui décrit un peu plus en détail la marche à suivre.
Je prends dans la première partie le cas où notre BIOS ne sait pas booter sur USB, et où l'on a un système linux sur le disque interne, et GRUB installé sur ce disque interne. (voir la deuxième partie pour faire un CD)
J'ai donc installé une debian sarge sur ma clé USB. Elle est détectée sans rien faire par l'installeur.
Ensuite, il faut rebooter sur un liveCD, j'ai choisi celui d'Ubuntu car elle est basée sur debian donc les noyaux sont proches.
Il faut comme l'a dit Eric ajouter dans le fichier /etc/mkinitramfs/modules les lignes suivantes :
ehci-hcd
uhci-mod
ohci-mod
usb-storage
scsi-mod
sd-mod
puis lancer la création de l'initrd :
mkinitramfs -o initrd-usb.img
Ensuite, copier le noyau Ubuntu qui est /boot/vmlinuz-2.6.version sur la partition linux du disque interne, ainsi que l'initrd que l'on vient de créer :
cp /boot/vmlinuz-version /mnt/linux/boot/vmlinuz-usb
cp /root/initrd-usb.img /mnt/linux/boot/initrd-usb.img
Modifier le fichier de configuration de GRUB (celui qui est installé sur le disque interne) : par exemple par la commande
vim /mnt/linux/boot/grub/menu.lst
y ajouter la section qu'il faut pour booter sur notre disque dur ou clé USB, en adaptant si besoin les noms de périphériques :
title Linux sur cle USB
root (hd0,0)
kernel /boot/vmlinuz-usb root=/dev/sda1 ro
initrd /boot/initrd-usb.img
boot
et rebooter, ca devrait marcher.
Le problème avec cette méthode est que l'on est obligé d'avoir un linux installé sur le disque interne, et c'est pas très pratique si l'on veut se ballader avec notre disque USB sur plusieurs machines, qui n'on que Windows par exemple.
On peut donc créer un CD de boot qui permettra de charger le noyau et l'initrd, puis de basculer sur la clé USB. La méthode en détail est décrite sur cette page du manuel de GRUB : http://www.gnu.org/software/grub/manual/html_node/Making-a-G(...)
(en anglais), que je résume ici :
mkdir cd_grub
mkdir -p cd_grub/boot/grub
cp /lib/grub/i386-pc/stage2_eltorito cd_grub/boot/grub
(attention le chemin peut varier d'une distrib à l'autre)
Il vous faut copier votre noyau et votre initrd (que l'on a créés précemment) dans le répertoire cd_grub/boot/ :
cp /boot/vmlinuz-version /mnt/linux/boot/vmlinuz-usb
cp /root/initrd-usb.img /mnt/linux/boot/initrd-usb.img
Il faut maintenant créer le fichier de configuration de GRUB, à placer dans cd_grub/boot/grub/menu.lst. Par exemple, ca pourrait ressembler à ca :
title Linux sur cle USB
root (cd)
kernel /boot/vmlinuz-usb root=/dev/sda1 ro
initrd /boot/initrd-usb.img
boot
On passe à la création de l'image ISO :
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso cd_grub
On obtient en thérorie une image grub.iso que l'on n'a plus qu'à graver sur un CD. Et en principe, cette image est bootable, et elle permet l'amorcage sur notre clé USB depuis n'importe quel ordinateur capable de booter sur un CD ;-D
Voilà ! J'ai pas testé mon mini-tutoriel, je l'ai fait d'après mes souvenirs d'il y a 10 minutes... mais à peu de chose près ca devrait marcher.