Ceci est une ancienne révision du document !



Méthode de localisation du live-CD Jaunty en français

Dans un but de transparence, voici ci-dessous la méthode que l'on va utiliser pour créer l'ISO Ubuntu Jaunty francophone. Elle est issue de la mise en commun de l'expérience des "créateurs d'ISO" du projet et de la remise à plat par titienne pour la sortie de la version 9.04. Merci notamment à smo pour avoir rédigé la première version de cette méthode ainsi qu'à Kagou pour sa refonte totale lors de la version 8.10.

Cette méthode servira de base pour les autres versions (kubuntu, xubuntu…) francophones.

Page principale du projet : traduction_live_cd. Forum du projet : ici.


Création du live-CD Ubuntu 9.04 français

L'ensemble de ces opérations a été testé et validé depuis une Ubuntu 8.10 mais doit être valable également depuis une Ubuntu 9.04

Installation des outils nécessaires

Le paquet squashfs est nécessaire afin de pouvoir décompresser le système de fichier embarqué sur le live-cd. Le paquet mkisofs servira à la génération de l'iso finale.

sudo apt-get install squashfs-tools mkisofs

Placer l'iso de la Ubuntu 9.04 version desktop dans le répertoire personnel

cd ~
wget http://cdimage.ubuntu.com/daily-live/current/jaunty-desktop-i386.iso

Nota : ce lien est à adapter bien évidemment afin de récupérer l'image officielle.

Création d'un répertoire de travail :

mkdir ~/live
cd ~/live

Utilisation de l'image iso récupérée

Nous allons monter l'image iso, afin de pouvoir en parcourir son contenu, et nous faisons une copie locale des fichiers de l'iso afin de pouvoir les modifier.

Extraction du contenu de l'iso :

mkdir mnt
sudo mount -o loop ~/jaunty-desktop-i386.iso mnt
mkdir extract-cd
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd

Nota : nom de l'iso à adapter éventuellement

Dans la foulée nous décompressons le système de fichier embarqué dans l'iso afin de pouvoir y faire des modifications. Ce système sera celui sous lequel l'utilisateur se retrouve lorsqu'il arrive sur la session de test du live-cd. Donc c'est dans ce dernier qu'il faut agir pour ajouter des paquets, changer le fond d'écran etc.

Extraction du système :

mkdir edit
sudo unsquashfs -d edit/. -f mnt/casper/filesystem.squashfs

Pour finir, on démonte l'iso :

sudo umount mnt

Nous allons modifier le sources.list en activent les dépôts "universe" et en déactivent les dépôts sources (deb-src).

gksu gedit edit/etc/apt/sources.list

Remplacez le contenu par :

deb http://archive.ubuntu.com/ubuntu jaunty main restricted
# deb-src http://archive.ubuntu.com/ubuntu jaunty main restricted

deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
# deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu jaunty-updates main restricted
# deb-src http://archive.ubuntu.com/ubuntu jaunty-updates main restricted

## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu jaunty universe
# deb-src http://archive.ubuntu.com/ubuntu jaunty universe
deb http://archive.ubuntu.com/ubuntu jaunty-updates universe
# deb-src http://archive.ubuntu.com/ubuntu jaunty-updates universe
deb http://security.ubuntu.com/ubuntu jaunty-security universe
# deb-src http://security.ubuntu.com/ubuntu jaunty-security universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
# deb http://archive.ubuntu.com/ubuntu jaunty multiverse
# deb-src http://archive.ubuntu.com/ubuntu jaunty multiverse
# deb http://archive.ubuntu.com/ubuntu jaunty-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu jaunty-updates multiverse
# deb http://security.ubuntu.com/ubuntu jaunty-security multiverse
# deb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse

Nous allons entrer dans le système de fichier contenu dans le live-cd (et que nous avons décompressé). Mais plus encore nous allons le lancer, faire comme si le live-cd était lancé et nous y connecter. C'est ce à quoi sert un chroot. Nous allons donc nous retrouver dans l'environnement du live-cd et chacune de nos actions va avoir des répercutions sur l'iso que nous génèrerons au final. Nous allons également monter quelques répertoires afin de nous donner accès au net depuis notre chroot.

Quelques réglages préalables puis passage en chroot pour personnaliser le système :

sudo cp /etc/resolv.conf edit/etc/
sudo cp /etc/hosts edit/etc/
sudo mount --bind /dev/ edit/dev
sudo chroot edit /bin/bash
mount -t proc none /proc
mount -t sysfs none /sys
export HOME=/root

Mises à jour des dépôts

Nous sommes dans le chroot. La première étape est de mettre à jour la liste des paquets disponibles :

apt-get update

Suppression des paquets inutiles

Afin de libérer de la place on supprime les paquets linguistiques qui sont déjà installés.

apt-get remove --purge $(dpkg -l | awk '{print $2}' | egrep "language-pack|aspell-|gimp-help-|language-support-|myspell-|language-pack-gnome-|gimp-help-|thunderbird-locale-" | xargs)

Installation des paquets français

Maintenant on ajoute les paquets linguistiques pour le français :

apt-get install language-pack-fr language-pack-fr-base hunspell-fr gimp-help-fr language-support-fr language-support-translations-fr language-support-writing-fr thunderbird-locale-fr language-pack-gnome-fr language-pack-gnome-fr-base manpages-fr manpages-fr-dev openoffice.org-hyphenation openoffice.org-help-fr openoffice.org-l10n-fr wfrench gimp-help-common gimp-help-en hunspell

Suppression des .mo inutiles

On continue notre nettoyage en installant localepurge qui va permettre de supprimer toutes les locales installées pour ne garder au final que celle pour le français.

apt-get install localepurge

Ne sélectionner que fr, fr_FR, fr_fr@euro et fr_FR.UTF-8

On lance la purge et on supprime le paquet :

localepurge
apt-get remove --purge localepurge

Suppression des docs GNOME et des pages de manuels inutiles

Toujours dans notre recherche de place on supprime les fichiers de documentations et de manuel non français.

find /usr/share/gnome/help/ -depth -mindepth 2 -maxdepth 2 -type d ! \( -name "fr*" -o -name "C" -o -name "en*" -o -name "us" \) | xargs rm -rf
find /usr/share/man/ -depth -maxdepth 1 -mindepth 1 -type d ! \( -name "fr*" -o -name "man?" \) | xargs rm -rf

Modifier le nom d'utilisateur

Lorsque vous être sur le livecd, vous êtes connecté comme étant Live session user. Nous remplaceons ça par Session CD :-)

sed -i "s/Live session user/Session CD/g" /etc/casper.conf
sed -i "s/Live session user/Session CD/g" /usr/share/initramfs-tools/scripts/casper

Nota : la re-génération de initrd est nécessaire afin que soit prise en compte cette modification.

Firefox

Marque-page

Firefox 3 a ses menus en français, mais les marque-pages sont ceux de la version anglaise. Nous allons donc récupérer une archive française de firefox et en extraire les marque-pages en remplacement de ceux existant.

(cd /tmp && wget ftp://ftp.mozilla.org/pub/firefox/releases/3.0.8/linux-i686/fr/firefox-3.0.8.tar.bz2 \
&& tar jxvf firefox-3.0.8.tar.bz2 && cp -a firefox/defaults/profile/bookmarks.html /etc/firefox-3.0/profile/bookmarks.html \
&& rm -rf firefox*)

Page d'Accueil

Pour modifier la page d'accueil on doit modifier le module "ubufox" pour ne pas avoir une page d'erreur si on n'a pas de connection à internet.

/usr/share/ubufox/chrome/ubufox.jar/content/startpage.html

Autre

Modifier le "useragent" :

echo 'user_pref("general.useragent.locale", "fr-FR");' >> /etc/firefox-3.0/profile/prefs.js

Modifier le lien de "Notes de version" qui se trouve dans le menu aide de Firefox :

echo 'user_pref("app.releaseNotesURL", "http://doc.ubuntu-fr.org/jaunty");' >> /etc/firefox-3.0/profile/prefs.js

Les exemples en français

Nous remplaçons ici les exemples du live-cd officiel par ceux traduits par la communauté ubuntu-fr :

