lundi 11 février 2008

Comment améliorer et/ou personnaliser un système Debian Live pour une clef USB

Dans un post précédent je vous expliquais comment j'ai pu créer un système Debian Live bootable et le copier sur une clef USB.

La version que j'ai obtenue fonctionne, mais j'ai quelques désagréments:
  • par défaut, je n'ai pas la bonne disposition du clavier
  • par défaut, je n'ai pas la bonne locale
  • je n'ai pas mon prompt habituel (valeur de la variable d'environnement PS1)
  • je n'ai pas mes réglages habituels dans vi (tel que par exemple syntax on)
  • je n'ai pas le choix des fortunes dans fortunes-fr
Il est en fait possible, et relativement facile, de personnaliser votre installation Debian Live.

Attention, pour tout ceci, je ne branche pas ma clef USB ! Je vais dans le répertoire où j'ai effectué lh_build dans le post précédent. Chez moi c'est le répertoire /mnt/data/debian-live-usb.

Et maintenant:
Je nettoie avant de personnaliser:
[root@cobra] /mnt/data/debian-live-usb>lh_clean --binary

Je me déplace dans le répertoire chroot:
[root@cobra] /mnt/data/debian-live-usb>cd chroot

Je place la dernière version sid du paquet user-setup (que je suis allé chercher préalablement ici) dans le répertoire root:
[root@cobra] /mnt/data/debian-live-usb/chroot>cp /home/pbn/download/user-setup_1.18_all.deb root/

J'édite les fichiers que je désire personnaliser, par exemple:
etc/apt/sources.list
etc/default/rcS
etc/motd
etc/vim/vimrc


(Note: dans etc/default/rcS je conseille d'indiquer UTC=no. En effet il est fort probable que les machines sur lesquelles ja vais booter ma clef USB auront leur horloge interne à l'heure locale.)

Je rentre dans le système Debian Live avec la commande chroot:
[root@cobra] /mnt/data/debian-live-usb>chroot chroot

Je configure les quatre paquets assez importants:
# dpkg-reconfigure locales
# dpkg-reconfigure fortunes-fr
# dpkg-reconfigure tzdata
# dpkg-reconfigure console-data


J'installe le paquet user-setup que j'ai mis dans root:
# dpkg -i root/user-setup_1.18_all.deb

Je quitte le chroot:
# Ctrl-D

Je remonte d'un directory
cd ..

Et, enfin, je peux lancer la génération de mon image Debian Live personnalisée:
# time nice --adjustment=1 lh_binary

Quand c'est terminé, j'ai mon image binary.img, que je peux transférer sur ma clef USB:
# time dd if=binary.img of=/dev/sdX

Remarques(rappel):
  • surtout, n'exécutez pas lh_build ni lh_binary directement sur votre clef USB ! En effet, une clef USB est moins performante au niveau des temps d'accés et de la vitesse de lecture écriture. Mais surtout, les nombreuses opérations de lecture/écriture lors de la génération du système Debian Live diminuent fortement la durée de vie de votre clef USB !
  • faites très attention de ne pas vous tromper de périphérique lors de la commande dd. Si vous n'avez que des disques PATA, la clef USB sera probablement le périphérique /dev/sda. Mais si vous avez des disques SCSI ou SATA, le périphérique /dev/sda est votre premier disque dur ! Votre clef USB sera quelquechose comme /dev/sdb ou /dev/sdc ou /dev/sdd, etc... N'allez pas écrire binary.img sur votre disque dur, vous perdriez toutes vos données !
... et voilà !

Aucun commentaire: