Fabrication de la clé USB sous linux

Les commandes suivantes devront s'exécuter en superutilisateur
  1. Installer Syslinux, un bootloader qui permettra de faire démarrer la clé ; Sous Debian, faire :
    # apt-get install syslinux
  2. Télécharger la dernière version de la clé, dans un fichier image ClefAgregxxx.iso àcette adresse (initialement ce lien obsolète).
  3. Monter l'image sur un répertoire vide, par exemple /mnt/iso/ :
    # mount -o loop -t iso9660 ClefISN.iso /mnt/iso/ .
    On accède ainsi aux fichiers présents sur l'image ClefISN.iso qu'on pourra recopier sur la clé.
  4. Se procurer une clé USB et la formater en VFAT : insérer la clé et reconnaître le périphérique correspondant au moyen de la commande
    # fdisk -l
    qui affiche tous les périphériques. Supposons pour la suite que /dev/sdb corresponde à la clé. Pour la formater, entrer la commande :
    #mkdiskimage /dev/sdb 0 255 63
    (long car efface la clef) ou par ce script plus rapide téléchargeable ici (c'est une modification de mkdiskimage de wheezy):
    #mkdiskfast /dev/sdb 0 255 63
    suivie de :
    # mkfs.vfat /dev/sdb1 .
  5. Monter la clé sur un répertoire vide, par exemple /mnt/cle :
    # mount -t vfat /dev/sdb1 /mnt/cle
  6. Recopier le contenu de l'image sur la clé :
    # cp -r /mnt/iso/* /mnt/iso/.disk /mnt/cle .
  7. Remarquer le fichier /mnt/cle/vesamenu.c32 situé sur la clé. Ce fichier doit être remplacé par le fichier vesamenu.c32 fourni par syslinux. Sur une distribution Debian, il se trouve en /usr/lib/syslinux/vesamenu.c32 :
    # cp /usr/lib/syslinux/vesamenu.c32 /mnt/cle Il peut être nécessaire de rajouter de même vesamenu.c32 voire libcom32.c32, libutil32.c32 et/ou menuinfo.c32 (cela dépend des versions de syslinux).
  8. Rendre la clé démarrable :
    1. Installer le bootloader SYSLINUX sur la première partition de la clé :
      # syslinux -i /dev/sdb1
    2. Recopier le fichier mbr.bin fourni par syslinux sur le secteur d'amorçage de la clé. Sur une distribution Debian, ce fichier est en /usr/lib/syslinux/mbr.bin :
      # dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdb
    3. Ensuite marquer la première partition comme active (démarrable) :
      # parted /dev/sdb set 1 boot on
      (utiliser la commande #fdisk /dev/sdb est égalemant possible.)