Traduction et personalisation de:

https://wiki.ubuntu.com/LiveUsbPendrivePersistent

avertissement Note :

Ce tuto traite de Ubuntu 6.10.

  • Pour l'adapter à la version 6.06LTS, la manip est identique, il faut juste adapter le fichier syslinux.cfg comme indiqué sur le tuto anglais (lien pointant vers ltsp.seed au lieu de ubuntu.seed)

  • Pour la version 7.04, la procédure est identique à celle indiquée ici, mais un bug empêche le bon fonctionnement du mode persistant. Il existe un correctif à ce bug, en utilisant une iso modifiée.

MAJ:
Il existe maintenant un script, en cours de développement, qui simplifie considérablement cette réalisation. Allez voir ici

Introduction

Il est possible d'installer Ubuntu (Kubuntu, Xubuntu) 6.10 (Edgy) sur une clef ou un disque USB avec le mode «persistent». Ce qui fait que vous pouvez booter depuis le disque USB et garder vos modifications (patchs, applications installées, etc...) sauvegardées sur le disque USB. Ceci peux-être réalisé à partir de Linux ou Windows. Vous devez avoir une clef USB de 1GB minimum. Cette traduction à été réalisé après avoir été testé sur un disque USB Lacie Mobile USB2 de 100Go et une clef USB sans marque de 1GB. J'ai utilisé 'gparted' pour la préparation du disque USB et j'ai installé Xubuntu. Si vous installez Ubuntu ou Kubuntu, faites attentions au commentaires.

Installation d'Ubuntu sur un disque USB en utilisant Linux

Preparation du disque USB

Création des partitions

J'ai utilisé 'gparted' pour la création des partitions. Par contre cela ne suffit pas car la partition ext2 utilisé pour la persistence dois avoir un label spéciale (casper-rw).

Brancher le disque USB, lancer gparted et selectionner votre disque (sans vous tromper!).

Attention: si votre disque USB à été automatiquement 'monté' au moment de sa connexion, il faut le 'démonter'.

Je vais supposer, pour l'ensemble de ce document, que le disque à été reconnus en tant que:

/dev/sda

La commande pour le démonter est donc:

sudo umount /dev/sda

Pour une installation sur un disque dur USB (100Go) , j'ai créé 4 partitions primaires:

  • Une première partition FAT32 de 700Mo, avec le flag «actif»: C'est la partition qui contiendra le LiveUSB d'ubuntu

  • Une seconde partition EXT3 de 10Go: C'est la parititon qui contiendra les applications, patchs, etc..

  • Une quatrième SWAP d'environ 500Mo: Mais je n'ai pas encors réussi à l'activer automatiquement au démarrage de mon LiveUSD (je dois l'activer manuellement avec la commade «swapon /dev/sda3» après chaque démarrage).

  • Une troisième parition FAT32 qui utilise tout le reste du disque: Pour pouvoir y stocker la majorité de mes fichiers lorsque je connecte mon disque sur un poste windows!

Pour une installation sur une clef USB (1Go) , j'ai créé 2 partitions primaires:

  • Une première partition FAT32 de 540Mo (pour Xubuntu), pour Ubuntu prévoyer 700Mo, avec le flag «actif»: C'est la partition qui contiendra le LiveUSB d'ubuntu

  • Une seconde partition EXT3 de 480Mo: C'est la partiton qui contiendra les applications, patchs, etc..

Affectation du label 'capser-rw' à la partition ext3

L'outils gparted à déja formaté les partitions, mais il faut affecter à la partition primaire n°2 ext3 le label spécial 'casper-rw'.

On utilise la commande:

sudo e2label /dev/sda2 casper-rw

Ensuite vous pouvez déconnecter et reconnecter votre disque USB. Puis monter la partition n°1 (si ce n'est pas fait automatiquement) par la commande:

sudo mount /dev/sda1 /media/votrepointdemontage

Installer Edgy sur le disque USB

Télécharger l'image edgy (xubuntu-6.10-desktop-i386.iso, ubuntu-6.10-desktop-i386.iso) ou mettez le CD dans le lecteur si vous l'avez. Si vous utilisez une image téléchargée, vous pouvez monter directement l'ISO avec cette commande (en supposant que vous êtes dans le dossier contenant l'image):

mkdir ubuntuCD
sudo mount xubuntu-6.10-desktop-i386.iso ubuntuCD -o loop

Maintenant Affichez le dossier du CD ou ouvrez le 'ubuntuCD' et assurez-vous d'afficher les fichiers caché. (vérifiez que Voir -> Montrer les fichiers cachés est coché).

Puis copier l'ensemble des dossiers et fichiers du CDROM sur la racine de la partition n°1 de votre disque USB à l'exeption du dossier 'isolinux'.

Voici, par exemple, la liste des dossiers et fichier pour Xubuntu:

  • .disk

  • casper

  • dists

  • install

  • pics

  • pool

  • preseed

  • README.diskdefines

  • md5sum.txt

  • cdromupgrade

