====== Créer une clé USB bootable avec "System Rescue CD" et Archbang ====== ===== Prérequis ===== * dosfstools * mtools * syslinux Si ils ne sont pas installés : yaourt -S dosfstools mtools syslinux ===== Préparation de la clé USB ===== ==== Partitionnement ==== On le lance : fdisk /dev/sd[abcd] On remplace "[abcd]" par la lettre désignant la clé USB, pour l'identifier, un "**dmesg**" après l'avoir connecté devrait donner ça (dans l'exemple qui suit, la clé USB est donc /dev/sdb) : [ 285.969276] usbcore: registered new interface driver usb-storage [ 285.969278] USB Mass Storage support registered. [ 286.970933] scsi 7:0:0:0: Direct-Access Sony Storage Media 1.00 PQ: 0 ANSI: 2 [ 286.971724] sd 7:0:0:0: [sdb] 15663104 512-byte logical blocks: (8.01 GB/7.46 GiB) [ 286.972357] sd 7:0:0:0: [sdb] Write Protect is off [ 286.972364] sd 7:0:0:0: [sdb] Mode Sense: 23 00 00 00 [ 286.972967] sd 7:0:0:0: [sdb] No Caching mode page present [ 286.972970] sd 7:0:0:0: [sdb] Assuming drive cache: write through [ 286.977080] sd 7:0:0:0: [sdb] No Caching mode page present [ 286.977086] sd 7:0:0:0: [sdb] Assuming drive cache: write through [ 287.209834] sdb: sdb4 [ 287.209835] sdb4: [ 287.212232] sd 7:0:0:0: [sdb] No Caching mode page present [ 287.212237] sd 7:0:0:0: [sdb] Assuming drive cache: write through [ 287.212241] sd 7:0:0:0: [sdb] Attached SCSI removable disk Dans fdisk : - **p** : Montre la/les partitions existantes - **d** : Si une partition existe, la supprime, si plusieurs, demande le numéro de partition à supprimer. - **n** : Créer une partition * **p** : pour "Primaire" * **1** : Pour 1ere partition * **** deux fois, en laissant les champs vides, pour désigner les secteurs de début et de fin On vient de créer une partition linux qui occupe donc toute la clé USB. Si l'on souhaite utiliser l'espace libre de la clé pour stocker des données sur une machine windows, il est nécessaire de changer le type de partition est d'opter pour un type FAT, dans ce cas il suffit de choisir : - **t** : Change le type de partition (le choix de la partition n'est pas proposé si une seul présente) - **b** : Valide le type "FAT32" (la touche "L" permet d'afficher la liste des types possible) Une fois terminé on appuie sur la lettre "**w**" pour écrire notre table de partition. fdisk se terminera automatiquement après l'écriture. Il est souvent nécessaire à ce stade de déconnecter/reconnecter la clé pour que le systeme voit la nouvelle partition. ==== Formatage ==== Si le type FAT32 a été choisi : mkfs.msdos -F 32 -n LABEL /dev/sdbX Si le type linux (par défaut) à été choisi : mkfs.ext3 -n LABEL /dev/sdX On remplace "LABEL" par le nom de son choix. **(le démarrage de Archbang se basant sur le label, il est indispensable d'en mettre un)** On remplace le "X" par le numéro correspondant à la partition à formater **/!\ Attention de ne pas formater son disque dur systeme /!\** ===== Installation de syslinux ===== On commence par monter la clé USB, si besoin on crée un répertoire pour ça : mkdir /mnt/usb mount /dev/sd[abcd][1234] /mnt/usb On crée le répertoire qui va recevoir les fichiers de syslinux : mkdir /mnt/usb/syslinux Ensuite on se place dans /usr/lib/syslinux (C'est la que ce trouve les commandes que l'on va executer) cd /usr/lib/syslinux On installe syslinux sur la clé : syslinux -i /dev/sd[abcd][1234] On remplace toujours [abcd] [1234] par la lettre désignant le lecteur et le chiffre désignant la partition. On crée ensuite un MBR valide pour syslinux et on active la partition : dd conv=notrunc bs=440 count=1 if=mbr.bin of=/dev/sd[abcd] parted /dev/sd[abcd] set 1 boot on Attention sur les 2 dernières commande on indique pas le numéro de partion (ex : sdb et non sdb1) il faut également copier manuellement le fichier "vesamenu.c32" cp /usr/lib/syslinux/vesamenu.c32 /mnt/usb/syslinux Et ajouter les lignes suivante dans /mnt/usb/syslinux/syslinux.cfg (on crée le fichier si besoin, vu qu'il sera indispensable par la suite) : UI vesamenu.c32 MENU TITLE Le titre de son choix TIMEOUT 50 ===== System Rescue CD ===== On peut le télécharger sur cette page http://www.sysresccd.org/Download Un fois l'image ISO récupéré on la monte, en créant un répertoire de montage si besoin : mkdir /mnt/iso mount -o loop /chemin/vers/iso/systemrescuecd-x86-2.6.0.iso /mnt/iso/ Une fois monté, on crée le répertoire pour system rescue CD sur la clé USB : mkdir /mnt/usb/sysrescd On copie le contenu de l'image iso dans le répertoire que l'on vient de créer **(et on regroupe du même coup les différent noyaux et l'image du système dans le même répertoire)**: cp /mnt/iso/* /mnt/iso/isolinux/* /mnt/usb/sysrescd/ Maintenant on va ajouter des entrées à syslinux pour pouvoir démarrer System Rescue CD avec ses différentes options possible, et pour ça, on va se servir dans le fichier "isolinux.cfg" qui se trouve désormais dans /mnt/usb/sysrescd/isolinux.cfg . Le menu de system Rescue CD contient beaucoup d'entrées, sûrement pour s'adapter à tout le monde, mais tout le monde n'utilise au final que quelques entrées. Ici on va ajouter, à titre d'exemple, les 4 entrées qui sont sûrement les plus couramment utilisé, cependant, System Rescue CD ne se trouvant pas sur la racine de la clé, quelque soit l’entrée qui est reprise, il faut y apporter quelques modifications : * Ajouter le chemin absolu du noyau et de l'initrd, **"/sysrescd/rescuecd"** et **"/sysrescd/initram.igz"** (indispensable) * ajouter l'option **"subdir=sysrescd"** (indispensable) * ajouter l'option **"setkmap=fr"** (optionnel) Démarrage standard 32Bits : LABEL rescuecd_std MENU LABEL SystemRescueCd: default boot options LINUX /sysrescd/rescuecd INITRD /sysrescd/initram.igz APPEND scandelay=1 subdir=sysrescd setkmap=fr TEXT HELP Boot standard 32bit kernel with default options (should always work) You should use this entry if you don't know which one to use ENDTEXT Démarrage et mise en cache (le système est chargé en mémoire et on peut retirer la clé USB après le démarrage) LABEL rescuecd_docache MENU LABEL SystemRescueCd: all files cached to memory (docache) LINUX /sysrescd/rescuecd INITRD /sysrescd/initram.igz APPEND scandelay=1 subdir=sysrescd setkmap=fr docache TEXT HELP Boot standard 32bit kernel and run system from RAM (cdrom can be removed) It requires 512 MB of memory to work and takes some time during the boot process, but the cdrom can be removed and system will be faster. ENDTEXT Idem avec un noyau 64bits : LABEL rescue64_1 MENU LABEL SystemRescueCd 64Bits with default options LINUX /sysrescd/rescue64 INITRD /sysrescd/initram.igz APPEND scandelay=1 subdir=sysrescd setkmap=fr TEXT HELP Boot standard 64bit kernel with default options (should always work) ENDTEXT LABEL rescue64_2 MENU LABEL SystemRescueCd 64Bits with all files cached to memory LINUX /sysrescd/rescue64 INITRD /sysrescd/initram.igz APPEND scandelay=1 subdir=sysrescd setkmap=fr docache TEXT HELP Boot standard 64bit kernel and run system from RAM (cdrom can be removed) It requires 512 MB of memory to work and takes some time during the boot process, but the cdrom can be removed and system will be faster. ENDTEXT Si on veut faire dans le détail, on peut modifier les intitulés après "MENU LABEL" et également françiser les messages d'aides en remplaçant le texte en anglais situé entre les balises "TEXT HELP" et "ENDTEXT". J'ai également supprimé la numérotation après "MENU LABEL", puisque qu'on ne reprend pas les entrées dans l'ordre d'origine de System Rescue CD, et ajouté "64bits" après "SystemRescueCD" pour les 2 entrées de ce type, pour qu'elle soit bien différenciée dans le menu. ===== Archbang ===== Pour archbang, c'est un peu plus simple, on télécharge d'abord l'image ici http://archbang.org/download un fois téléchager on l'a monte (pensez à démonter l'image de systemrescuecd) : mount -o loop /chemin/vers/image/archbang-2012.04.30-i686.iso /mnt/iso Ensuite on copie le répertoire "arch" contenu dans l'image sur la clé USB : cp -R /mnt/iso/arch /mnt/usb/ Ensuite il ne reste plus qu'a récupérer les entrées de syslinux qui se trouve dans "/mnt/iso/arch/boot/syslinux/syslinux.cfg" et de les ajouter à notre fichier "/mnt/usb/syslinux/syslinux.cfg" Les entrées en question : LABEL archauto TEXT HELP Boot the ArchBang Linux live medium. It allows you to install ArchBang Linux ENDTEXT MENU LABEL Boot ArchBang Linux [Xorg autodetect] LINUX /arch/boot/i686/vmlinuz INITRD /arch/boot/i686/archiso.img APPEND archisobasedir=arch archisolabel=LABEL quiet LABEL arch TEXT HELP Try this option if the first doesn't work ENDTEXT MENU LABEL Boot ArchBang Linux [Vesa mode] LINUX /arch/boot/i686/vmlinuz INITRD /arch/boot/i686/archiso.img APPEND archisobasedir=arch archisolabel=LABEL quiet xorg=vesa nomodeset **On n'oublie pas pour les 2 entrées de remplacer la valeur de "archisolabel=LABEL" par le label que l'on à indiqué lors du formatage de la clé.** ===== Personnalisation ===== Si on veut mettre un joli fond à notre menu, il est possible de prendre n'importe qu'elle image, à condition qu'elle soit redimensionné à la taille exacte de 640x480 pixels (peut importe la profondeur de couleur) et d'ajouter la ligne suivant après "TIMEOUT" MENU BACKGROUND /chemin/vers/image/splash.png {{tag>clé_usb bootable archlinux}}