\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{amsmath,amssymb,amsfonts,textcomp}
\usepackage{graphicx}

\title{Personnalisation d{\textquotesingle}Ubuntu}
\author{Club des Logiciels Libres \`a la Facult\'e des Sciences de Tunis}
\date{}
\begin{document}
\maketitle

\begin{center}
 \includegraphics[bb=0 0 147 77]{clip_image002.jpg}
\end{center}

\begin{center}
 \includegraphics[bb=0 0 399 258]{JLL05.png}
\end{center}\pagebreak
\section{Introduction}
Le CLLFST a choisi la version KDE d{\textquotesingle}Ubuntu pour la
personnaliser parce que cette distribution est reconnue \^etre assez
facile et orient\'ee Desktop. Le but d{\textquotesingle}une telle
action est de pr\'eparer pour l{\textquotesingle}\'etudiant une
distribution \`a la fois Live et installable, et o\`u beaucoup de logiciels scientifiques
qui pourront \^etre utiles, sont pr\'e{}-install\'es.

\section{Pr\'esentation du travail fait}
Ubuntu, a mis \`{a} la disposition de toute la communaut\'{e} un script
{\textquotedbl}facile{\textquotedbl} pour faciliter la personnalisation
de ses distributions. C{\textquotesingle}est un kit de personnalisation
connu sous le nom: {\textquotedbl}Ubuntu Customization Kit{\textquotedbl}
(uck).\newline
Nous, pr\'esentons ici des liens qui pourrons \^etre utiles :

\begin{enumerate}
\item http://uck.sourceforge.net/
\item http://lichota.net/krzysiek/projects/ubuntu{}-livecd{}-customization/
\end{enumerate}
Vous pouvez t\'el\'echarger les fichier scripts, ou bien installer sous
Ubuntu le package uck pour pouvoir personnaliser votre distribution.\newline
D{\textquotesingle}apr\`{e}s le script, on peut personnaliser 3 \'{e}l\'{e}ments :

\begin{enumerate}
\item L{\textquotesingle}image ISO 
\item Le syst\`eme Ubuntu : rootfs (la partition racine du live CD voire
DVD) 
\item L{\textquotesingle}initrd 
\end{enumerate}
Notre Club a essay\'e en fait de personnaliser le rootfs et
l{\textquotesingle}ISO.

\section{Principe }
Ce sript permet de tout personnaliser... On essaye d{\textquotesingle}expliquer en
gros ce que le script fait sans trop entrer dans les d\'etails. On
essayera de mentionner quelques commandes parmis les les plus int\'eressantes. Pour ceux qui veulent savoir plus, il
est conseill\'e d{\textquotesingle}explorer le script. Il est lisible,
et illustre tr\`{e}s bien le m\'{e}canisme de la
personnalisation.

\subsection{Personnalisation de l{\textquotesingle}image ISO }
La personnalisation de l{\textquotesingle}image ISO se r\'eduit, \`a
l{\textquotesingle}ajout et/ou la suppression (n{\textquotesingle}est
pas conseill\'ee) de fichiers \`a/de l{\textquotesingle}image ISO. Pour
cela il faut:

\begin{enumerate}
\item monter l{\textquotesingle}image ISO
\begin{verbatim}
mkdir /mnt/iso #creer le point de montage
mount -t iso9600 -o loop /path-to-iso/image.iso /mnt/iso #monter l'ISO
\end{verbatim}

\item copier localement sur le disque dur tout les fichier que
l{\textquotesingle}ISO contient.
\begin{verbatim}
mkdir ~/tmp/remastered-root #creer le repertoire de la racine
cp -r /mnt/iso ~/tmp/remastred-iso #copier du contenu de l'ISO
\end{verbatim}

\item modification du r\'epertoire \~{}/tmp/remastered{}-iso \newline
La personnalisation de l{\textquotesingle}iso peut servir par exemple
pour l{\textquotesingle}ajout d{\textquotesingle}un Auto-run pour
windows.
\item recompresser le contenu du \~{}/tmp/remaster{}-iso :
\begin{verbatim}
mkisofs -o ~/path-to-new-live-cd/livecd.iso" \
-b "isolinux/isolinux.bin" -c "isolinux/boot.cat" \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-V fichier-decription-live-cd -cache-inodes -r -J -l
\end{verbatim} 

\end{enumerate}

\subsubsection *{Remarques}

\begin{enumerate}
\item Quelque soit la personnalisation qu{\textquotesingle}on veut faire
(iso, rootfs, initrd...), il faut commencer par l{\textquotesingle}ISO,
car toute personnalisation se r\'eduit \`a une modification
d{\textquotesingle}un ou plusieurs fichiers de l{\textquotesingle}image
ISO. 
\item La derni\`ere \'etape de la personnalisation de
l{\textquotesingle}ISO, est la toute derni\`ere \'etape de la
personnalisation. Apr\`es avoir terminer toute modification, il
\'evident que la derni\`ere chose \`a faire est celle de la compression
de l{\textquotesingle}ISO. 
\end{enumerate}
\subsection{Personnalisation de la racine (rootfs) }
La racine de la distribution est compress\'ee dans le fichier
casper/filesystem.squashfs du CD/DVD d{\textquotesingle}Ubuntu. Donc
pour personnaliser la racine, il faut tout d{\textquotesingle}abord
commencer par la personnalisation de l{\textquotesingle}ISO, car il
faut modifier le fichier filesystem.squashfs, donc modifier
l{\textquotesingle}ISO.\newline
On supposera qu{\textquotesingle}on s{\textquotesingle}est arr\^et\'e
\`a l{\textquotesingle}avant derni\`ere \'etape de la section
pr\'ec\'edente. Une fois l\`a il faut:

\begin{enumerate}
\item monter le fichier squashfs:
\begin{verbatim}
mkdir ~/tmp/squashfs-source
mount -t squashfs -o loop
~/tmp/remaster-iso/casper/filesystem.squashfs
~/tmp/squashfs-source
\end{verbatim} 

\item copier son contenu localement dans un r\'epertoire sur le disque
dur:
\begin{verbatim}
mkdir ~/tmp/remaster-root
cp -rf ~/tmp/squashfs-source/* ~/tmp/remaster-root
\end{verbatim} 

\item Une fois \`a ce stade, le r\'epertoire \~{}/tmp/remaster{}-root,
contient la racine du live CD. Pour le personnaliser facilement, la
meilleure solution est d{\textquotesingle}ex\'{e}cuter sessus des commandes
chroot\'e. Mais pour que cette racine ait acc\`es \`a l'Internet par
exemple, il est conseill\'e de pr\'eparer la racine pour cel\`a...
\item pr\'eparation de param\`etres r\'eseaux:
\begin{verbatim}
mount --bind /dev ~/tmp/remaster-root/dev
cp /etc/apt/sources.list ~/tmp/remaster-root/apt/
cp /etc/resolv.conf ~/tmp/remaster-root/etc/
\end{verbatim} 

\item execution de commandes chroot\'e:
\begin{verbatim}
chroot ~/tmp/remaster-root
\end{verbatim} 

\item Ici, on peut commencer la r\'eelle personnalisation de la racine,
en installant et d\'esinstallant des programmes, avec aptitude par
exemple. Apr\`es avoir termin\'e toutes les taches souhait\'ees,
\begin{verbatim}
exit
\end{verbatim} 

\item compresser l{\textquotesingle}ISO (la derini\`ere \'etape de la
section pr\'ec\'edente)
\end{enumerate}
\subsubsection *{Remarques}
%\liststyleLvi
\begin{enumerate}
\item Ce qu{\textquotesingle}on n'a pas pu faire, mais qui est possible
d{\textquotesingle}apr\`es ce qu{\textquotesingle}on a trouv\'e sur
Internet, lancer le Xserver de cette racine \`a personnaliser...
\item On a remarqu\'e aussi que le r\'epertoire /home
n{\textquotesingle}existe pas (c{\textquotesingle}est certainement une des raisons
qui emp\^echent le lancement du Xserver), donc pour changer
le fond d{\textquotesingle}\'ecran par d\'efaut, on
n{\textquotesingle}a pas chang\'e les fichiers de configuration de kde
(qui devrait exister sous le home du compte
{\textquotedbl}Ubuntu{\textquotedbl}) mais plut\^ot, on a \'ecras\'e
l{\textquotesingle}image de kde par notre image de fond
d{\textquotesingle}\'ecran.
\item On a constat\'e aussi que certains fichiers m\^eme si on les
modifie, ils seront \'ecras\'es car un~ script les g\'en\`ere, donc
s{\textquotesingle}il les trouve il les \'ecrase, tel que le fichier.
/etc/apt/sources.list...
\end{enumerate}

\end{document}
