08Sep 2007
Préparer l'environnement de remasterisation de DSL
01:37 - By Fabien Poulard
Cet article décrit les différentes étapes nécessaires à la mise en place de l’environnement de remasterisation : obtention de l’ISO, extraction et chroot.
À propos de DSL
DSL (Damn Small Linux) est une distribution légère tenant sur une business card et bootable depuis un cd, une clée usb, ... sur des ordinateurs d’un certain âge (486 avec 16Mo de ram).
DSL est basée sur l’excellente distribution Debian ce qui permet d’utiliser certains paquets développés pour cette distribution.
Obtention de l’image ISO
L’image ISO de la distribution s’obtient facilement à partir de la page dédiée. Lors de l’écriture de cet article, la version la plus récente était la 3.4.
Placez-vous dans un répertoire dédié car la manipulation va créer une arborescence propre :
shell$ mkdir DSLRemastering shell$ cd DSLRemastering shell$ wget ftp://ftp.oss.cc.gatech.edu/pub/linux/distributions/damnsmall/current/dsl-3.4.2.iso
Extraction des fichiers de l’image ISO
L’extraction des fichiers de l’image s’effectue en deux temps :
- montage de l’image ;
- copie des fichiers.
L’image se monte à l’aide d’une "loop" :
shell$ mkdir /tmp/iso shell$ mount -t iso9660 -o loop dsl-3.4.2.iso /tmp/iso
On copie ensuite les fichiers en conservant les attributs de permission à l’aide de rsync. Il n’est pas nécessaire de copier le fichier KNOPPIX/KNOPPIX qui correspond au système de fichier compressé.
shell$ mkdir remaster-iso shell$ rsync --exclude=/KNOPPIX/KNOPPIX -a /tmp/iso remaster-iso
Extraction du système de fichier
En réalité, seul le noyau est présent dans les fichiers que nous venons de copier. Le plus gros de la distribution se situe en réalité dans le fameux et imposant fichier KNOPPIX/KNOPPIX. Nous allons devoir mettre en place une cloop (compressed loop) pour le copier. Le module correspondant n’est pas forcément présent par défaut sur votre distribution, vous devrez peut être l’installer, ainsi que les utilitaires associés.
shell$ modprobe cloop shell$ losetup /dev/cloop0 /tmp/iso/KNOPPIX/KNOPPIX shell$ mkdir /tmp/fs shell$ mount -t iso9660 /dev/cloop0 /tmp/fs
Une fois le système de fichier monté, vous pouvez le copier en préservant les informations sur les fichiers :
shell$ mkdir remaster-fs shell$ cp -a /tmp/fs/* remaster-fs
Mise en place du chroot
Vous devriez maintenant vous trouver avec les répertoires suivants dans le répertoire courant :
- remaster-iso contenant les fichiers issus de l’ISO
- remaster-fs contenant la distribution à proprement parler.
Nous allons utiliser comme racine le répertoire remaster-fs afin d’y effectuer les manipulation de customisation. Cette manipulation est appelée chrooter et n’est possible qu’avec les droits du superutilisateur :
shell$ chroot remaster-fs bash-2.05b# ls bin cdrom etc home mnt opt root tmp var boot dev floppy lib none proc sbin usr
Si jamais vous obtenez le message d’erreur suivant :
Inconsistency detected by ld.so: rtld.c: 1108: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Vous devrez désactiver le VDSO, puis réitérer la manipulation. Pour désactiver le vDSO :
shell$ echo 0 > /proc/sys/vm/vdso_enabled
About the ICS format