Ceci est une ancienne révision du document !



Attention cette page est en cours de rédaction.

Méthode de localisation du live-CD lucid 32bits 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 10.04 Edition Francophone (32bits) francophone. Elle est issue de la mise en commun de l'expérience des "créateurs d'ISO" du projet. Merci notamment à smo et titienne pour avoir rédigé la première version de cette méthode.

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

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


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 genisoimage
V_NUM=10.04 # Stand for version number
V_NAME=lucid # stand for version name
ARCH=i386 # Architecture
WD=$HOME/tmp/ubuntu # our working directory, should not interfere with anything you have
 
if [ -e $WD ] then rm -rf $WD ; mkdir -p $WD ; else mkdir $WD ; fi ;
 
mkdir $WD/tmp
 
wget -c http://cdimage.ubuntu.com/daily-live/current/${V_NAME}-desktop-${ARCH}.iso
#http://releases.ubuntu.com/karmic/ubuntu-9.10-desktop-i386.iso
 
# Going into working directory
cd $WD
mkdir $WD/mnt
sudo mount -o loop $WD/ubuntu-${V_NAME}-desktop-${ARCH}.iso $WD/mnt
mkdir $WD/extract-cd
rsync --exclude=/casper/filesystem.squashfs -av $WD/mnt/ $WD/extract-cd
 
mkdir $WD/edit
unsquashfs -d $WD/edit/. -f $WD/mnt/casper/filesystem.squashfs
sudo umount mnt
 
# Just replace archives by French ones
 
sed -i 's/archive/fr.archive/' $WD/edit/etc/apt/sources.list 
 
# We just uncomment universe and multiverse for special package. They
# will be commented out by the end of the installation dans /var/lib/apt
# will be purged to gain space.
 
sed -i -r -e 's/# (deb .* iverse)/\1/' $WD/edit/etc/apt/sources.list
 
# Preparing and entering the chroot environment
cp /etc/resolv.conf edit/etc/
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
mount -t devpts none /dev/pts
export HOME=/root
export PS1="(chroot-trad-ubuntu) $PS1"
 
# Updating repositories
aptitude update
 
# Removing unused packages
aptitude purge `dpkg -l | awk '{print $2}' | egrep "^language-pack-|^language-pack-gnome-|^language-support-|^aspell|^myspell-|^hunspell-|^wamerican$|^wbritish$|^openoffice.org-help-|^openoffice.org-hyphenation-|^openoffice.org-thesaurus-|^gimp-help-|^evolution-documentation-" | xargs`
 
# Installing packages
aptitude install language-pack-fr language-pack-fr-base gimp-help-fr language-support-fr language-support-writing-fr language-pack-gnome-fr language-pack-gnome-fr-base openoffice.org-hyphenation-fr openoffice.org-help-fr openoffice.org-l10n-fr wfrench gimp-help-fr manpages-fr manpages-fr-dev manpages-fr-extra
LANG=fr_FR.UTF-8
 
# Purging *.mo files
# May be inmproved
 
# Creating localepurge configuration file
 
cat >> /etc/locale.nopurge << EOF
####################################################
# This is the configuration file for localepurge(8).
####################################################
 
####################################################
# Uncommenting this string enables removal of localized 
# man pages based on the configuration information for
# locale files defined below:
 
MANDELETE
 
####################################################
# Uncommenting this string causes localepurge to simply delete
# locales which have newly appeared on the system without
# bothering you about it:
 
DONTBOTHERNEWLOCALE
 
####################################################
# Uncommenting this string enables display of freed disk
# space if localepurge has purged any superfluous data:
 
SHOWFREEDSPACE
 
#####################################################
# Commenting out this string enables faster but less
# accurate calculation of freed disk space:
 
#QUICKNDIRTYCALC
 
#####################################################
# Commenting out this string disables verbose output:
 
#VERBOSE
 
#####################################################
# Following locales won't be deleted from this system
# after package installations done with apt-get(8):
 
fr
fr_FR
fr_FR@euro
fr_FR.UTF-8
 
EOF
 
# Really purging locale
aptitude install localepurge
localepurge
aptitude purge localepurge
 
# Changing the name onto the 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
 
