Clé USB amorçable Combo

Objectif

Cette procédure permet d'obtenir une clé USB ou un disque dur USB externe amorçable (bootable) contenant un très grand nombre d'outils, démarrant bien plus rapidement qu'un CD ou DVD, et avec la possibilité éventuelle de mémoriser les réglages par défaut modifiés (pour Backtrack, Knoppix et Ubuntu) et d'ajouter des paquets dans le cas d'Ubuntu.

Les outils retenus sont :

Sauvegardes / Partitions

Récupération / Outils

Sécurité

  • Backtrack : LiveCD Linux dédié aux audits de sécurité (réseau, Wi-Fi …),

Live CDs Linux

  • Knoppix : LiveCD Linux à usage général,
  • PC Linux OS : LiveCD Linux à usage général,
  • SliTaz : LiveCD Linux compact à chargement rapide,
  • Toutou Linux : LiveCD Linux compact à chargement rapide (version françisée de Puppy Linux),
  • Ubuntu Live : version LiveCD de Ubuntu (CD "Desktop" servant également à l'installation),

On ajoutera également un menu graphique plus sympathique que la ligne de commandes de boot, qui restera néanmoins accessible.

Chacun des outils pourra être omis si on ne le souhaite pas ou si la capacité du support USB est insuffisante. Il suffira alors de ne pas effectuer l'étape de copie des fichiers pour cet outil, et de l'enlever des fichiers de démarrage et menu de SysLinux, décrits à la fin de ce document.

La totalité des outils sans la persistance de Knoppix et Ubuntu nécessite un peu moins de 4 Go.

La procédure décrite ici nécessite des connaissances relativement avancées en terme d'utilisation d'outils de partitionnement, formatage, installation, et une certaine pratique des commandes système (Linux ou Windows)

ATTENTION : Ubuntu Live n'est pas destiné à la base à fonctionner sur une clé USB, et les nombreux accès en écriture de Gnome notamment sont susceptibles d'affecter la durée de vie de la clé. Une clé supporte de 10000 (clé Multi Level Cell) à 100000 (clé Single Level Cell) cycles d'effacement / écriture en moyenne. Les distributions dédiées au fonctionnement sur clé sont plus adaptées (les dérivés de Knoppix ou Slax). Cette restriction ne s'applique pas pour les disques dur externes USB.

Partitionner le support USB

Cette étape permet d'obtenir une, deux ou trois partitions distinctes sur le support USB :

  • la première partition, obligatoire, contiendra la partie bootable et l'ensemble des outils, et pourra aussi servir d'unité de stockage externe classique. Cette partition sera au format FAT32, afin de pouvoir booter avec SysLinux, et pour être reconnue sous Windows pour le stockage externe. Si on souhaite pouvoir mettre à jour la partie bootable par la suite lors des mises à jour des outils, il est préférable que cette partition n'utilise pas un accès disque LBA, qui pourrait faire échouer le boot. De ce fait, il est souhaitable que sa taille soit au maximum de 4 à 8 Go.
  • la deuxième partition, optionnelle, permettra de stocker les paramètres et paquets ajoutés à Knoppix et Ubuntu Live. Elle sera au format EXT2, et n'apparaîtra ni sous Windows, ni sous Ubuntu Live (qui y accèdera exclusivement en la masquant).
  • l'éventuelle troisième partition, FAT32, pour un support USB de grande taille (disque dur ou clé de grande capacité), afin de maintenir la première partition FAT32 à 4 Go par exemple. Cette partition pourra également héberger le fichier de stockage persistant de Knoppix ("home" Knoppix).

Les trois partitions doivent impérativement être créées en temps que partitions principales et non logiques.

La procédure de création des partitions sous Linux (version réelle ou LiveCD) est expliquée plus loin.

Remarque : en règle générale Windows (XP, Vista, 7) semble présenter toutes les partitions FAT32 créés sur un disque USB externe. Dans le cas contraire, la dernière partition FAT32 sera rendue accessible, et sera donc celle dédiée au stockage, de plus grande capacité. Si seule la dernière partition est accessible sous Windows, les opérations d'installation de SysLinux et de copie des fichiers de la partition bootable devront être réalisées sous Linux. Dans le cas des clés USB, seule la première partition est rendue accessible, il est donc intéressant d'optimiser sa taille pour avoir de l'espace de stockage additionnel.

AVERTISSEMENT IMPORTANT : dans la suite, on suppose que "/dev/sdb" représente le chemin Linux de votre support USB, ce qui sera généralement le cas sur une machine équipée d'un seul disque dur. Ne pas effectuer les manipulations sans remplacer "/dev/sdb" par le chemin du support USB, sous peine de détruire des partitions du ou des disques durs internes existants.

Exemple 1 - Clé USB de 4 Go, pas de persistance Knoppix / Ubuntu

Dans ce cas, créer une seule partition FAT32 de 4 Go.

Exemple 2 - Clé USB de 8 Go, avec persistance Knoppix / Ubuntu

  • partition principale : FAT32, 6 Go
  • deuxième partition : ext2, 2 Go

Exemple 3 - Disque dur USB externe de 80 Go, avec persistance Knoppix / Ubuntu

  • partition principale (boot) : FAT32, 8 Go
  • deuxième partition : ext2, 4 Go
  • troisième partition : FAT32 (ou NTFS, ou ext2 au choix), le reste du disque comme espace de stockage (environ 68 Go). Sous Windows, il est possible que cette partition masque la première partition FAT32 (boot), qui ne se verra donc pas attribuer de lettre de lecteur.

Partition FAT32 de boot

Cette partition peut être créée indifféremment sous Windows (via le Gestionnaire de disques), sous Linux (avec fdisk, depuis un système Linux réel installé ou un LiveCD), ou avec des programmes de partitionnement tels que Partition Expert, Acronis Disk Director, Partition Manager, GParted ou QtParted (certains d'entre eux supportent les disques dur externes USB, mais pas les clés USB).

Elle devra simplement être de type principale, au format FAT32, active (bootable), et de préférence ne pas dépasser 4 à 8 Go pour éviter les problèmes d'accès LBA avec SysLinux (il est possible de créer une partition plus grande, mais la mise à jour éventuelle ultérieure du gestionnaire de démarrage et SysLinux risque d'échouer, nécessitant un reformatage total du support).

Veiller à formater la partition en FAT32.

Remarque : il semble parfois délicat d'installer SysLinux sur une partition ayant déjà un contenu. Dans certains cas, le support ne bootera pas correctement. Il est donc préférable de formater la partition, puis d'y installer SysLinux avant tout autre contenu.

Partition EXT2

Cette partition principale EXT2 peut être créée avec n'importe quel logiciel de partitionnement, mais doit être formatée à partir d'une distribution ou d'un LiveCD Linux (possédant mkfs) en fixant très précisément son nom à "casper-rw" en minuscules, sans quoi la persistance d'Ubuntu Live ne fonctionnera pas.

Pour maintenir la persistance d'Ubuntu Live et pouvoir installer des paquets supplémentaires, une taille minimale de 512 Mo à 1 Go est recommandée pour cette partition. Sur un disque dur USB de capacité supérieure, on pourra utiliser une taille de 2 Go ou plus pour conserver une marge évolutive supplémentaire.

Partition FAT32 (ou autre) secondaire

Si le support USB est de grande capacité, et que l'on a limité la taille de la partition FAT32 principale, cette partition FAT32 occupe le reste de la capacité disponible, et pourra servir comme unité de stockage USB externe classique aussi bien sous Windows que sous Linux. Veiller à ne pas créer une partition logique, mais une principale.

Créer les partitions sous Linux - procédure détaillée

Cette procédure doit s'effectuer depuis un terminal avec les droits root.

Remarque : sous diverses distributions Linux, on peut utiliser GParted pour réaliser ces opérations graphiquement.

  • connecter la clé ou le support USB,
  • déterminer le nom "/dev/…" du support USB : fdisk -l,
  • vérifier si le support a été monté automatiquement : mount,
  • si oui, démonter les partitions du support USB, par exemple : umount /dev/sdb1, umount /dev/sdb2,
  • lancer fdisk sur le support USB externe fdisk /dev/sdb. ATTENTION : ne pas se tromper ici, au risque de détruire le contenu du disque dur réel et non pas celui du support USB,
  • détruire toutes les partitions existantes avec la commande "d". Utiliser la commande "p" pour afficher les partitions existantes,
  • lorsque toutes ont été supprimées, taper "n" pour créer chacune des partitions, en mode primaire ("p"), en donnant les numéros croissants (1, puis 2, …). Choisir pour chacune la taille requise,
  • activer (rendre bootable) la première partition : commande "a", puis "1",
  • écrire la table de partitions et quitter fdisk : commande "w",
  • si les partitions créées ont été montées, éjecter le support USB puis le reconnecter pour forcer un bon rafraîchissement de la table des partitions par le système,
  • vérifier les partitions : fdisk -l.

Formatage des partitions :

Il peut être réalisé sous Windows (Panneau de Configuration, Options d'administration, Gestion de l'ordinateur, Gestionnaire de disques) ou Linux pour les FAT32, et sous Linux pour les partitions ext2.

Sous Linux :

  • démonter les partitions montées (umount comme précédemment),
  • FAT32 : mkfs.vat -F 32 -n xyz /dev/sdb1 (remplacer sdb1 par le nom de partition, et xyz par le label qui lui sera affecté),
  • ext2 : mkfs.ext2 -b 4096 -L xyz /dev/sdb2 (remplacer sdb2 par le nom de partition, et xyz par le label qui lui sera affecté). Pour un formatage compatible avec la persistance Ubuntu, utiliser la commande mkfs.ext2 -b 4096 -L casper-rw /dev/sdb2, le label de la partition doit absolument être "casper-rw" en minuscules.

Rendre le support bootable avec SysLinux

Utiliser SysLinux pour pouvoir amorcer le support USB

Télécharger et installer SysLinux (version 3.36 ou ultérieure), soit sous Windows, soit sous Linux. Sous Ubuntu, SysLinux est disponible directement dans les dépôts (paquet "syslinux").

Exécuter SysLinux sur la partition FAT32 principale (attention à la dénomination du support USB externe pour ne pas écraser l'une des partitions du disque dur interne) :

Sous Linux :

syslinux -f /dev/sdb1         # par exemple si /dev/sdb1 représente la partition du support USB

Sous Windows :

syslinux -f G                 # par exemple si G: représente la lettre du support USB

L'option "-f" peut être omise avec une clé USB, mais est requise pour un disque dur USB externe.

boot de SysLinux

Depuis la distribution SysLinux, copier les fichiers suivants sur la racine de la partition FAT32 de boot :

  • chain.c32
  • memdisk
  • menu.c32
  • vesamenu.c32

(Sous Ubuntu, si SysLinux est installé via les dépôts, ces éléments sont dans le répertoire /usr/lib/syslinux).

Avertissement concernant SysLinux

Dans la suite, de nombreux fichiers de démarrage (kernel et RamDisk) des différents outils seront copiés :

  • soit à la racine du support USB, en leur donnant un nom unique,
  • soit dans un sous-répertoire dédié pour éviter les "collisions" entre les différents outils. Il en effet courant que le kernel s'appelle "vmlinuz" et le RamDisk "initrd.gz" pour de très nombreux systèmes.

SysLinux impose des restrictions drastiques concernant ces fichiers, sans quoi le démarrage risque d'échouer :

  • leur nom devrait respecter la norme MS-DOS "8.3" : 8 caractères maximum, avec une extension éventuelle de 3 caractères maximum. (Ce n'est plus forcément une nécessité absolue avec les versions récentes de SysLinux, mais il est préférable de s'y tenir pour éviter des problèmes de démarrage).

Ceci explique que dans la suite, les noms sont souvent abrégés.

Ajout d'un système - Principe général

Dans la suite, l'ajout d'un système au support USB utilise toujours la procédure suivante :

  • copie des répertoires particuliers du système en question, qui ne doivent pas entrer en conflit avec un autre système déjà installé (si deux systèmes ont des répertoires de même nom, il faudra opter pour un seul des deux systèmes),
  • sauf exception (système avec un démarrage spécial), copie à la racine du support USB ou dans un sous-répertoire dédié du "kernel" et "RamDisk" du système pour que SysLinux puisse le démarrer, en leur donnant un chemin (répertoire ou nom) unique,
  • ajout aux fichiers de configuration de SysLinux des commandes permettant de démarrer le système installé. Pour simplifier, les fichiers de configurations complets avec l'ensemble des systèmes ajoutés sont fournis à la fin du document. Les commandes de démarrage sont en principe directement issues des fichiers syslinux.cfg ou isolinux.cfg du système d'origine (dans certains cas, les commandes issues du "isolinux.cfg" d'un CD bootable nécessitent l'ajout de paramètres pour fonctionner sur un support USB).

Dans la procédure, lorsque l'on indique "copier le répertoire XYZ à la racine du support USB", le répertoire "XYZ" doit être conservé : on le copie avec tout son contenu, il ne s'agit pas de copier son contenu uniquement.

Outils de sauvegarde et gestions des partitions

Acronis True Image 11 Home

Ignorer cette étape si on ne dispose pas de Acronis True Image 11.

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Obtenir les fichiers kernel et RamDisk de True Image est un peu plus complexe que de partir de l'image ISO bootable du "Rescue Media" que True Image peut fabriquer. Il va falloir temporairement "sacrifier" le contenu d'une clé USB (64 Mo minimum) pour obtenir les fichiers recherchés.

Après installation de votre version de True Image, brancher la clé temporaire en ayant pris soin d'avoir vidé son contenu, puis lancer le "Rescue Media Builder" de True Image, choisissez l'option "True Image full" uniquement, puis sélectionnez la clé USB. Lorsque l'opération est terminée, copier le contenu de la clé et conservez-le. Les fichiers nécessaires s'y trouvent.

  • Copier le fichier /KERN3.DAT de True Image, à la racine du support USB, en le renommant ti11lin (il s'agit du noyau Linux de boot de True Image),
  • Copier /RAMD2.DAT à la racine du support USB, en le renommant ti11rd.dat (il s'agit du RamDisk de boot de True Image).

Remarque : ces instructions seront vraisemblablement valables pour une version ultérieure en adaptant les noms des fichiers.

Acronis True Image 10 Home

Ignorer cette étape si on ne dispose pas de Acronis True Image 10.

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Obtenir les fichiers kernel et RamDisk de True Image est un peu plus complexe que de partir de l'image ISO bootable du "Rescue Media" que True Image peut fabriquer. Il va falloir temporairement "sacrifier" le contenu d'une clé USB (64 Mo minimum) pour obtenir les fichiers recherchés.

Après installation de votre version de True Image, brancher la clé temporaire en ayant pris soin d'avoir vidé son contenu, puis lancer le "Rescue Media Builder" de True Image, choisissez l'option "True Image full" uniquement, puis sélectionnez la clé USB. Lorsque l'opération est terminée, copier le contenu de la clé et conservez-le. Les fichiers nécessaires s'y trouvent.

  • Copier le fichier /KERN3.DAT de True Image, à la racine du support USB, en le renommant ti10lin (il s'agit du noyau Linux de boot de True Image),
  • Copier /RAMD2.DAT à la racine du support USB, en le renommant ti10rd.dat (il s'agit du RamDisk de boot de True Image).

Acronis Disk Director 10

Ignorer cette étape si on ne dispose pas de Acronis Disk Director 10.

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Obtenir les fichiers kernel et RamDisk de Disk Director est un peu plus complexe que de partir de l'image ISO bootable du "Rescue Media". Comme pour True Image, il va falloir temporairement "sacrifier" le contenu d'une clé USB (64 Mo minimum) pour obtenir les fichiers recherchés.

Après installation de votre version de Disk Director, brancher la clé temporaire en ayant pris soin d'avoir vidé son contenu, puis lancer le "Rescue Media Builder" de Disk Director, choisissez l'option "Disk Director full" uniquement, puis sélectionnez la clé USB. Lorsque l'opération est terminée, copier le contenu de la clé et conservez-le. Les fichiers nécessaires s'y trouvent.

  • Copier le fichier /dat3.dat de Disk Director, à la racine du support USB, en le renommant dd10lin (il s'agit du noyau Linux de boot de Disk Director),
  • Copier /dat2.dat à la racine du support USB, en le renommant dd10rd.dat (il s'agit du RamDisk de boot de Disk Director).

GParted

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de GParted (version LiveCD), ou accéder à son contenu avec l'outil de votre choix.

  • Copier le répertoire /live de GParted à la racine du support USB.

(Le fichier de commande SysLinux appellera directement le kernel dans ce répertoire).

Parted Magic

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de Parted Magic (version LiveCD), ou accéder à son contenu avec l'outil de votre choix.

  • Copier le répertoire /pmagic de Parted Magic à la racine du support USB.

(Le fichier de commande SysLinux appellera directement le kernel dans ce répertoire).

Outils généraux et de récupération

RIP

RIP (Recovery Is Possible) est disponible en version texte pure (RIP) ou en version avec une interface graphique minimale (RIP X Server). Les deux versions vont être incorporées au support USB "combo".

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de RIP (version 7 et ultérieure), ou accéder à son contenu avec l'outil de votre choix.

  • Créer un répertoire "rip" à la racine du support USB,
  • Y copier les fichiers suivants de RIP : initrd.gz, kernel, kernel64, rootfs.cgz, situés dans le répertoire /boot.

RIP X Server

RIP (Recovery Is Possible) est disponible en version texte pure (RIP) ou en version avec une interface graphique minimale (RIP X Server). Les deux versions vont être incorporées au support USB "combo".

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de RIP (version 7 et ultérieure), ou accéder à son contenu avec l'outil de votre choix.

  • Créer un répertoire "ripx" à la racine du support USB,
  • Y copier les fichiers suivants de RIP : initrd.gz, kernel, kernel64, rootfs.cgz, situés dans le répertoire /boot.

System Rescue CD

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de System Rescue CD, ou accéder à son contenu avec l'outil de votre choix.

  • Copier le répertoire bootdisk de System Rescue CD à la racine du support USB,
  • Créer un répertoire sysrcd à la racine du support USB,
  • Copier /isolinux/rescuecd dans ce répertoire sysrcd (il s'agit du noyau Linux de boot de System Rescue CD),
  • Copier /isolinux/rescue64 dans ce répertoire sysrcd (il s'agit du noyau Linux 64 bits de boot de System Rescue CD),
  • Copier /isolinux/initram.igz dans ce répertoire sysrcd (il s'agit du RamDisk de boot de System Rescue CD).
  • Copier le fichier /sysrcd.dat de System Rescue CD à la racine du support USB.

Ultimate Boot CD

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de Ultimate Boot CD 4, ou accéder à son contenu avec l'outil de votre choix.

  • Copier les répertoires boot, custom, dosapps, images et menus de UBCD à la racine du support USB.
  • Il n'y a pas ici de fichier kernel et RamDisk à copier, le système de démarrage de Ultimate Boot CD étant différent. Le menu SysLinux personnalisé se chargera de démarrer le lanceur.

MemTest86+

Tous les fichiers sont copiés sur la partition FAT32 de boot.

  • Sur le site de MemTest86+, aller sur la page de téléchargement, sélectionner la dernière version "Pre-Compiled Bootable Binary", et la télécharger,
  • Copier le fichier "memtest86+xxx.bin" (xxx change avec la version) de l'archive à la racine du support USB, en le renommant mt86plus.

Outils de sécurité

Backtrack 3

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de Backtrack, ou accéder à son contenu avec l'outil de votre choix. On peut également utiliser l'image pour clé USB de Backtrack, plus complète, pour obtenir le contenu.

  • Copier le répertoire BT3 de Backtrack à la racine du support USB. Les scripts make_iso.bat et make_iso.sh de ce répertoire peuvent être supprimés si l'image USB de Backtrack est utilisée,
  • Copier le fichier /boot/vmlinuz dans le répertoire BT3 (il s'agit du noyau Linux de boot de Backtrack),
  • Copier le fichier /boot/initrd.gz dans le répertoire BT3 (il s'agit du RamDisk de boot de Backtrack).

Backtrack 4

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de Backtrack, ou accéder à son contenu avec l'outil de votre choix. On peut également utiliser l'image pour clé USB de Backtrack, plus complète, pour obtenir le contenu.

  • Copier le répertoire BT4 de Backtrack à la racine du support USB. Les scripts make_iso.bat et make_iso.sh de ce répertoire peuvent être supprimés si l'image USB de Backtrack est utilisée,
  • Copier le fichier /boot/vmlinuz dans le répertoire BT4 (il s'agit du noyau Linux de boot de Backtrack),
  • Copier le fichier /boot/initrd.gz dans le répertoire BT4 (il s'agit du RamDisk de boot de Backtrack).

LiveCDs généraux

Knoppix

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de Knoppix, ou accéder à son contenu avec l'outil de votre choix. Remarque : ces instructions sont valables pour Knoppix 5 ou Knoppix 6.

  • Copier le répertoire /KNOPPIX à la racine du support USB,
  • Copier /boot/isolinux/linux dans le répertoire KNOPPIX du support USB (il s'agit du noyau Linux de boot de Knoppix),
  • Copier /boot/isolinux/minirt.gz dans le répertoire KNOPPIX du support USB (il s'agit du RamDisk de boot de Knoppix).

PC Linux OS

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de PC Linux OS, ou accéder à son contenu avec l'outil de votre choix.

  • Créer un répertoire pclos à la racine du support USB,
  • Copier /isolinux/vmlinuz dans ce répertoire pclos (il s'agit du noyau Linux de boot de PC Linux OS),
  • Copier /isolinux/initrd.gz dans ce répertoire pclos (il s'agit du RamDisk de boot de PC Linux OS),
  • Copier le fichier /livecd.sqfs de PC Linux OS à la racine du support USB.

SliTaz

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de SliTaz, ou accéder à son contenu avec l'outil de votre choix.

  • Créer un répertoire slitaz à la racine du support USB,
  • Copier /boot/vmlinuz* dans ce répertoire slitaz (le nom du fichier exact varie selon les versions),
  • Copier /boot/bzImage dans ce répertoire slitaz (il s'agit de l'image compressée du kernel de SliTaz),
  • Copier le fichier /boot/rootfs.gz dans ce répertoire SliTaz.

Toutou Linux

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de Toutou Linux, ou accéder à son contenu avec l'outil de votre choix.

  • Créer un répertoire toutou à la racine du support USB,
  • Copier /vmlinuz dans ce répertoire toutou (il s'agit du noyau Linux de boot de Toutou Linux),
  • Copier /initrd.gz dans ce répertoire toutou (il s'agit du RamDisk de boot de Toutou Linux),
  • Copier le fichier /pup_412toutou.sfs à la racine du support USB (le nom de fichier change suivant la version, ici la 4.12).

Ubuntu Live CD

Tous les fichiers sont copiés sur la partition FAT32 de boot.

Pour obtenir les fichiers requis : graver l'image ISO de Ubuntu (Desktop), ou accéder à son contenu avec l'outil de votre choix. Cette procédure est valable notamment pour Dapper Drake, Edgy Eft, Feisty Fawn, Gutsy Gibbon, Hardy Heron, Intrepid Ibex et pourra être adaptée aisément ultérieurement.

  • Copier les répertoires suivants du CD Ubuntu Live à la racine du support USB : .disk, casper, dists, pool, preseed,
  • Copier les fichiers suivants de la racine du CD Ubuntu à la racine du support USB : README.diskdefines, ubuntu.

Adapter la configuration de SysLinux

Tous les fichiers sont copiés ou manipulés sur la partition FAT32 de boot.

Support du menu graphique

  • Copier l'image de fond souhaitée pour le menu graphique sur la racine du support USB, en la nommant "menuback.png". Elle doit être au format PNG, et de taille 640 x 480 pixels.

Créer le fichier de configuration de SysLinux, avec le menu graphique intégré

Créer le fichier "syslinux.cfg" sur la racine du support USB, avec par exemple le contenu suivant :

DEFAULT vesamenu.c32
PROMPT 0
MENU ROWS 18
MENU TABMSGROW 24
MENU TITLE Combo Boot USB Key / ESC + F1 = Commands
MENU BACKGROUND menuback.png
DISPLAY boot.msg
F1 boot.msg

# ----------------------------------------------------------------------
LABEL mMenu
MENU DEFAULT
MENU LABEL Menu (TAB pour modifier options)
MENU GOTO .top

# ----------------------------------------------------------------------
LABEL mSauvegarde
MENU LABEL Sauvegardes / Partitions
MENU DISABLE

LABEL ti11
MENU LABEL Acronis ^True Image 11
KERNEL ti11lin
APPEND initrd=ti11rd.dat /S quiet vga=791 load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=32000

LABEL ti10
MENU LABEL Acronis True Image 10
KERNEL ti10lin
APPEND initrd=ti10rd.dat /S quiet vga=791 load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=32000

LABEL dd10
MENU LABEL Acronis ^Disk Director 10
KERNEL dd10lin
APPEND initrd=dd10rd.dat /S quiet vga=791 load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=32000

LABEL gparted
MENU LABEL ^GParted
KERNEL /live/vmlinuz1
APPEND initrd=/live/initrd1.img boot=live union=aufs noswap noprompt vga=791 ip=frommedia nolocales

LABEL gpartednofb
MENU LABEL GParted No Frame Buffer
KERNEL /live/vmlinuz1
APPEND initrd=/live/initrd1.img boot=live union=aufs noswap noprompt ip=frommedia nolocales vga=normal

LABEL parted
MENU LABEL Parted m^Agic
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initrd root=/dev/ram0 init=/linuxrc keymap=fr liveusb vga=791 sleep=0 quiet tmpfs_size=180M ramdisk_size=25000

LABEL partedvesa
MENU LABEL Parted Magic Vesa
KERNEL /pmagic/bzImage
APPEND noapic initrd=/pmagic/initrd root=/dev/ram0 init=/linuxrc keymap=fr liveusb vga=791 sleep=0 quiet xvesa tmpfs_size=180M ramdisk_size=25000

# ----------------------------------------------------------------------
MENU SEPARATOR

LABEL mRecovery
MENU LABEL Recovery / Outils
MENU DISABLE

LABEL rip
MENU LABEL ^RIP - Recovery Is Possible
KERNEL /rip/kernel
APPEND vga=normal initrd=/rip/rootfs.cgz root=/dev/ram0 rw

LABEL ripx
MENU LABEL RIP - Recovery Is Possible ^XServer
KERNEL /ripx/kernel
APPEND vga=normal xlogin initrd=/ripx/rootfs.cgz root=/dev/ram0 rw

LABEL sysrcd
MENU LABEL ^System Rescue CD
KERNEL /sysrcd/rescuecd
APPEND initrd=/sysrcd/initram.igz setkmap=fr

LABEL sysrcdvesa
MENU LABEL System Rescue CD VESA
KERNEL /sysrcd/rescuecd
APPEND initrd=/sysrcd/initram.igz setkmap=fr forcevesa

LABEL ubcd
MENU LABEL U^BCD
KERNEL menu.c32
APPEND /menus/main.cfg

LABEL mt86
MENU LABEL ^Memtest 86 Plus
KERNEL mt86plus
APPEND -

# ----------------------------------------------------------------------
MENU SEPARATOR

LABEL mSecurity
MENU LABEL Security
MENU DISABLE

LABEL bt3
MENU LABEL BackTrack ^3
KERNEL /BT3/vmlinuz
APPEND vga=0x317 initrd=/BT3/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;kdm nosound

LABEL bt3vesa
MENU LABEL BackTrack 3 Vesa
KERNEL /BT3/vmlinuz
APPEND vga=0x317 initrd=/BT3/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=kdm nosound

LABEL bt4
MENU LABEL BT^4 Beta
KERNEL /BT4/vmlinuz
APPEND vga=0x317 initrd=/BT4/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw quiet nosound

LABEL bt4nofb
MENU LABEL BT4 Beta - No FB
KERNEL /BT4/vmlinuz
APPEND initrd=/BT4/initrd.gz ramdisk_size=6666 root=/dev/ram0 rw quiet nosound

# ----------------------------------------------------------------------
MENU SEPARATOR

LABEL mLive
MENU LABEL Live CDs
MENU DISABLE

LABEL knop
MENU LABEL ^Knoppix USB
KERNEL /knoppix/linux
APPEND ramdisk_size=100000 lang=fr vt.default_utf8=0 apm=power-off vga=791 initrd=/knoppix/minirt.gz nomce quiet loglevel=0 nolapic_timer noeject noprompt home=scan myconf=scan

LABEL knopfb
MENU LABEL Knoppix USB - 800x600
KERNEL /knoppix/linux
APPEND ramdisk_size=100000 lang=fr vt.default_utf8=0 apm=power-off vga=788 xmodule=fbdev initrd=/knoppix/minirt.gz nomce quiet loglevel=0 nolapic_timer noeject noprompt home=scan myconf=scan

LABEL pclos
MENU LABEL P^C Linux OS
KERNEL /pclos/vmlinuz
APPEND livecd=livecd initrd=/pclos/initrd.gz root=/dev/rd/3 acpi=on vga=788 keyb=fr lang=fr splash=silent fstab=rw,noauto noeject

LABEL slitaz
MENU LABEL Slita^Z
KERNEL /slitaz/bzImage
APPEND initrd=/slitaz/rootfs.gz rw root=/dev/null vga=788 lang=fr kmap=fr-latin1 autologin

LABEL toutou
MENU LABEL T^Outou Linux
KERNEL /toutou/vmlinuz
APPEND root=/dev/ram0 initrd=/toutou/initrd.gz pmedia=usbflash

LABEL ubuntu
MENU LABEL ^Ubuntu USB
KERNEL /casper/vmlinuz
APPEND file=preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.gz quiet splash --

C'est ce fichier qui contient l'ensemble des commandes permettant de charger les différents outils, notamment en pointant sur le bon kernel et RamDisk de démarrage.

Le premier menu (qui effectue "GOTO .top") est une astuce qui évite un démarrage par défaut du premier choix sur certaines machines (MSI Wind avec un mot de passe BIOS par exemple, l'appui sur la touche ENTREE validant le mot de passe étant conservé et transmis au menu SysLinux).

Les différentes commandes de démarrage sont directement inspirées des fichiers "isolinux.cfg" ou "syslinux.cfg" de la version originale, avec parfois les adaptations suivantes :

  • ajout du ou des paramètres permettant le chargement depuis un support USB plutôt que le CD,
  • activation du clavier français par défaut lorsque c'est possible.

Certains outils peuvent être lancés en version normale ou VESA / nofb (VESA ou sans frame buffer). Les versions VESA / nofb doivent être utilisées en cas de problème d'affichage à l'écran sur certaines machines (cartes graphiques particulières, ultra portables avec résolution réduite …).

On peut retirer de ce fichier tous les blocs correspondants aux outils qui n'ont pas été installés sur le support USB, ou les variantes qui ne conviennent pas.

Par exemple, pour enlever Ubuntu, retirer :

LABEL ubuntu
MENU LABEL ^Ubuntu USB
KERNEL /casper/vmlinuz
APPEND file=preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.gz quiet splash --

Remarque : si on souhaite utiliser Ubuntu en Live simple, sans persistance, remplacer la section "Ubuntu" par (on retire le paramètre "persistent") :

LABEL ubuntu
MENU LABEL ^Ubuntu USB
KERNEL /casper/vmlinuz
APPEND file=preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --

Rappel

Les commandes de démarrage d'origine de chaque outil utilisant isolinux se trouvent dans l'image iso de l'outil, dans le fichier "isolinux.cfg" (à l'emplacement /boot/isolinux.cfg, /isolinux/isolinux.cfg ou /isolinux.cfg). On peut de cette manière connaître les commandes KERNEL et APPEND nécessaires.

Créer le fichier de message de boot en mode texte

Ce fichier est nécessaire si on quitte l'interface graphique au démarrage, ou si cette dernière ne peut pas démarrer sur la machine hôte.

Créer le fichier "boot.msg" sur la racine du support USB, avec par exemple le contenu suivant :

=== COMBO BOOT USB DISK (F2 / F3 : Knoppix Boot Options)                    ===
=== Backup / Partitions =======================================================
ti11            : Acronis True Image 11
ti10            : Acronis True Image 10
dd10            : Acronis Disk Director 10
gparted         : GParted (ou gpartednofb)
parted          : Parted Magic (ou partedvesa)
=== Recovery / Outils =========================================================
rip             : Recovery Is Possible
ripx            : Recovery Is Possible XServer
sysrcd          : System Rescue CD (ou sysrcdvesa)
ubcd            : Ultimate Boot CD
mt86            : memtest 86 plus
=== Security ==================================================================
bt3             : BackTrack 3 (ou bt3vesa)
bt4             : BackTrack 4 (ou bt4nofb)
=== Live CDs / Recovery =======================================================
knop            : Knoppix (ou knopfb pour 800x600)
pclos           : PC Linux OS
slitaz          : Slitaz
toutou          : Toutou Linux
ubuntu          : Ubuntu Live

ATTENTION :

  • retirer les lignes correspondant aux outils qui n'ont pas été installés sur le support USB,
  • les commandes (à gauche, "knop", "bt3", "ubuntu" … doivent correspondre aux LABEL du fichier syslinux.cfg).

Activer la persistance de Knoppix

  • Booter sur le support USB, démarrer Knoppix.
  • Lorsque Knoppix a démarré, utiliser le menu Knoppix pour créer un home persistant : sélectionner la deuxième partition du support USB (EXT2) ou la partition FAT32 secondaire si elle a été créée (ce qui laissera plus de place disponible pour la persistance d'Ubuntu), et utiliser une partie de l'espace libre, 512 Mo par exemple.

Autres outils

Il est possible d'ajouter tout autre outil qui peut être démarré par syslinux (la majorité des LiveCD qui utilisent isolinux) en suivant un processus analogue :

  • copie des éléments propres à l'outil sur le support USB (sans conflit avec des fichiers ou répertoires existants),
  • copie du noyau et du RamDisk de boot sous un nom unique ou dans un sous-répertoire dédié,
  • ajout d'une entrée "LABEL … APPEND …" dans le fichier syslinux.cfg, et rappel du LABEL dans boot.msg

Les outils qui fonctionnent notamment sont :

  • Damn Small Linux
  • Slax

Contenu sous licence   - Informations légales