Vous allez rencontrer un problème quand Linux voudra copier les 'liens' (dists/stable et dists/unstable par exemple) sur votre partition en FAT32, mais comme ces liens sont inutiles vous pouvez les ignorer.

Puis aller dans le dossier 'isolinux' du CDROM Ubuntu et copier l'ensemble des fichiers de ce repertoire sur la racine de votre partition n°1 (Il n'y a donc pas de dossier 'isolinux' sur votre clef USB car tous les fichiers sont directement à la racine).

Copier ensuite les fichiers suivant sur la racine de partition n°1 de votre disque USB:

  • casper/vmlinuz

  • casper/initrd.gz

  • install/mt86plus

Vous allez donc avoir ces fichiers en double sur votre disque USB: Une fois sur votre racine et une fois dans le dossier 'capser' ou 'install'.

Renomer ensuite le fichier 'isolinux.cfg' en 'syslinux.cfg':



mv isolinux.cfg syslinux.cfg

Rendre le disque USB bootable

On va maintenant installer le bootloader 'syslinux'. Ce bootloader necessite le fichier de configuration 'syslinux.cfg'. C'est ce fichier que vous venez de renommer sur votre disque USB.

Mais nous devons modifier ce fichier pour:

  1. Prendre en compte le boot depuis un disque USB

  2. Ajouter une option pour démarrer Ubuntu en mode 'persistent'

Ouvrez le fichier 'syslinux.cfg' de votre disque USB avec votre éditeur de texte préféré, par exemple:

gedit syslinux.cfg

Puis adapter-le en suivant ces modifications (en gras) :

    DEFAULT custom
GFXBOOT bootlogo
GFXBOOT-ACCESS-OPTIONS v2 v3 m2
APPEND  file=preseed/xubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL custom
  menu label ^Start Xubuntu in persistent mode
  kernel vmlinuz
  append  file=preseed/xubuntu.seed boot=casper persistent initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL live
  menu label ^Start or install Xubuntu
  kernel vmlinuz
  append  file=preseed/xubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL xforcevesa
  menu label Start Xubuntu in safe ^graphics mode
  kernel vmlinuz
  append  file=preseed/xubuntu.seed boot=casper xforcevesa initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL check
  menu label ^Check CD for defects
  kernel vmlinuz
  append  boot=casper integrity-check initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw 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

Le choix par défaut du menu est changé en 'Custom'.

La différence essentiele ce situe dans le changement des dossiers pour accéder au noyau et initrd.gz. Donc 'casper/initrd.gz' deviens 'initrd.gz', comme 'vmlinuz'.

Attention, si vous utilisez Kubuntu ou Ubuntu, utiliser le nom de fichier preseed correspondant: kubuntu.seed ou ubuntu.seed.

Remarque:

Je n'ai pas réussis à mettre le français en langue par défaut... si quelqu'un à la solution qu'il me fasse signe.

Maintenant passons à la dernière étape, l'installation du bootloader.

Vérifiez que vous avez les packages 'syslinux' et 'mtools' d'installé. If not install it ('sudo synaptic' and select from the package list or use 'apt-get').

Vous devez démonter votre disque USB :

sudo umount /dev/sda1

Puis installer le bootload par la commande :

syslinux /dev/sda1

Remarque:

Ici j'ai rencontré un problème: J'avais déja GRUB d'installé sur ce disque, et l'installation de syslinux n'a pas supprimé GRUB (GRUB s'installe sur le MBR du disque, alors que syslinux ne s'installe que sur la partition n°1). Ce qui fait qu'au démarrage GRUB m'affichait un message d'erreur et bloquait

J'ai donc remplacé GRUB par MBR, par ces lignes de commande:

sudo apt-get install mbr

sudo install-mbr /dev/sda

Ceci a forcé la ré-installation d'un MBR et désormais au boot sur mon disque dur USB, j'ai le message:

MBR 1:

qui s'affiche, et je dois appuyer sur «1» pour booter à partir de la partion 1.

Je ne rencontre pas ce problème avec la clef USB (le message MBR s'affiche, mais il continue tout seul).

Si quelqu'un connais la ligne de commande pour booter automatiquement sur la partition n°1 sans appuyer sur 1, qu'il me fasse signe.



Re-démmarer sur le disque USB, changez des paramètres, et rebooter sur votre disque USB pour vérifier que les paramètres sont bien sauvegardé.

Voila, c'est tout.

N'oubliez pas de vérifier dans les paramètres de votre BIOS que votre PC boot bien sur l'USB (qui peux être détecté comme un disque DUR ou comme une clef USB.

Personnellement, que ce soit avec le disque Lacie Mobile USB2 ou la clef USB2 de 1Go, sur portable IBM Thinkpad ou sur portable NEC Versa, ils sont tous les deux detecté en temps que disque dur.

Je dois donc aller dans le BIOS et déclarer prioritaire le disque dur USB sur le disque interne ATA.