% Installation d'une Debian Woody sur Asustek A7N8X Deluxe 
% Athlon XP 2600+ (alias Bunny)

\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
%\usepackage{graphicx}
\usepackage{url}
%\usepackage{helvetic}
%\usepackage{color}
%\usepackage{hyperref}
%\usepackage{hevea}
%\usepackage{article}

\title{Installation d'une Debian Woody \\ (sur Asus A7N8X Athlon XP 2600+)}
\author{MiKa\"el NAVARRO}
\date{21 octobre 2003}

\parindent = 0 pt % no indent

\begin{document}

\maketitle

\newpage

\tableofcontents

\newpage

\section*{Introduction}

\c{C}a y est, mon nouveau PC est l\`a ! \\

Ci-dessous quelques notes que j'ai prise lors de la migration de mon ancien 
\emph{PII 400 ``Cortex''} vers mon nouveau \emph{Athlon XP 2600+ ``Bunny''} :

%\subsection*{Config ``Minus''}
%
%\begin{itemize}
%\item Carte m\`ere ??? ;
%\item Cyrix P166+ (133 MHz) ;
%\item 48 Mo de RAM ;
%\item Carte graphique S3 Trio 64V+ (PCI) ;
%\item HDD 4.3 Go IDE WDC (255 tetes, 63 secteurs, 524 cylindres) ;
%\item CD-Rom 6x ;
%\item \'Ecran 14", 800x600 ;
%\item Souris 3 boutons standard s\'erie ;
%\item Carte r\'eseau Realtek RTL-8139 (PCI) ;
%\item Imprimante Epson Stylus ESCP/2 (st800).
%\end{itemize} 

\subsection*{Config ``Cortex''}

\begin{itemize}
\item Carte m\`ere MSI 440BX, PIIX4 controller ;
\item PII 400 MHz (MMX) ;
\item 2x128 Mo SDRAM (133 MHz, double et simple face) ;
\item Carte graphique Matrox Millenium G400 Dual Head, 32Mo AGP ;
\item HDD 30 Go IDE Excelsor ;
\item DVD-Rom 8x Creative ;
\item \'Ecran ViewSonic E771 PnP 17" pitch 0.27 ;
\item Souris Logitech (trackball) 3 boutons PS/2 standard ;
\item Carte son ISA SB16 (ISA, OPL3, MPU401, DMA2/16) ;
\item Carte r\'eseau Realtek RTL-8139 (PCI) ;
\item Modem extern Olitec Speed Com 2000 (56k, V.92, port s\'erie) ;
\item HP48gx sur port s\'erie (ckermit) ;
\item Imprimante Epson Stylus C82.
\end{itemize} 

\subsection*{Config ``Bunny''}

\begin{itemize}
\item Carte m\`ere Asustek A7N8X Deluxe nForce2-ST Ultra400 (2LAN,FW,5.1,SATA) ;
\item AMD Athlon XP 2600+ (2 GHz) ;
\item 2x256 Mo DDRAM (PC2700) DualHead ;
\item Carte graphique MSI GeForce FX5600, 256 Mo AGP Pro/8x ;
\item HDD 40 Go IDE (7200 tr/min) ;
\item DVD-Rom 16x48x LG ;
\item \'Ecran ViewSonic E771 PnP 17" pitch 0.27 ;
\item Souris Logitech (trackball) 3 boutons PS/2 standard ;
\item Modem extern Olitec Speed Com 2000 (56k, V.92, port s\'erie) ;
\item Imprimante Epson Stylus C82. \\
\end{itemize} 

Les notes ci-dessous ne pr\'etendent pas pr\'esenter \emph{LA} m\'ethode d'installation
d'une Debian\footnote{cf plut\^ot http://guide.andesi.org}, mais d\'etail plut\^ot mes
m\'esaventures et quelques points d\'elicats que j'ai pu rencontrer. \\
Ces notes sont surtout l\`a pour que je me souvienne comment j'ai fait, et si en m\^eme
temps \c{c}a peut aider quelqu'un... \\

Notations : \# fait r\'ef\'erence au prompt root et \$ \`a l'utilisateur.

\clearpage

\part{Installation}

\section{D\'ebuter l'installation}

L'installation de la Debian Woody n'a pas \'et\'e sans mal...

\subsection{Premier essai (Mandrake)}

Tout d'abord l'installation \`a partir des CD-Roms de la Woody 3.0r0 c'est av\'er\'e 
impossible car la saveur (2.4.18-bf2.4) pr\'esente sur le CD-Rom \'etait trop vielle
et ne prennait pas en charge le driver IDE nForce2 pour le disque dur ;
D'apr\`es les changelogs sur kernel.org la prise en charge du chipset nForce2 n'est effectif
que depuis le noyau 2.4.21-pre4. \\

J'ai donc install\'e une Mandrake 9.1\footnote{kernel 2.4.21-13mdk patch\'e} pour 
v\'erifier la comptabilit\'e mat\'erielle avec une distribution r\'ecente : 
avec cette distribution tout fonctionne normalement, c'est d\'ej\`a \c{c}a ! \\

Seulement mon souhait \'etait d'avoir une Debian sur des partitions ReiserFS. \\
Je m'engage donc dans la lecture des docs et des forums...

\subsection{Deuxi\`eme essai (Debian floppies)}

Je r\'ecup\`ere alors des disquettes de boot \`a partir de la saveur bf2.4
pr\'esent sur le CD-Rom de la Debian (rescue.bin, root.bin, driver-[1-4].bin)
et je les copie sur des disquettes :

\begin{verbatim}
# dd if=root.bin of=/dev/fd0 bs=1024 conv=sync; sync
# dd if=driver-1.bin of=/dev/fd0 bs=1024 conv=sync; sync
# dd if=driver-2.bin of=/dev/fd0 bs=1024 conv=sync; sync
# dd if=driver-3.bin of=/dev/fd0 bs=1024 conv=sync; sync
# dd if=driver-4.bin of=/dev/fd0 bs=1024 conv=sync; sync
\end{verbatim}

\`A partir de ma Mandrake, je compile un nouveau noyau (2.4.22) :

\begin{verbatim}
$ cd /usr/local/src/
$ wget www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2 
$ tar xjvf linux-2.4.22.tar.bz2
$ cd linux-2.4.22/
$ make menuconfig
$ make dep clean bzImage
\end{verbatim}

\clearpage

Je remplace ensuite le noyau pr\'esent sur la disquette rescue.bin :

\begin{verbatim}
# mount -t auto -o loop rescue.bin mnt/
# cd mnt/
# cp /usr/local/src/linux-2.4.22/arch/i386/boot/bzImage linux.bin
# gzip /usr/local/src/linux-2.4.22/.config config.gz
# gzip /usr/local/src/linux-2.4.22/System.map sys_map.gz
# ./rdev.sh
# cd ../
# umount rescue.bin
# dd if=rescue.bin of=/dev/fd0 bs=1024 conv=sync; sync
\end{verbatim}

Mais rien n'y fait, la disquette root.bin ne passe pas, s\^urement une incompatibilit\'e
avec devfs !

\subsection{Troisi\`eme essai (LiveCD Knoppix)}

Je tente alors de d\'emarrer une Knoppix 3.1 : l\`a aussi le noyau se bloque :-( \\
Je fait donc graver une Knoppix 3.3\footnote{kernel 2.4.22-xfs}, qui elle fonctionne
correctement :-) \\

Je prend, comme pr\'ec\'edemment, le noyau de la Knoppix 3.3 pour le placer 
sur la disquette rescue.bin :

\begin{verbatim}
# mount -t auto -o loop rescue.bin mnt/
# cd mnt/
# cp /boot/vmlinuz-2.4.22-xfs linux.bin
# gzip /boot/config-2.4.22-xfs config.gz
# gzip /boot/System.map-2.4.22-xfs sys_map.gz
# ./rdev.sh
# cd ../
# umount rescue.bin
# dd if=rescue.bin of=/dev/fd0 bs=1024 conv=sync; sync
\end{verbatim}

Au boot tout se passe normalement, la disquette root.bin se charge correctement en m\'emoire,
l'installation de la Debian commence mais le choix du type de partition est restreint \`a ext2 ! \\

Via un shell, j'essaye malgr\'e tout de formater mes partitions en ReiserFS :

\begin{verbatim}
Ctrl+F2
# mkreiserfs -h r5 /dev/hda1
...
\end{verbatim}

Mais le montage de ces partitions \'echoue \`a l'\'etape suivante ! \\

J'ai alors le choix entre deux solutions :
\begin{itemize}
\item Installer sur des partitions ext2 et effectuer par la suite une migration 
de ces partitions en ReiserFS ;
\item Installer la Knoppix 3.3 (bas\'e sur Debian) sur le disque dur, mais le programme
\texttt{knx-hdinstall} ne supporte que l'installation sur une unique partition racine..?
\end{itemize}

\subsection{Quatri\`eme essai (Installation Knoppix)}

N'ayant pas encore d\'ecid\'e si j'allais installer une Debian Knoppix 3.3,
avec les derniers logiciels disponibles, ou une Debian Woody officielle
mais un peu vieillote, je rajoute une partition en fin de disque pour
recevoir la Knoppix. \\
On verra par la suite si je copie la Knoppix sur les autres partitions 
du disque...

\begin{verbatim}
# cfdisk /dev/hda
  /dev/hda1   /boot        64 Mo -			     
  /dev/hda2   swap        512 Mo  |		     
  /dev/hda3   /             1 Go  |		     
  /dev/hda5   /usr         10 Go  |- Debain Woody (3.0r1)
  /dev/hda6   /usr/local    8 Go  |		     
  /dev/hda7   /home        12 Go  |		     
  /dev/hda8   /var          2 Go  |		     
  /dev/hda9   /tmp        448 Mo -			     
  /dev/hda10  /             6 Go --- Debian Knoppix 3.3 
\end{verbatim}

La Knoppix install\'e sur le disque dur (en ReiserFS) fonctionne bien.
Je copie alors le noyau de la Knoppix sur la disquette de boot :

\begin{verbatim}
# mount -t auto -o loop rescue.bin mnt/
# cd mnt/
# cp /boot/vmlinuz-2.4.22-xfs linux.bin
# gzip /boot/config-2.4.22-xfs config.gz
# gzip /boot/System.map-2.4.22-xfs sys_map.gz
# ./rdev.sh
# cd ../
# umount rescue.bin
# dd if=rescue.bin of=/dev/fd0 bs=1024 conv=sync; sync
\end{verbatim}

Au boot de la disquette l'installation de la Debian commence, mais toujours
pas de ReiserFS disponible !

\subsection{N-i\`eme essai (Debian)}

Je compile, une n-i\`eme fois, un noyau sous la Knoppix en rajoutant 
cette fois-ci le support ReiserFS en dur dans le noyau. Je copie ensuite ce 
nouveau noyau (ainsi que le \texttt{System.map} et le \texttt{.config})
sur la disquette rescue.bin :

\begin{verbatim}
$ cd /usr/local/src/
$ wget www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2 
$ tar xjvf linux-2.4.22.tar.bz2
$ cd linux-2.4.22/
$ cp /boot/config-2.4.22-xfs .config
$ make oldconfig
$ make menuconfig (avec support ReiserFS en dur dans le noyau)
$ make dep clean bzImage
# mount -t auto -o loop rescue.bin mnt/
# cd mnt/
# cp /usr/local/src/linux-2.4.22/arch/i386/boot/bzImage linux.bin
# gzip /usr/local/src/linux-2.4.22/.config config.gz
# gzip /usr/local/src/linux-2.4.22/System.map sys_map.gz
# ./rdev.sh
# cd ../
# umount rescue.bin
# dd if=rescue.bin of=/dev/fd0 bs=1024 conv=sync; sync
\end{verbatim}

Au boot des disquettes l'option ReiserFS est disponible ! Victoire ! \\

J'installe le syst\`eme de base de la Debian Woody 3.0r1 sur le disque 
dur, en gardant la Knoppix sur la derni\`ere partition (on sait jamais..).

\clearpage

\section{Installation du syst\`eme de base}

\subsection{\'Ecran de boot}

Apr\`es avoir boot\'e sur la disquette, vous allez obtenir un \'ecran sur fond noir
avec l'invite suivante :

\begin{verbatim}
boot:
\end{verbatim}

Cette invite vous permet de param\'etrer le processus d'installation. \\
Dans notre cas, nous allons utiliser la saveur que nous venons d'installer sur la disquette.
Aussi acceptez par \texttt{Enter}.

\subsection{Choix de la langue}

Pour choisir le fran\c{c}ais, placez vous sur l'option : \\
\emph{fr - S\'electionnez ceci et validez pour continuer en fran\c{c}ais}. \\

Choisissez ensuite la vari\'et\'e : \emph{Fran\c{c}ais (France)}. \\

\`A la fin de cette \'etape une petite explication de ce qu'est Debian GNU/Linux et 
le logiciel libre vous est pr\'esent\'e. On continue...

\subsection{Configurer le clavier}

Il vous faut maintenant choisir votre clavier : \\
\emph{azerty/fr-latin1 : Fran\c{c}ais}. 

\subsection{Partitionner avec cfdisk}

\`Etape redout\'e par de nombreux utilisateurs : le partitionnement des disques. 
Je ne le r\'ep\^eterais jamais assez, faites des sauvegardes ! \\

Vous devez s\'electionner le disque dur. Dans notre cas on suppose que l'on ne poss\`ede
qu'un disque dur IDE branch\'e en position ma\^itre sur le premier contr\^oleur de la
carte m\`ere, soit \texttt{/dev/hda}. \\

Des messages nous informent ensuite des limitations de LILO (LInux LOader) et que les
partitions ReiserFS demandent de l'espace suppl\'ementaire pour le journal.

\subsubsection{Cfdisk}

L'utilitaire \texttt{cfdisk} est ensuite lanc\'e. \\

En g\'en\'eral il est fortement conseill\'e de cr\'eer au minimum trois partitions :
une partition racine \texttt{/}, une partion \texttt{/home} et une partion \texttt{Swap}. \\

L'usage veut que la partition racine occupe 80\% du disque et la partion utilisateur
les 20\% restant. \\
Le Swap ayant une taille de deux fois la taille de la m\'emoire vive
si vous en poss\'edez moins de 128Mo, ou la taille exacte disponible. \\

Les partitions GNU/Linux sont du type 83 et le Swap doir etre estampi\'e 82. \\

Remarque : Si vous d\'ecidez de cr\'eer une partion \texttt{/boot}, placez-la sur une partition
primaire avec l'option bootable. \\

\'Ecrivez la table de partition et sortez.

\subsubsection{Activer une partition d'\'echange}

Le programme d'installation doit trouver lui m\^eme la partition Swap
cr\'e\'e pr\'ec\'edemment. \\

On vous demande si vous voulez que le syst\`eme v\'erifie la pr\'esence de secteurs
d\'efectueux ; Cela prend un certain temps, aussi le faire que si vous en sentez
l'utilit\'e (vieux disques...). \\

Attention le formatage est irr\'eversible !!! Acceptez d\`es que vous \`etes s\^ur !

\subsubsection{Initialiser une partition GNU/Linux}

Vous allez devoir choisir le type de syst\`eme de fichiers qui sera utilis\'e pour stocker
les informations sur vos partitions. \\
Je ne saurais trop vous conseiller un syst\'eme de fichiers journalis\'e, ext3, ReiserFS
ou autre. \\

S\'electionnez la partition qui deviendra votre racine (\texttt{/}), formattez-la et
comfirmez l'op\'eration de montage.

\subsubsection{Initialiser les autres partitions}

Vous devez ensuite r\'ep\'eter l'op\'eration pr\'ec\'edente pour chacune des autres partitions
que vous avez cr\'e\'e. Seule diff\'erence vous devez sp\'ecifier le point de montage
(\texttt{/home}, ...).

\subsection{Installer le noyau et les modules}

On passe maintenant \`a l'installation du noyau et des modules des pilotes. \\
La disquette rescue.bin et les quatres disquettes driver vont vous etre demand\'es... \\

\subsection{Configurer les pilotes mat\'eriels}

C'est \`a cette \'etape que l'on configure le mat\'eriel. \\

\'Etant donn\'e que les disquettes des drivers ne sont pas en phase avec le noyau
que l'on a plac\'e sur la disquette de boot n'activez rien, on chargera les modules plus tard...

\subsection{Configurer le r\'eseau}

Choisissez ensuite un nom de machine. \\

Si votre carte r\'eseau a \'et\'e d\'etect\'e vous avez le choix de configurer votre carte
r\'eseau, sinon vous pourrez toujours la configurer plus tard...

\subsection{Installer le syst\`eme de base}

C'est \`a cette \'etape que les paquets du syst\`eme de base vont etre install\'es. \\

Selectionnez le m\'edia d'installation : choisissez \emph{cdrom : lecteur de CDROM}. \\

Puis laissez le choix par d\'efaut (\texttt{/instmnt}) pour le chemin de l'archive.

\subsection{Rendre le syst\`eme amor\c{c}able}

Il faut maintenant que vous rendiez votre syst\`eme amor\c{c}able : \\

Par d\'efaut c'est LILO qui va etre install\'e (on le remplacera plus tard par GRUB),
choisissez de l'installer dans le \emph{MBR} (\texttt{/dev/hda}). \\

Remarque : On peut aussi installer LILO dans le secteur d'amor\c{c}age de \texttt{/boot}. \\

Un \'ecran concernant le s\'ecurit\'e de LILO est ensuite affich\'e : \\

Sachez qu'en installant LILO tel quel, n'importe quelle personne pourra avoir acc\`es
\`a votre ordinateur et en prendre le contr\^ole total. La premi\`ere s\'ecurit\'e consiste
donc \`a mettre un mot de passe au chargement de LILO. Notez que cela est aussi vrai
pour GRUB. \\

Cr\'eez ensuite une disquette de d\'epannage, au cas o\`u...

\subsection{Rebooter}

Cette premi\`ere \'etape d'installation est termin\'e, red\'emarrez.

\clearpage

\section{Post-installation}

\subsection{Premier \'ecran}

Ce premier \'ecran vous acceuille en vous f\'elicitant ;-)
On va maintenant commencer la configuration.

\subsection{Fuseau horaire}

\`A la question \emph{Will the hardware clock be set to GMT ?}, r\'epondez :

\begin{itemize}
\item Non, si c'est un ordinateur personnel sur lequel Windows et Linux cohabitent 
  (Windows ne sait pas faire la diff\'erence entre horloge mat\'erielle et horloge syst\`eme) ;
\item Sinon Oui. \\
\end{itemize}

S\'electionnez votre fuseau horaire : \emph{Europe} puis \emph{Paris}.

\subsection{Passwords}

Dans un premier temps il faut configurer le syst\`eme de gestion des mots de passe :

\begin{itemize}
\item \emph{Shall I enable MD5 passwords?} Yes ;
\item \emph{Shall I enable Shadow passwords?} Yes. \\
\end{itemize}

Entrez le mot de passe du super-utilisateur root. \\

Puis cr\'eez un utilisateur.

\subsection{Supprimer les paquets PCMCIA}

Sauf si vous installez la Debian sur un portable, vous pouvez enlever ces paquets
sans risques. \\

R\'epondez Non \`a la question suivante \emph{Use a PPP connection to install the system ?},
on reviendra \`a la configuration du modem plus tard.

\subsection{Configurer Apt}

Ins\'erez le premier c\'ed\'erom de votre Debian GNU/Linux dans votre lecteur, et choisissez
\emph{cdrom} comme source. \\
Si vous avez d'autres c\'ed\'eroms, scannez-les aussi. \\

Teminez en r\'epondant par Non aux questions \emph{Add another Apt source?}
et \emph{Use security updates from security.debian.org?}. \\

\emph{Run tasksel?} r\'epondez Non, nous nous contenterons des paquets de base et nous
installerons les autres paquets au fur et \`a mesure de nos besoins. \\

Cette \'etape va vous permettre d'installer certains paquets de base qui n'ont pas encore
\'et\'e install\'es. Passez l'\\'ecran de bienvenue en tapant \texttt{Espace}. \\

Vous arrivez alors dans la liste des packages ; Appuyez sur \texttt{Entr\'ee} pour
approuver les packages qu'il a s\'electionn\'e par d\'efaut. Il vous affiche alors la liste
des paquets qu'il veut installer (80 environ) (et vous annonce qu'il va retirer le paquet
pcmcia-cs si vous l'aviez demandé lors d'une \'etape pr\'ec\'edente) et vous demande
\emph{Do you want to continue?}. Acceptez. Ins\'erez le premier CD-ROM et validez. \\

Lors de l'installation quelques questions vont vous etre demand\'es : \\

\begin{itemize}
\item \emph{Kernel link failure info}, OK. \\
\end{itemize}

\begin{itemize}
\item \emph{Add a mime handler for "application/*"?}, Non. \\
\end{itemize}

\begin{itemize}
\item \emph{Select locales to be generated}, s\'electionnez \emph{en\_US ISO-8859-1},
  \emph{fr\_FR ISO-8859-1}, \emph{fr\_FR.UTF-8 UTF-8} et \emph{fr\_FR@euro ISO-8859-15} ;
\item \emph{Which locale should be the default in the system environment?}, 
  r\'epondez \texttt{fr\_FR}. \\
\end{itemize}

\begin{itemize}
\item \emph{Allow SSH protocol 2 only?}, Oui ;
\item \emph{Do you want /usr/bin/ssh-keysign to be installed SUID root?}, Oui ;
\item \emph{Do you want to run the sshd server?}, Non. \\
\end{itemize}

Ensuite la question \emph{Do you want to erase any previously downloaded .deb files?}
vous est pos\'e, acceptez. \\

Enfin, il vous pose une question sur la configuration du serveur de mail Exim : 
tapez \texttt{Entr\'ee} et choisissez l'option n°5 \emph{No configuration},
on verra \c{c}a plus tard.

\subsection{Fin post-installation}

Have fun!

\clearpage

\part{Configuration}

\section{Kernel Linux}

Il faut maintenant recompiler encore le noyau pour que les modules se chargent
correctement, en effet les modules des disquettes driver-[1-4].bin ne correspondent
pas avec le noyau de la disquette rescue.bin.

\subsection{Linux-2.4.22}

Dans un premier temps r\'ecup\`erez le dernier noyau stable en date :

\begin{verbatim}
$ cd /usr/local/src/
$ wget www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2 
$ tar xjvf linux-2.4.22.tar.bz2
$ ln -s linux-2.4.22 linux
\end{verbatim}

Et recompilez le noyau (\`a la sauce Debian) :

\begin{verbatim}
$ cd /usr/local/src/linux-2.4.22/
$ cp /boot/config-2.4.22-xfs .config
$ make oldconfig 
$ make menuconfig
$ make-kpkg --rootcmd fakeroot clean
$ make-kpkg --rootcmd fakeroot \
            --append-to-version -bunny --revision 1 \
            kernel_image
# dpkg -i kernel-image-2.4.22-bunny_1_i386.deb
# reboot
\end{verbatim}

\subsection{Configuration du noyau}

R\'ecup\`erez ensuite le fichier de config qui a servi \`a construire le
kernel-image-2.4.22-1-k7 dans l'archive \texttt{kernel-image-2.4.22-1-k7\_2.4.22-3\_i386.deb} :

\begin{verbatim}
$ cd /usr/local/src/
$ wget ftp.fr.debian.org/.../kernel-image-2.4.22-1-k7_2.4.22-3_i386.deb
$ ar -x kernel-image-2.4.22-1-k7_2.4.22-3_i386.deb data.tar.gz
$ gzip -dc data.tar.gz | tar xvf -
\end{verbatim}

\begin{verbatim}
$ cd /usr/local/src/linux-2.4.22/
$ cp /usr/local/src/data/config-2.4.22-1-k7 .config
$ make oldconfig 
$ make menuconfig
\end{verbatim}

Les d\'etails sur les options de configuration du noyau sont disponible \`a l'adresse : 
\url{http://casteyde.christian.free.fr/system/linux/guide/online/a9572.html}.

\begin{verbatim}
$ make-kpkg --rootcmd fakeroot clean
$ make-kpkg --rootcmd fakeroot \
            --append-to-version -k7-bunny --revision 5 \
            kernel_image
# dpkg -i kernel-image-2.4.22-k7-bunny_5_i386.deb
# reboot
\end{verbatim}

Message : Apr\`es 5 r\'evisions me voici donc avec un noyau 2.4.22 ``tun\'e'' pour ``Bunny'' !

\clearpage

\section{Driver nForce2-ST}

En ce qui concerne le Dolby Digital 5.1, la deuxi\`eme carte r\'eseau et l'USB, la carte m\`ere
Asus A7N8X Deluxe utilise le chipset nForce2-ST\footnote{nForce2 SPP + nForce2 MCP-T}. \\

Pour que ces composants fonctionnent correctement il faut encore r\'ecup\'erer 
le driver sur le site nVidia
\footnote{http://www.nvidia.fr/object/linux\_nforce\_1.0-0261\_fr.html}
ou sur le site d'Asus
\footnote{http://france.asus.com/products/mb/socketa/a7n8x-d/overview.htm}.

\subsection{Driver nVidia}

\begin{verbatim}
$ wget download.nvidia.com/.../NVIDIA_nforce-1.0-0261.tar.gz
$ tar xzvf NVIDIA_nforce-1.0-0261.tar.gz
$ cd nforce/
$ make
# make install
\end{verbatim}

Ces commandes vont installer les drivers \texttt{usb-ohci.o}, \texttt{nvnet.o}
et \texttt{nvaudio.o} dans les modules du noyau Linux.

Modifiez ensuite le fichier \texttt{/etc/modules.conf} en rajoutant la ligne suivante :

\begin{verbatim}
alias usb-interface usb-ohci
\end{verbatim}

Pour le support de l'USB.

\subsubsection{Dolby Digital 5.1}

Le son Dolby Digital 5.1 est lui g\'er\'e via le driver nvaudio, qui n'est qu'autre que le
driver intel810 modifi\'e. \\

On cr\'eera alors un nouveau fichier \texttt{/etc/modutils/sound} dans lequel on placera la ligne :

\begin{verbatim}
alias sound-slot-0 nvaudio
\end{verbatim}

Actualisez ensuite le fichier \texttt{/etc/modules.conf} :
 
\begin{verbatim}
# update-modules
\end{verbatim}

On charge maintenant le module via la commande : 

\begin{verbatim}
# modprobe nvaudio spdif_status=0
\end{verbatim}

On remarquera que je d\'esactive la sortie num\'erique (S/PDIF) qui suppose
un \'echantillonage \`a 48kHz lorsqu'elle est activ\'ee.

\subsubsection{Carte ethernet}

Pour la deuxi\`eme carte ethernet (chipset nVidia) il faut rajouter le fichier
\texttt{/etc/modutils/lan} :

\begin{verbatim}
alias eth0 nvnet
\end{verbatim}

R\'eactualisez le fichier \texttt{/etc/modules.conf} :
 
\begin{verbatim}
# update-modules
\end{verbatim}

Le module se chargera via la commande : 

\begin{verbatim}
# modprobe nvnet
\end{verbatim}

\subsubsection{FireWire IEEE 1394}

Une derni\`ere remarque en ce qui concerne le port FireWire : celui-ci est pris en charge
par le module standard OHCI\footnote{http://linux1394.org}.

\subsection{Driver Asus}

La sortie S/PDIF semble non support\'e par le driver nVidia sur les cartes de marque Asus ! \\
\emph{Please use drivers only from ASUS website or support CD.
  Drivers from NVIDIA website are not applicable to ASUS A7N8X}. \\

Or Asus ne fourni que des drivers sous forme RPM\footnote{Redhat Package Manager} !

\subsubsection{Alien}

Pour installer ces drivers sous la Debian vous devez donc utiliser le programme \emph{Alien} qui
se chargera de faire la conversion en \emph{.deb} :

\begin{verbatim}
# apt-get install alien
\end{verbatim}

Remarque : Ceci installera aussi le paquet \emph{rpm}, qui ne doit pas etre utilis\'e en
dehors d'\emph{Alien} car il ne respecte pas la coh\'erence des archives Debian.

\subsubsection{Installation}

\begin{verbatim}
$ wget http://www.asus.com/pub/ASUS/misc/utils/nf2/nf2v_linux.zip
$ unzip nf2v_linux.zip
\end{verbatim}

Les paquets NVIDIA\_nforce-1.0-0241.rh73up*.athlon.rpm ne contiennent pas
le driver nvaudio.o ! C'est la raison pour laquelle j'utilise le driver pour Suse :

\begin{verbatim}
# alien --to-deb NVIDIA_nforce-1.0-0241.suse.i386.rpm
# dpkg -i NVIDIA_nforce-1.0.deb
\end{verbatim}

Remarque : On peut aussi cr\'eer des archives \emph{.tgz} avec la commande \\
\texttt{\# alien --to-tgz NVIDIA\_nforce-1.0-0241.suse.i386.rpm}. \\

[...]

\clearpage

\section{Migration de LILO vers GNU GRUB}

\subsection{Disquette GRUB}

Pour cr\'eer une disquette de d\'emarrage de GNU GRUB, placez les fichiers stage1
et stage2 respectivement sur les premier et deuxi\`eme blocs de la disquette :

\begin{verbatim}
# apt-get install grub
# mkdir /boot/grub
# cd /usr/lib/grub/i386-pc
# cp stage? *stage1.5 /boot/grub
# cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
1+0 records in
1+0 records out
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
153+1 records in
153+1 records out
\end{verbatim}

Red\'emarrez maintenant avec cette disquette afin de tester la configuration. \\

Au prompt du GRUB-shell\footnote{clavier qwerty}, positionnez la partition racine :

\begin{verbatim}
grub> root (hd0,0)
\end{verbatim}

Remarque : Ma partion \texttt{/boot} est sur \texttt{/dev/hda1}, la commande \texttt{find /vmlinuz}
permet de d\'eterminer la bonne partition. \\

Chargez le noyau et bootez cette image :

\begin{verbatim}
grub> kernel /vmlinuz-2.4.22-k7-bunny root=/dev/hda3
grub> boot
\end{verbatim}

Une fois cette \'etape franchie (avec succ\`es), on peut maintenant s'atteler \`a la
configuaration de GNU GRUB.

\clearpage

\subsection{Configuration}

GNU GRUB poss\`ede un fichier de configuration lu \`a chaque démarrage.
Ce fichier s'appelle \texttt{/boot/grub/menu.lst} qui, dans mon cas, est de la forme :

\begin{verbatim}
timeout 30
default 0
fallback 1

# Voici l'entree 0
title Debian GNU/Linux Woody 3.0r1
root (hd0,0)
kernel /vmlinuz-2.4.22-k7-bunny root=/dev/hda3

# L'entree 1
title Debian GNU/Linux Woody 3.0r1 failsafe
root (hd0,0)
kernel /vmlinuz-2.4.22 root=/dev/hda3 failsafe

# L'entree 2
title Debian GNU/Linux Knoppix 3.3
root (hd0,9)
kernel /boot/vmlinuz-2.4.22-xfs root=/dev/hda10
initrd /boot/initrd.gz

# L'entree 3
title Floppy
root (fd0)
chainloader +1

# L'entree 4 (si Windows sur 2eme disque)
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
root (hd0,0)
makeactive
chainloader +1

# L'entree 5 (si GNU/Hurd sur 2eme disque)
title Debian GNU/Hurd K2
root (hd1,0)
kernel /boot/gnumach root=/dev/hd1s0
module /boot/serverboot
\end{verbatim}

\subsection{Installation sur disque dur}

Pour installer GNU GRUB sur l'ordinateur, red\'emarrez l'ordinateur
avec la disquette de boot. \\

Comme d'habitude, d\'efinissez d'abord le disque racine vers le r\'epertoire de d\'emarrage :

\begin{verbatim}
grub> root (hd0,0)
\end{verbatim}

Installez ensuite GNU GRUB dans le MBR :

\begin{verbatim}
grub> setup (hd0)
\end{verbatim}

Et rebootez \`a partir du disque dur :

\begin{verbatim}
grub> reboot
\end{verbatim}

\subsection{Personnalisation}

Tout comme Lilo, GNU GRUB a la possibilit\'e d'\^etre personnalisable en pla\c{c}ant une image
de fond au menu de d\'emarrage ; Cependant il lui faut pour cela rajouter le support
des splashimage. \\

T\'el\'echargez alors et installez la version testing de GNU GRUB : 

\begin{verbatim}
# wget ftp.fr.debian.org/.../grub_0.93+cvs20031008-1_i386.deb
# dpkg -i grub_0.93+cvs20031008-1_i386.deb
\end{verbatim}

Maintenant convertissez une image d'un format quelconque vers un format acceptable
par GNU GRUB, gr\^ace \`a imagemagick :

\begin{verbatim}
# mkdir -p /usr/share/images
# convert -geometry 640x480 -colors 14 image.png /usr/share/images/image.xpm
# cd /usr/share/images && gzip image.xpm
\end{verbatim}

Rajoutez \`a pr\'esent l'image dans le fichier \texttt{/boot/grub/menu.lst} :

\begin{verbatim}
splashimage=(hd0,4)/share/grub/images/image.xpm.gz
\end{verbatim}

Rq: Chez moi \texttt{/usr} est mont\'e sur la partition \texttt{/dev/hda5}.

\subsection{Configuration automatique de GRUB}

Lors de l'installation d'un noyau sous Debian, le chargeur par d\'efaut Lilo
et automatiquement mis \`a jour ; Et ben il est possible d'en faire autant
avec GNU GRUB ! \\

Une fois le paquet GNU GRUB install\'e, entrez la commande :

\begin{verbatim}
# update-grub
\end{verbatim}

\'Editez ensuite le fichier \texttt{/boot/grub/menu.lst} et modifiez y les lignes
\texttt{\#groot} et \texttt{\#kopt} :

\begin{verbatim}
## DO NOT UNCOMMENT THEM, Just edit them to your needs

## default kernel options
# kopt=root=/dev/hda3

## default grub root device
# groot=(hd0,0)

...
\end{verbatim}

Relancez une derni\`ere fois update-grub. 
Et ins\`erez ensuite les lignes suivantes dans le fichier \texttt{/etc/kernel-img.conf} :

\begin{verbatim}
postinst_hook=/sbin/update-grub
postrm_hook=/sbin/update-grub
\end{verbatim}

Dor\'enavant update-grub sera lanc\'e lors de l'installation d'un nouveau noyau,
il scannera le r\'epertoire \texttt{/boot} et \'ecrira une nouvelle entr\'ee dans le
fichier \texttt{menu.lst}.

\clearpage

\section{Drivers GeForce FX}

Attelons-nous maintenant \`a la configuration du driver graphique acc\'el\'er\'e.

\subsection{XFree86}

Au niveau du noyau, il faut activer le support de l'AGP (/dev/agpgart) avec
le chipset nForce2 (un patch est disponible pour les noyaux 2.4.20),
et d\'esactiver le DRM car nVidia fourni ses propres drivers qui n'utilisent
pas l'architecture DRI. \\

Ensuite installez le serveur X :

\begin{verbatim}
# apt-get install x-window-system-core
\end{verbatim}

\begin{itemize}
\item \emph{G\'erer les droits de lancement du serveur X avec debconf ?} Oui ;
\item \emph{G\'erer la configuration du serveur XFree86 4.x avec debconf ?} Non.
\end{itemize}

\subsection{Installation}

Les drivers acc\'el\'er\'es pour les chipsets nVidia GeForce FX 5600 sont
disponible sous la forme d'un paquet \`a l'adresse : 
\url{http://www.nvidia.fr/object/linux_display_ia32_1.0-4496_fr.html}. \\

Selon les instructions de nVidia il suffit de lancer le programme
d'auto-installation ; Ex\'ecutez donc la commande :

\begin{verbatim}
# sh NVIDIA-Linux-x86-1.0-4496-pkg2.run
\end{verbatim}

\begin{itemize}
\item \emph{T\'el\'echarger un driver pre-complil\'e depuis le serveur FTP de nVidia ?} non
  (nVidia ne fourni pas de driver pour Debian) ;
\item \emph{l'installeur m'informe qu'il va compiler une nouvelle interface noyau :} 
  j'accepte par OK... ;
\item et si tout se passe bien : \emph{Installation of the NVIDIA Accelerated Graphics Driver
  for Linux-x86 is now complete !} \\
\end{itemize}

Pour que le module soit charg\'e \`a chaque d\'emarrage, cr\'eez le fichier
\texttt{/etc/modutils/nvidia} :

\begin{verbatim}
alias /dev/nvidia* nvidia
alias char-major-195 nvidia
\end{verbatim}

Et ex\'ecutez :

\begin{verbatim}
# update-modules
\end{verbatim}

Remarque : Comme pour les drivers nForce, \`a chaque installation d'un nouveau noyau,
il faudra r\'einstaller les modules nVidia. \\

Autorisez ensuite \`a l'utilisateur mickey de tirer parti de l'acc\'el\'eration :

\begin{verbatim}
# adduser mickey video
\end{verbatim}

\subsection{Configuration de X}

Reconfigurez maintenant le serveur X avec debconf :

\begin{verbatim}
# dpkg-reconfigure xserver-xfree86
\end{verbatim}

\begin{itemize}
\item \emph{G\'erer la configuration du serveur XFree86 4.x avec debconf ?} Oui ;
\item \emph{Pilote de la carte graphique :} nvidia ;
\item \emph{Identifiant :} nVidia GeForce FX 5600 ;
\item \emph{Bus :} laisser vide ;
\item \emph{M\'emoire :} normalement d\'etect\'e ;
\item \emph{Utiliser l'interface framebuffer du noyau ?} Non. \\
\end{itemize}

Les questions suivantes concernant le clavier, la souris et l'\'ecran ne seront 
pas abord\'es ici. \\

Enfin pour les modules, activez glx et d\'esactivez GLcore et le DRI :
\begin{itemize}
\item \emph{Mettre une section "Files" de r\'ef\'erence dans la configuration ?} Oui ;
\item \emph{Mettre une section "DRI" de r\'ef\'erence dans la configuration ?} Non. \\
\end{itemize}

\`A la fin de ces questions, debconf g\'en\`ere un fichier de configuration
graphique \texttt{/etc/X11/XF86Config-4}...

\subsection{Tests}

Reste maintenant \`a tester l'acc\'el\'eration 3D : pour cela je suppose qu'on a d\'eja
install\'e un window manager (Gnome, Kde ou autre). \\

D\'emarrez le serveur X :

\begin{verbatim}
$ startx
$ ... le logo nVidia apparait ...
\end{verbatim}

Ensuite ex\'ecutez dans un shell :

\begin{verbatim}
$ glxinfo
$ glxgears
\end{verbatim}

Dans mon cas j'accroche les 2400 FPS avec ``Bunny'' (contre 962 FPS sous ``Cortex'') !

\clearpage

\section{Imprimante Epson Stylus C82}

Support\'e dans Gimp-Print 4.2.2, utilisez le driver C80 si vous utilisez 
Gimp-Print 4.2.0\footnote{version Debian Woody 3.0}. \\

Pour plus de d\'etails visitez le site \url{http://www.linuxpriting.org}.

\subsection{Installation CUPS/PPDs}

Installez les paquets de CUPS :

\begin{verbatim}
# apt-get install cupsys
\end{verbatim}

Ainsi que l'encapsulation des commandes BSD (lpr) :

\begin{verbatim}
# apt-get install cupsys-bsd
\end{verbatim}

Installez ensuite les drivers (fichiers PPD) :

\begin{verbatim}
# apt-get install cupsys-driver-gimpprint
# apt-get install cupsomatic-ppd
\end{verbatim}

Et pour finir les filtres GhostScript :

\begin{verbatim}
# apt-get install magicfilter a2ps enscript
\end{verbatim}

Avec les filtres foomatic :

\begin{verbatim}
# apt-get install foomatic-bin foomatic-db
\end{verbatim}

Redemarrez CUPS pour tenir compte de ces changements :

\begin{verbatim}
# killall -HUP cupsd
# /etc/init.d/cups restart
\end{verbatim}

Installez ensuite les scripts \texttt{foomatic} depuis \url{linuxprinting.org} :

\begin{verbatim}
# cd /usr/bin
# wget http://www.linuxpriting.org/foomatic-rip
# wget http://www.linuxpriting.org/foomatic-gswrapper
# chmod 755 foomatic-*
# ln -s /usr/bin/foomatic-rip /usr/lib/cups/filter/foomatic-rip
\end{verbatim}

Puis reconfigurez \texttt{foomatic} :

\begin{verbatim}
# dpkg-reconfigure foomatic-bin
\end{verbatim}

En choisissant \emph{AutoMagic} comme filtre.

\subsection{Configuration de CUPS}

CUPS propose le moyen ``sumpatique'' d'administrer vos imprimantes en mode
graphique via une interface Web : \url{http://localhost:631/admin}. \\

Remarquez que tant que le d\'emon \texttt{cupsd} fonctionne le serveur Web sera actif
(nul besoin d'Apache ici), de m\^eme notez que le port utilis\'e est le 631 (au lieu
du traditionnel 80) car c'est celui utilis\'e par le protocole IPP (Internet Printing Protocol). \\

Ajoutez une imprimante : Ce premier formulaire vous demande le nom de l'imprimante ainsi
que diverses informations. Indiquez ensuite le type de port sur lequel est branch\'e votre
imprimante. \\

Remarque : J'ai personnellement eu des probl\`emes avec la connection parall\`ele,
j'ai r\'esolu ce probl\`eme en passant par une connection USB (ce mod\`ele supporte ces
deux types de connectique). \\
Si vous utilisez la connection USB, n'oubliez pas de v\'erifier que le support de l'USB
est bien activ\'e au niveau du noyau (section SCSI support). \\

Puis donnez la marque et le mod\`ele de votre imprimante. \`A partir de l\`a on peut d\'ej\`a
imprimer une page de test... \\

On peut enfin affiner les qualit\'es d'impressions via le formulaire \emph{Configurer}. \\

Deni\`ere pr\'ecision, dans certains cas l'administration en mode graphique ne suffit plus
il faut alors administrer en ligne de commande. Notamment la commande \texttt{lpadmin -d <queue>}
permet de d\'efinir l'imprimante par d\'efaut.

\subsection{Imprimer}

Certaines applications, comme Mozilla, se contentent d'appeler l'outil standard \texttt{lp}
ou \texttt{lpr} ; En ayant install\'e \texttt{cupsys-bsd} ces appels seront redirig\'es vers
l'imprimante par d\'efaut de CUPS. \\

Cependant un outil, Xpp (X Printing Panel) permet de disposer d'une interface graphique
qui s'utilise \`a la place des commandes BSD... \\

Ci-dessous quelques commandes permettant de g\'erer la file d'impression :
\begin{itemize}
\item \texttt{lpstat} qui permet de visionner la file d'attente (comme \texttt{lpq}) ;
\item \texttt{cancel <job>} qui permet d'annuler une impression (comme \texttt{lprm}).
\end{itemize}

\subsection{The GIMP}

The GIMP utilise le plug-in Gimp-Print pour l'impression. Si vous l'avez install\'e,
cliquez avec le bouton droit sur l'image et le menu d'impression apparaitra : \\

Si l'imprimante est list\'e dans la liste des imprimantes support\'es par Gimp-Print
vous n'aurez pas besoin d'utiliser le fichier PPD ; Sinon, et c'est notre cas, choisissez
\emph{PostScript Level 2} et allez chercher le fichier \texttt{/usr/share/cups/<queue>.ppd}. \\
Adaptez ensuite la commande d'impression, en particulier en supprimant l'option \texttt{-oraw},
car il est important pour les imprimantes non-PostScript que l'impression passe par les filtres.

\subsection{Escputil}

\emph{Escputil} fait partie int\'egrante du projet Gimp-Print et permet d'effectuer des
op\'erations de maintenance sur les imprimantes de marque Epson et certaines Hp. \\

Avant d'utiliser les commandes list\'e ci-dessous, il faut donner un moyen \`a Escputil de
conna\^itre votre imprimante. Pour cela il y a deux fa\c{c}ons :
\begin{itemize}
\item Par le port avec l'option \texttt{--raw-device /dev/usb/lp0} ;
\item Ou par le mod\`ele (la liste des mod\`eles support\'es est donn\'e par \texttt{--list-models})
  avec l'option \texttt{--printer-name 640} par exemple. \\
\end{itemize}

Ci-dessous quelques commandes accept\'e par Escputil :
\begin{itemize}
\item \texttt{--ink-level} permet de conna\^itre le niveau d'encre ;
\item \texttt{--nozzle-check} v\'erifie l\'etat des buses ;
\item \texttt{--clean-head} n\'ettoie les buses ;
\item \texttt{--align-head} aligne les t\^etes ;
\item \texttt{--align-color} aligne les couleurs.
\end{itemize}

\clearpage

\section{Cam\'escope DV}

\subsection{Connection IEEE1394}

La liaison IEEE1394, connue aussi comme Firewire (d\'enomination Apple) ou i-link (chez Sony),
est une connection num\'erique haut d\'ebit entre l'ordinateur et un certain nombre de
p\'eriph\'eriques compatibles IEEE1394 dont font parti les cam\'escopes DV. \\

Remarque : Le support IEEE1394 sous Linux n'est disponible que depuis les noyaux 2.4.18 et plus ;
Ce driver \'etant encore exp\'erimental il faut activer le 
\emph{Prompt for Development/Experimental drivers} dans la section 
\emph{Code maturity level}. \\

Puis dans la section \emph{IEEE1394 (FireWire) support}, mettez en module :
\begin{itemize}
\item \emph{IEEE1394 (FireWire) support (EXPERIMENTAL)} [M] ;
\item \emph{OHCI support} [M] ;
\item \emph{Video 1394 support} [N] (inutile);
\item \emph{Raw IEEE1394 I/O support} [M]. \\
\end{itemize}

Installez ensuite la libraw1394 qui donne un acc\`es direct au p\'eriph\'erique IEEE1394,
\`a travers le module /dev/raw1394 :

\begin{verbatim}
# apt-get install libraw1394-5
\end{verbatim}

Note : Lors de la configuration acceptez de cr\'eer le device /dev/raw1394. \\

Recompilez et installez ce nouveau noyau... \\

D\'emarrez les services :

\begin{verbatim}
# modprobe ohci1394
# modprobe raw1394
\end{verbatim}

\`A ce niveau la commande \texttt{dmesg} doit vous montrer que les modules \emph{ieee1394}
et \emph{ohci1394\_0} sont d\'emarr\'es.

\subsection{Cam\'escope Sony DCR-TRV245}

Installez ensuite l'outil Gscanbus, qui va nous aider \`a tester la liaison :

\begin{verbatim}
# apt-get install gscanbus
\end{verbatim}

Sous X, cette application doit vous montrer les connections IEEE1394 ainsi que tous les
p\'eriph\'eriques compatibles connect\'es. \\

Il ne vous reste plus qu'a exploiter cette liaison, pour cela je vous conseil d'installer
les outils \emph{dvgrab} pour la capture des flux video et \emph{kino} pour le montage de
s\'equences video. \\
Notez aussi que \emph{MPlayer} est capable de lire directement le format DV.

\clearpage

\section{Licence}

Permission vous est donn\'ee de copier, distribuer et modifier ce document
selon les termes de la licence GNU pour les documentations libres,
version 1.1 ou toute autre version ult\'erieure publi\'ee par la Free
Software Foundation. \\

Cette licence est disponible \`a l'adresse suivante : \\
\url{http://www.gnu.org/copyleft/fdl.html}

%\listoffigures

%\listoftables

\clearpage

%\addcontentsline{toc}{chapter}{Bibliographie}

\begin{thebibliography}{9}
\bibitem{andesi}
  (ANDESI).
  \emph{Another Debian Site}. \\
  \url{http://www.andesi.org}
\bibitem{formation}
  Alexis de Lattre.
  \emph{Formation Debian GNU/Linux}. \\
  \url{http://www.via.ecp.fr/~alexis/formation-linux/}
\bibitem{config}
  Christian Casteyde.
  \emph{Guide d'installation et de configuration de Linux}. \\
  \url{http://casteyde.christian.free.fr/system/linux/guide/online/book1.html}
\end{thebibliography}

\end{document}