## edition de casper
sed -i 's/Desktop/Bureau/g;s/Examples/Exemples/g' /usr/share/initramfs-tools/scripts/casper-bottom/10adduser
 
## profitons en pour ajouter un saut de ligne au texte de l'icone installer ubuntu 9.10
sed -i 's/Installer RELEASE/Installer \\nRELEASE/' /usr/share/applications/ubiquity-gtkui.desktop
 
# TTY localisation 
 
dpkg-reconfigure -phigh console-setup
 
sed -i 's/Please remove the disc, close the tray (if any)/Retirez le disque, refermez le tiroir (si nécessaire)'/ /etc/init.d/casper
 
sed -i 's/and press ENTER to continue/et appuyer sur Entrée pour continuer/' /etc/init.d/casper
 
# Todo : casped-md5sum translation
 
# Live CD doesn't accept UID greater than 500
 
if [ -neq `grep '^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]:' /etc/passwd` "" ] then usermod -u 500 $login ; fi ;
if [ -neq `grep '^[^:]*:[^:]*:[12][0-9][0-9][0-9][0-9]:' /etc/passwd` "" ] then usermod -u 500 $login ; fi ;
 
KV-KB=boot/initrd.img-*
 
mkdir -p /tmp/init
mkinitramfs -o /tmp/init/initrd.gz 2.6.31-14-generic
 
## extrait
cd /tmp/init
gzip -dc initrd.gz | cpio -id
rm *.gz
 
## recompresse en lzma, specifique à karmic...
find . | cpio --quiet --dereference -o -H newc | lzma -7 > /initrd.lz
cd /
rm -R /tmp/init
 
 
# On supprime l'initrd du squashfs généré lors du changement de locale:
 
rm boot/initrd.img-2.6.31-14-generic
 
# Getting out the chroot environment
 
apt-get clean
rm -rf /tmp/*
rm -rf /var/tmp/*
rm /etc/resolv.conf
rm /etc/hosts
umount /proc
umount /sys
exit
sudo umount edit/dev
 
# Getting out the chroot environment
mv -f $WD/edit/initrd.lz $WD/extract-cd/casper/
 
# Updating the autorun.inf
 
sed -i 's/Install Ubuntu/Installer Ubuntu/' $WD/extract-cd/autorun.inf
 
# Dealing with gfxboot
 
cd $WD/extract-cd/isolinux
chmod u+w .
echo fr > lang
echo fr > langlist
cp fr.* $WD/tmp/
rm *.hlp *.tr
mv $WD/tmp/fr.* .
chmod u-w . lang langlist
 
# Creating CD 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
sed -i '/casper/d;/cryptsetup/d;/dmraid/d;/ecryptfs-utils/d;/gparted/d;/jfsutils/d;/keyutils/d;/kpartx/d;/libdebconfclient0/d;/libdebian-installer4/d;/libdmraid1.0.0.rc15/d;/libecryptfs0/d;/libntfs10/d;/libreadline5/d;/localechooser-data/d;/lupin-casper/d;/ntfsprogs/d;/python-pyicu/d;/rdate/d;/reiserfsprogs/d;/ubiquity/d;/ubiquity-casper/d;/ubiquity-frontend-gtk/d;/ubiquity-slideshow-ubuntu/d;/ubiquity-ubuntu-artwork/d;/user-setup/d;/xfsprogs/d' extract-cd/casper/filesystem.manifest-desktop
 
# Creating the squashfs
sudo rm $WD/extract-cd/casper/filesystem.squashfs
sudo mksquashfs $WD/edit $WD/extract-cd/casper/filesystem.squashfs
 
rm $WD/extract-cd/md5sum.txt
cd $WD/extract-cd && find . -type f -not -name md5sum.txt -not -path '*/isolinux/*' -print0 | xargs -0 -- md5sum > md5sum.txt
 
cd $WD/extract-cd
mkisofs -r -V "Ubuntu ${V_NUM} 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-${V_NUM}-desktop-i386-fr.iso .

Vous pouvez tester l'image avec

kvm -m 512 -enable-kvm -cdrom ubuntu-10.04-desktop-i386-fr.iso -boot d -net nic -net user -net vde

  • traduction_live_cd_tuto_ubuntu_lucid.1271783322.txt.gz
  • Dernière modification: Le 20/04/2010, 19:08
  • (modification externe)