Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Comment installer Ubuntu sur une clé ou un disque USB en mode persistant

le principe d'un système live (Live CD ou Live USB (depuis_une_cle_usb)) est de ne pas toucher aux disques de la machine. Ce qui fait qu'à l'arrêt de la machine vous perdez toutes vos données accumulées pendant la session "live".

Avec le mode persistant il est possible de garder vos modifications (patchs, applications installées, etc.)

fonctionnement théorique:

  • fonctionnement d'un liveCD ou live USB: les données du système d'exploitation qui sont sur le CD sont compressées et accessibles qu'en lecture, or le système d'exploitation a besoin d'écrire. Pour cela au démarrage un ramdrive (disque virtuel dans la ram) est monté. et avec le système de UnionFS (en) on assemble les 2 systèmes de fichiers: les lectures se feront sur le cd et les écritures dans le ramdrive. Coté utilisation tout est transparent.
  • avec le mode persistant au lieu d'utiliser un ramdrive on utilise un système de fichiers sur un disque dur ou une clé USB. Du coup ces données pourront être retrouvées après le redémarrage de la machine.

2 solutions s'offrent à vous:

  • la partition
  • le fichier contenant un système de fichiers

Au cours de la procédure nous allons prendre comme exemple le cas d'un liveUSB: avec une clé de 1Gio et le système live mis dessus (environ 700Mio)

Pré-requis

  • Installer les paquets syslinux mtools mbr
  • Savoir que les grosse bandes noires sont à copier coller dans un terminal en remplaçant X par la lettre que vous trouverez juste après.

Préparation des partitions

Cette solution consiste à créer une partition au format ext2 ou ext3 ayant le nom (label) "casper-rw".

l'intérêt de cette solution est qu'il est possible de monter la 2eme partition en ext2 sous windows avec ext2fsd.

Avant de commencer je vous conseille de débrancher tout autre appareil de stockage usb que vous pouvez avoir sur votre ordinateur (appareil photo, clé usb, disque dur externe)

Voici l'exemple avec notre clé USB de 1Gigaoctet.

Utilisation de fdisk.

Lecture des informations de la clé :

sudo fdisk -l

Les premières lignes correspondent à votre disque principal, vous devez lire une ligne ressemblant à Disk /dev/sdX: 1031 MB (dans le cas de ma clef 1 Go).

Le X représente la lettre que vous devez repérer (a b ou c), tout le long du tutoriel, vous devrez remplacer X par la lettre que vous obtenez !

Démontage de la clé:

sudo umount /dev/sdX*

Une première partition FAT32 de 750Mo, avec le flag “actif” : C'est la partition qui contiendra le LiveUSB d'Ubuntu.

sudo fdisk /dev/sdX

Afficher la table de partition:

  1. —> p:afficher la table de partitions
  2. —> d:détruire la partition

Partition N°1:

  1. —> n:ajouter une nouvelle partition
  2. —> p:créer une partition primaire
  3. —> 1:partition numéro 1
  4. —> 1:du premier cylindre
  5. —> +750M:jusqu'à 750Mo
  6. —> a:activer la partition
  7. —> 1:choix de la partition
  8. —> t:choisir le format de partition
  9. —> b:partition FAT32

Partition N°2:

  1. —> n:ajouter une nouvelle partition
  2. —> p:créer une partition primaire
  3. —> 2:partition numéro 2
  4. —> xxx:choisir le premier cylindre disponible derrière la première partition (faites "Entrée" pour commencer la nouvelle partition juste derrière la première)
  5. —> xxx:jusqu'au dernier cylindre (faites "Entrée" pour utiliser tout l'espace restant sur la clé usb)
  6. —> w:écrire la table sur le disque et quitter

Faites dans un terminal:

sudo umount /dev/sdX*

Formater la 1ère partition en fat32

sudo mkfs.vfat -F 32 -n ubuntu /dev/sdX1

Formater la 2ème partition en ext2 ou ext3: Ext2(peut créer de grosses corruptions du système de fichiers):

sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdX2

Ext3(marche mieux, mais prend plus de place …):

sudo mkfs.ext3 -L casper-rw /dev/sdX2

Puis créer le secteur de démarrage:

sudo install-mbr /dev/sdX

Si vous obtenez "sudo: install-mbr: command not found", exécutez d'abord:

sudo apt-get install mbr

Ensuite passez à l'installation du système de base.

Le principe est de créer à la racine d'une partition (une partition de clé usb de disque dur ou autre, tant qu'elle est au format fat, ext2 ou ext3) un fichier nommé "casper-rw" que l'on va formater en ext2 ou ext3.

L'intérêt de cette solution est que la clé usb ne contient qu'une partition :

  • meilleur compatibilité avec des systèmes anciens, légers ou embarqués.
  • possibilité de changer la taille du fichier c'est à dire la taille affectée au root persistant FIXME

Pour notre clé USB

On part du principe que la clé USB est formatée en fat (fat16 ou 32) et qu'elle contient l'installation live de (k)(x)ubuntu (voir installation depuis_une_cle_usb).

  • environ 700Mio sont pris par le système du liveUSB (moins pour xubuntu)
  • donc nous allons créer un fichier de 250Mio
dd if=/dev/zero of=/media/cleUSB/casper-rw bs=1M count=250

si la clé usb est montée dans le dossier /media/cleUSB/

mkfs.ext2 -L casper-rw /media/cleUSB/casper-rw

ou

mkfs.ext3 -L casper-rw /media/cleUSB/casper-rw

