Live USB et ISO en RAM

En lisant le wiki d’Archlinux pour créer une clé USB Live je suis tombé sur la méthode qui consiste à utiliser syslinux et memdisk pour charger n’importe quel ISO en RAM !

Du coup il suffit de prendre une clé USB, d’y coller syslinux, quelques ISO, un syslinux.cfg et c’est parti.

Pré-requis

Une clé USB avec une partition FAT32 ou EXT3/4, et le drapeau d’amorçage (boot flag).

Installation

Installer le paquet syslinux de votre distribution (ou télécharger la dernière version sur le site officiel). Montez votre clé USB dans /boot et lancez la commande suivante (Gare aux boulettes !):

syslinux-install_update -i -a -m /boot

Ça installe le MBR et syslinux sur la clé USB. Il reste à copier le binaire memdisk qui permettra de charger l’ISO en RAM.

cp /usr/lib/syslinux/memdisk /boot/syslinux/

Configuration

Déplacez vos ISO à la racine de votre clé USB.
Éditez /boot/syslinux/syslinux.cfg avec quelque chose comme :

UI menu.c32
PROMPT 0

MENU TITLE Boot Menu
TIMEOUT 50

LABEL arch_iso
MENU LABEL Arch Setup
LINUX memdisk
INITRD ../archlinux-2013.03.01-dual.iso
APPEND iso

LABEL pmagic
MENU LABEL PartedMagic
LINUX memdisk
INITRD ../pmagic_2013_02_28.iso
APPEND iso

LABEL wheezy
MENU LABEL DebianWheezy
LINUX memdisk
INITRD ../debian-wheezy-DI-rc1-amd64-netinst.iso
APPEND iso

Démontez /boot.
Démarrer sur la clé, choisissez une image à charger en RAM, patientez un peu, et voilà !

Notes

  • Ça ne marche pas avec toutes les distributions GNU/Linux, par exemple pour Debian, c’est à priori mort.
  • Vous pouvez personnaliser syslinux.cfg pour utiliser un menu, mettre un fond d’écran, etc.
  • Prenez garde à la RAM dont vous disposez, une image de 700Mo en prendra autant en RAM, enfin de nos jours, c’est pas la RAM qui manque 😉
  • Il existe aussi une autre technique avec gru4dos qui elle va créer une partition sur la clé et monter l’ISO.
  • Distribs testé & approuvé : Archlinux, CloneZilla, PartedMagic.
  • (Testé sur ArchLinux seulement).

2 replies on “Live USB et ISO en RAM”

  1. Et pourquoi pas dd ?

    sudo dd if=mon.iso of=/dev/sdb bs=1M

    C’est quick and dirty mais ça marche bien. Par contre cela détruit le système de fichier de la clé de sortes que l’iso est figée, il faut refaire un système de fichier pour pouvoir s’en servir de nouveau mais en attendant c’est diablement efficace.

Comments are closed.