• [^] # Re: oui ;)

    Posté par . En réponse au message Disque externe USB & live CD. Évalué à 2.

    J'ai réussi !

    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.