<<TableOfContents>>

= Installation d'Ubuntu par le réseau (PXE) =

PXE est un système de boot réseau, disponible sur quasiment toutes les machines modernes possédant une carte réseau Ethernet. Nous parlons ici de son utilisation pour lancer l'installateur Ubuntu (ou Debian). Pour les détails sur PXE lui-même, voir la page [[PXE]].

{i} L'installation par réseau est encore plus efficace quand vous disposez d'un miroir local, voir la page [[Miroir]].

Le principe général est de récupérer le '''noyau''' (fichier en général appelé "linux")  et le logiciel d'installation compris dans un disque d'initialisation '''initrd''' (init ram disk). Ces deux fichiers sont présents dans des archives nommées `netboot.tar.gz` :

Par exemple, pour Ubuntu Jaunty i386 :
 * installateur classique : http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/netboot/netboot.tar.gz
 * installeur graphique : http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/netboot/gtk/netboot.tar.gz)

Par exemple, pour Ubuntu Lucid i386 :
 * installateur classique : http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/netboot/netboot.tar.gz
Après le téléchargement, changer les configs suivants pour Lucid.

On prend ce qu'il faut dans le `netboot.tar.gz` et on le copie dans le `/var/lib/tftpboot`. Par exemple pour Ubuntu Jaunty i386 :
 {{{
# cd /tmp
# wget http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/netboot/netboot.tar.gz
# tar zxf netboot.tar.gz
# mkdir /var/lib/tftpboot/ubuntu-installer-jaunty
# mv /tmp/ubuntu-installer/i386 /var/lib/tftpboot/ubuntu-installer-jaunty/
}}}

Puis on indique les chemins au niveau de la configuration de pxelinux (dans `/var/lib/tftpboot/pxelinux.cfg/default`) :
 {{{
# extrait de /tftpboot/pxelinux.cfg/default pour installeur Ubuntu Jaunty i386
label jaunty
  kernel ubuntu-installer-jaunty/i386/linux
  append vga=normal initrd=ubuntu-installer-jaunty/i386/initrd.gz --
}}}

Il faut alors démarrer l'ordinateur en mode PXE (voir dans le BIOS, ou bien taper sur les touches F2, F9 ou F10 au démarrage, selon la machine) et indiquer `jaunty` comme image PXE choisie. Le système lance alors l'installateur d'Ubuntu classique...

= Installation totalement automatique =

Il est possible de fournir les réponses par défaut à l'installateur d'Ubuntu, qui est fait ''debian-installer''. Pour cela, il faut créer un fichier de ''preseed'' qui va contenir des codes de réponse et placer ce fichier sur un site Web accessible depuis les machines qui seront installées. Il faut enfin créer une rubrique spécifique dans `/var/lib/tftpboot/pxelinux.cfg/default` :

 {{{
# extrait de /tftpboot/pxelinux.cfg/default pour installation totalement automatique de Jaunty
label autojaunty
  kernel ubuntu-installer-jaunty-gtk/i386/linux
  append video=vesa:ywrap,mtrr vga=788 initrd=ubuntu-installer-jaunty-gtk/i386/initrd.gz locale=fr_FR.UTF-8 console-setup/ask_detect=false console-setup/layoutcode=fr netcfg/wireless_wep= netcfg/choose_interface=eth0 netcfg/get_hostname= url=http://install.refer.sn/preseed/jaunty --
}}}

Dans cet exemple :
 * le fichier de ''preseed'' est sur `http://install.refer.sn/preseed/jaunty`. Le voici en fichier attaché : [[attachment:preseed-jaunty.txt]]
 * pour que le système d'installation puisse accéder à ce fichier, il faut que le réseau soit déjà actif. On ajoute donc directement ici les premières réponses aux questions de l'installateur, jusqu'à l'activation du réseau (on passe en français, clavier français, réseau sur eth0)
 * on utilise l'installateur graphique (ubuntu-installer-jaunty-gtk) pour faire "joli", mais c'est en fait totalement inutile, c'est juste pour frimer
  * Sous lucid il n'y a plus de dossier netboot/gtk dans http://archive.ubuntu.com :)

/!\ '''Attention''', avec cette configuration et le fichier ''preseed'' proposé, lorsqu'on choisi ''autojaunty'' au démarrage PXE, '''la machine est totalement remise à zéro, sans aucune demande de confirmation''', aucune question, rien !!

Vous devez adapter le fichier ''preseed'' à votre environnement. Pour cela, faites comme moi, lisez :
 * la documentation officielle Ubuntu sur le sujet : https://help.ubuntu.com/9.04/installation-guide/i386/preseed-using.html
 * ''La'' documentation d'origine, celle de debian-installer : http://d-i.alioth.debian.org/manual/fr.i386/apb.html
 * Quelques notes sur Ubuntu-fr : http://doc.ubuntu-fr.org/netboot#configurer_les_fichiers_preseed

A Dakar, nous avons passé presque deux jours avant de trouver tous les paramètres qui nous convenait. Mais désormais, l'installation d'une machine Ubuntu ne prend que 10 secondes de temps : booter la machine en PXE, choisir ''autojaunty'', et... aller faire autre chose !

'''Note: '''  Au CNF de Réduit soucis avec d-i partman-auto/expert_recipe

Concernant le partitionnement avec le mode "d-i partman-auto/expert_recipe" dans le fichier preseed, il faut que les paramètres de toutes les partitions souhaitées sont écrites sur une seule ligne car sur plusieurs lignes ça fontionne pas.  

La raison est qu'il y a des espaces après les antislashes (\) qui posent ce problème.  Pour éviter de perdre du temps je l'ai dans une seule ligne. Je viens de tester sur plusieur lignes aussi et il marche mais à ne pas oublier des espaces après les antislahes (\) erreur que j'ai fait.
(ShafeekSumser)


= Voir aussi =

 * [[PXE]] en général
 * [[UDPCast]] pour la duplication des machines installées