Répondez "oui" à la question.

  • Montez l'image iso de la version d'Ubuntu que vous voulez (gutsy par exemple) grâce à gmount-iso
  • Montez les partitions de votre clé usb (débranchez puis rebranchez votre clé)
  • Ouvrez le répertoire de votre iso montée et rendez visibles les fichiers cachés (ctrl + H dans nautilus)
  • Dans la partition FAT32 (pour la reconnaître, elle est totalement vide, celle en ext2 ne l'est pas) copiez tout le contenu de l'image iso sauf le dossier isolinux (ce n'est pas grave si vous avez des messages d'erreurs, faites juste Ignorer)
  • Dans l'image iso ouvrez le dossier isolinux et copiez tout son contenu à la racine de la partition FAT32
  • Dans l'image iso ouvrez le dossier casper et copiez les fichiers vmlinuz et initrd.gz à la racine de la partition FAT32
  • Créez le fichier syslinux.cfg dans la partition FAT32 et insérez-y ce texte:
DEFAULT persistent
GFXBOOT bootlogo
GFXBOOT-BACKGROUND 0xB6875A
APPEND  locale=fr_FR bootkbd=fr console-setup/layoutcode=fr console-setup/variantcode=nodeadkeys file=preseed/ubuntu.seed boot=casper initrd=initrd.gz quiet splash --
LABEL persistent
  menu persistent ^Start Ubuntu 7.10 in persistent mode
  kernel vmlinuz
  append  locale=fr_FR bootkbd=fr console-setup/layoutcode=fr console-setup/variantcode=nodeadkeys file=preseed/ubuntu.seed boot=casper persistent initrd=initrd.gz quiet splash --
LABEL live
  menu label ^Start or install Ubuntu
  kernel vmlinuz
  append  locale=fr_FR bootkbd=fr console-setup/layoutcode=fr console-setup/variantcode=nodeadkeys file=preseed/ubuntu.seed boot=casper initrd=initrd.gz quiet splash --
LABEL xforcevesa
  menu label Start Ubuntu in safe ^graphics mode
  kernel vmlinuz
  append  file=preseed/ubuntu.seed boot=casper xforcevesa initrd=initrd.gz quiet splash --
LABEL driverupdates
  menu label Install with driver ^update CD
  kernel vmlinuz
  append  file=preseed/ubuntu.seed boot=casper debian-installer/driver-update=true initrd=initrd.gz quiet splash --
LABEL oem
  menu label ^OEM install (for manufacturers)
  kernel vmlinuz
  append  file=preseed/ubuntu.seed boot=casper oem-config/enable=true initrd=initrd.gz quiet splash --
LABEL check
  menu label ^Check CD for defects
  kernel vmlinuz
  append  boot=casper integrity-check initrd=initrd.gz quiet splash --
LABEL memtest
  menu label ^Memory test
  kernel mt86plus
  append -
LABEL hd
  menu label ^Boot from first hard disk
  localboot 0x80
  append -
DISPLAY isolinux.txt
TIMEOUT 300
PROMPT 1
F1 f1.txt
F2 f2.txt
F3 f3.txt
F4 f4.txt
F5 f5.txt
F6 f6.txt
F7 f7.txt
F8 f8.txt
F9 f9.txt
F0 f10.txt
  • Enregistrez le fichier
  • Dans un terminal tapez:
    sudo umount /dev/sdX1
    syslinux -f /dev/sdX1
    sudo eject /dev/sdX

Normalement c'est terminé vous pouvez enfin utiliser votre clé usb pour booter Ubuntu partout !

Principe: ajouter le paramètre persistent au noyau au démarrage

  • edgy

Au démarrage de l'ordinateur, quand le système live démarre, ajoutez l'option persistent FIXME plus de détails

  • feisty

Au démarrage de l'ordinateur, quand le système live démarre appuyez sur F6.

ajoutez l'option persistent avant les "- -"

ajouter un screenshot FIXME

Il semble qu'il y ait un bug et que la persistance ne marche pas sous feisty. ce bug est répertorié chez launchpad.net

Avec notre clé usb

Editez le fichier syslinux.cfg qui est sur la clé USB et changer la ligne append et ajoutez le mot clé persistent

avant

LABEL live
  menu label ^Start or install Ubuntu
  kernel vmlinuz
  append  file=preseed/ubuntu.seed boot=casper initrd=initrd.gz quiet splash --

après

LABEL live
  menu label ^Start or install Ubuntu
  kernel vmlinuz
  append  file=preseed/ubuntu.seed boot=casper initrd=initrd.gz quiet splash persistent --

Pour le cas d'un live cd.

Il faut extraire l'image iso du cd.

Éditez le fichier isolinux.cfg et modifiez-le de la même manière que la clé USB.

Régénérer l'image iso du CD.

  • fonctionne avec Gutsy, la procédure pourrait être simplifiée par simple copier coller, à l'arrêt du système, on pourrait supprimer le passage blocant "Please remove the disk, close the tray(if any) and press enter to continue" ; ne fonctionne que sur un PC et pas sur l'autre (même clé USB, même contenu) / marc31
  • rectification : en regénérant le MBR avec lilo, ça marche sur mon second PC (lilo -M /dev/sdX)
FIXME avant de cree votre clef-ubuntu-usb vous pouvez personnaliser la source ( le live cd : gutsy ) en ajoutant des application et même le mettre a jour aussi .

voir : http://doc.ubuntu-fr.org/personnaliser_livecd

Si le menu d'Ubuntu ne s'affiche pas, vérifiez les points suivant :

  • La partition contenant le système doit se situer dans les 8 premiers Go du disque pour que le BIOS puisse l'amorcer. Elle doit aussi être rendue amorçable (flag boot sous gparted).
  • Vous devez avoir un fichier ldlinux.sys sur la partition contenant le système. Il est créé par la commande syslinux. De même, vous devez avoir syslinux.cfg qui contient les différents options de démarrage d'Ubuntu.
Il n'est pas nécessaire de modifier le MBR du disque pour le rendre amorçable.

Si le système n'est pas persistant :

  • Vérifiez que vous avez bien un fichier casper-rw ou une partition nomée casper-rw
  • Vérifiez que l'option persistent est bien présente dans la ligne boot du menu d'Ubuntu
  • live_usb_persistent.1209458325.txt.gz
  • Dernière modification: Le 18/04/2011, 14:41
  • (modification externe)