cd /usr/share/example-content
rm *
wget http://XXX.XXXXX.XXX/Exemples.tar.bz2
tar xvf Exemples.tar.bz2
rm Exemples.tar.bz2
mv Exemple/* .
rm -r Exemple
cd

Nota : cette procédure est donnée à titre d'exemple ;-)

Autres...

On corrige le nom du dossier example en exemple :

mv /etc/skel/Examples /etc/skel/Exemples
sed -i 's/Desktop/Bureau/g;s/Examples/Exemples/g' /usr/share/initramfs-tools/scripts/casper-bottom/10adduser

Clavier fr dans le tty1

dpkg-reconfigure console-setup

choisir les configuration suivante : - Generic 105-key (Intl) PC - France - France - Alternative - Pas de touche AltGr - Pas de touche « compose » - UTF-8 - # latin1 et latin5 : langues de l'Europe de l'ouest et turc - VGA - 16 - /dev/tty[1-6]

Initrd

Là nous mettons à jour le initrd afin de prendre en compte les changements fait plus haut dès qu'on touche à casper :

mkinitramfs -o /initrd.gz 2.6.28-11-generic

Nota : il faudra (voir plus loin) faire prendre en compte ce nouvel initrd par le noyau du live-cd. Sinon cela ne sert à rien ;-)

Vérifications

Recherche des logins dont l'uid est supérieur ou égal à 1000

grep '^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]:' /etc/passwd
grep '^[^:]*:[^:]*:[12][0-9][0-9][0-9][0-9]:' /etc/passwd

Si les commandes précédentes renvoient quelque chose, il faut forcer l'uid à une valeur plus faible, sinon le live-cd ne démarrera pas :

usermod -u 500 $login

nettoyage

On a fini les modifications dans le chroot donc on en sort proprement en enlevant nos traces, qui sinon se retrouveront sur le système final. Comme par exemple les paquets téléchargés qui vont gonfler inutilement la taille de notre système au final.

apt-get clean
rm -rf /tmp/*
rm /etc/resolv.conf
rm /etc/hosts
umount /proc
umount /sys
exit
sudo umount edit/dev

On récupère le initrd.gz

On récupère le initrd.gz précédemment compilé et on le place au bon emplacement afin qu'il soit utilisé par le noyau du live-cd

sudo mv edit/initrd.gz extract-cd/casper/

Remplacer les radio RhythmBox

nous allons remplacer les radio de RhythmBox par des radio française :

cp ~/mes_radio.pls edit/usr/lib/rhythmbox/plugins/iradio/iradio-initial.pls

Pour gfxboot

Ici nous allons modifier le tout premier écran qui apparait lorsque vous démarrez sur le live-cd. Nous modifions le fichier langlist afin qu'il ne propose plus le choix de toutes les langues et que celle choisi automatiquement soir le français. De plus nous créons le fichier lang qui fait en sorte que la langue d'affichage des menus soit le français.

sudo su
cd extract-cd/isolinux
echo "fr" > langlist
echo "fr" > lang
exit

Pour le manifest

chmod +w extract-cd/casper/filesystem.manifest
sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest
sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop
sudo sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop

Création du squashfs

Nous allons maintenant créer l'image de notre système de fichier que nous avons personnalisé :

sudo rm extract-cd/casper/filesystem.squashfs
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs -nolzma

Nota : la première commande peut retourner une erreur (aucun fichier). C'est juste pour s'assurer qu'on est prêt pour la deuxième commande.

Création du md5sum

Ici on reconstruit le fichier md5sum.txt qui sert lors de l'auto-vérification du cd depuis le menu de boot.

sudo -s
rm extract-cd/md5sum.txt
(cd extract-cd && find . -type f -not -name md5sum.txt -not -path '*/isolinux/*' -print0 | xargs -0 -- md5sum > md5sum.txt )
exit

Création de l'image iso finale

Il est temps de créer notre iso :

cd extract-cd
sudo mkisofs -r -V "Ubuntu 9.04 Edition Francophone" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-9.04-desktop-i386-fr.iso .

Vous pouvez maintenant tester votre image Ubuntu-Fr

  • traduction_live_cd_tuto_ubuntu_jaunty.1267435210.txt.gz
  • Dernière modification: Le 18/04/2011, 14:41
  • (modification externe)