_Ceux disposant d'une version Debian supérieure à Wheezy (7), [cette page](https://wiki.evolix.org/HowtoCustomDebianLiveCD) vous correspondra plus_

Ce Howto permet de créer un liveCD personalisé de Debian. Cela peut être utile dans le cas où vous devez utiliser une version plus récente d'un paquet lors de l'installation (à cause de périphérique non détectés par exemple).

### Préparation

Nous allons utiliser l'outil Debian Live Helper pour construire le live CD :

~~~
# aptitude install live-helper
~~~

On créé le répertoire dans lequel on va travailler :

~~~
mkdir ~/livecd
~~~

### Personalisation du live CD

La commande `lh_config` permet de créer le répertoire _config/_ qui contient toute la configuration du live CD :

## Options utiles

* `--apt aptitude` : permet d'utiliser aptitude à la place d'apt lors de l'installation ;
* `-a amd64` : permet de définir l'architecture du live CD (par défaut celle de la machine sur laquelle il est créé ;
* `--debian-installer netinst` : permet d'inclure l'installateur netinstall dans le live CD ;
* `--packages "paquets1 paquets2..."` : liste des paquets à installer;
* `--linux-packages ""` :

~~~
lh_config
~~~

## Ajout de dépôts personnalisés

Il est possible d'ajouter des dépôts à utiliser dans le répertoire _config/chroot_sources/_ :

~~~
echo 'deb <http://www.backports.org/debian/> lenny-backports main contrib non-free' > config/chroot_sources/lenny-backports.chroot
~~~

Le _.chroot_ indique que le dépôt sera utilisé uniquement lors de la création du live CD. Pour que le dépôt soit utilisé également lors de l'exécution du live CD (inscrit dans le sources.list du live CD), utilisez l'extension _.binary_.

## Ajout de paquets personnalisés

Si les paquets à intégrer au live CD ne sont pas présents dans un dépôt, il suffit de les déposer dans le répertoire _config/chroot_local-packages/_

## Définition de la langue et du clavier

~~~
lh_config --bootappend-live "locale=en_US.UTF-8 keyb=fr"
~~~

## Installation d'un noyau linux depuis testing

*NOTE :* Il n'est apparemment pas possible d'utiliser le noyau présent dans lenny-backports à cause d'une incompatibilité avec squashfs-tools. On utilise donc le noyau en testing.
~~~
lh_config -d lenny --linux-packages 'linux-image-2.6 aufs-modules-2.6' --bootloader grub --debian-installer netinst
~~~

~~~
wget '<http://ftp.fr.debian.org/debian/pool/main/l/linux-2.6/linux-image-2.6.32-3-amd64_2.6.32-9_amd64.deb'> -P config/chroot_local-packages/
wget '<http://ftp.fr.debian.org/debian/pool/main/s/squashfs-tools/squashfs-tools_4.0-8_amd64.deb'> -P config/chroot_local-packages/
~~~
*FIXME :*

* trouver comment faire de l'apt-pinning avec live helper : si on ajoute le dépôt testing dans _config/chroot_sources/_, tous les paquets sont pris dans ce dépôt ;
* actuellement, le kernel utilisé par défaut reste celui de lenny, et il faut utiliser grub comme bootloader pour pouvoir choisir manuellement le kernel lenny-backports => trouver l'option / la manip qui permette de définir le kernel par défaut.

### Création du live CD

Il suffit simplement d'exécuter `lh_build` :

~~~
lh_build
~~~

*NOTE :* ne pas oublier de faire un `lh_clean` avant de réexécuter `lh_build`, sous peine d'avoir des erreurs du type :

~~~
mv: ne peut évaluer `chroot/xxx.orig': Aucun fichier ou dossier de ce type
~~~

Une image iso du live CD est créée dans binary.iso.

### Test du live CD

Test du live CD en utilisant qemu :

~~~
qemu -cdrom ~/livecd/binary.iso
~~~

### Gravure

Une fois l'image prête, pour la graver :

~~~
wodim -dev /dev/cdrom binary.iso
~~~

### Documentation

[<http://live.debian.net/manual/html/>]
