Mettre une iso sur une clé USB pour pouvoir jouir du live et faire de l'install c'est bien, mais en mettre plusieurs c'est mieux !
Certains outils automatisés existent déjà (tels que multisystem ou encore easy2boot).
Mais bon, on est des grands garçons, on va faire ça à la main plutôt.
Aller, en piste !
Première étape : formater la clé en fat32. Je vous laisse le choix de la méthode…
gparted
plutôt que la ligne de commande, ou vous risquez de formater un partition de votre disque dur par erreur !
Ensuite, on va installer grub sur cette clé. Il faut d'abord la monter.
Bon, vous pouvez le faire en graphique (on clique dessus depuis le gestionnaire de fichiers).
Maintenant, il faut repérer le point de montage :
blkid -o list | grep vfat
/dev/sdb1 vfat /media/user_name/CFDE-4500 CFDE-4500
Donc ici c'est /media/user_name/CFDE-4500
On se place dedans :
cd /media/user_name/CFDE-4500
Ouvrir un terminal ici
, on l'utilise !
On installe grub :
grub-install --boot-directory=boot --recheck --force /dev/sdb
Placez vos iso à la racine de la clé USB ou bien, si vous avez de la place sur la clé, dans plusieurs répertoires distincts afin d'être mieux organisé.
Bien, maintenant, il va falloir télécharger une petite archive pour que le mode install se déroule sans encombre : l'initrd.gz
L'initrd est une image du RAM-disque initiale : un disque virtuel RAM configuré pour le démarrage de Linux, contenant possiblement des modules nécessaires pour monter l'image du système et certains scripts pour le faire.
Or l'initrd.gz se trouvant dans les iso standart de Debian ne convient pas pour un clé USB, elle est faite pour les supports optiques (CD/DVD). L'iso ne sera pas détecté durant l'installation, excepté si elle a été placé dans la clé à l'aide de la commande dd
ou cp
.
Sauf que nous, on veut mettre plusieurs iso sur une même clé USB…
Renommez-les en “initrd-i386.gz” et “initrd-amd64.gz” comme je l'ai fais pour éviter de les confondre ou qu'elles ne s'écrasent l'une l'autre !
De même, placez-les à la racine de la clé, ou dans un dossier…
Maintenant viens la partie technique : configurer le grub.cfg !
Utilisez votre éditeur de texte préféré :
editor boot/grub/grub.cfg
Voilà un exemple avec le DVD i386 et le DVD amd64 :
set timeout =-1 menuentry "DVD d'installation Debian Jessie i386 (mode expert)" { set isofile='/debian-8.4.0-i386-DVD-1.iso' loopback loop $isofile linux (loop)/install.386/vmlinuz priority=low initrd '/initrd-i386.gz' } menuentry "DVD d'installation Debian Jessie amd64 (mode expert)" { set isofile='/debian-8.4.0-amd64-DVD-1.iso' loopback loop $isofile linux (loop)/install.amd/vmlinuz priority=low initrd '/initrd-amd64.gz' }
ISO
, alors ce sera : set isofile='/ISO/debian-8.4.0.i386-DVD-1-ISO'
De même, si vos initrd sont dans un dossier initrd
, il faudra mettre :
initrd '/initrd/initrd-i386.gz'
priority=low
) n'est pas anodin : changer la priorité des questions de configuration
pour repasser à élevée
qui est la valeur par défaut.
priority=medium
suffisait. Donc, à part si vous êtes fans du mode expert…
Et voici un exemple avec les deux iso live xfce :
menuentry "Debian Live xfce i586" { set isofile='/debian-live-8.4.0-i386-xfce-desktop.iso' loopback loop $isofile linux (loop)/live/vmlinuz1 boot=live config fromiso=/dev/sdb1/$isofile initrd (loop)/live/initrd1.img } menuentry "Debian Live xfce i686-PAE" { set isofile='/debian-live-8.4.0-i386-xfce-desktop.iso' loopback loop $isofile linux (loop)/live/vmlinuz2 boot=live config fromiso=/dev/sdb1/$isofile initrd (loop)/live/initrd2.img } menuentry "Debian Live xfce amd64" { set isofile='/debian-live-8.4.0-i386-xfce-desktop.iso' loopback loop $isofile linux (loop)/live/vmlinuz boot=live config fromiso=/dev/sdb1/$isofile initrd (loop)/live/initrd.img }
fromiso=/dev/sdb1/$isofile
, tout comme le mode expert ci-dessus, permet d'indiquer quelle iso booter en live sans avoir à chercher sur toutes les partitions. Chez moi, ça ne bootait même pas sans cette option !
Différentes options d'amorçage sont disponibles. Certaines sont spécifiques au mode installation, d'autre au live.
Je vais vous en citer quelques unes…
isomaster
:
apt-get install masteriso
Ce logiciel vous permet d'explorer et de modifier une image iso.
Pratique non ?
Allez voir dans les images iso officielles de Debian, dans le répertoire isolinux
surtout. Mais vous pouvez aussi jeter un coup d'oeil à install
et live
, cela vous permettra de mieux comprendre l'organisation des fichiers qui permettent de faire booter l'iso…
Dupliquez un entrée, changer le titre et remplacez la ligne
linux (loop)/install.386/vmlinuz priority=low
par :
linux (loop)/install.386/gtk/vmlinuz priority=low
install.amd
au lieu de install.386
. binary
.
Rajoutez à la fin de la ligne :
rescue/enable=true
speakup.synth=soft
swap=true
toram
lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/Paris utc=yes
timezone
et utc
).
username=toto hostname=ordi
Pour avoir juste un joli splash pendant le démarrage et rien d'autre :
quiet splash noprompt
Sauf que ça commence à faire des longues lignes à chaque fois tout ça…
Du coup, on va plutôt définir les options une bonne fois pour toute au début du fichier, puis les réutiliser par la suite dans chaque entrée comme suit :
timeout=-1 set param='config lang=fr_FR.UTF-8 locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-model=pc105 timezone=Europe/Paris utc=yes username=toto hostname=ordi quiet splash noprompt' menuentry "Debian Live xfce amd64" { set isofile='/debian-live-8.4.0-i386-xfce-desktop.iso' loopback loop $isofile linux (loop)/live/vmlinuz boot=live fromiso=/dev/sdb1/$isofile $param initrd (loop)/live/initrd.img }
Et le tour est joué !