Taille: 4707
Commentaire: remise à jour de cette page... reste perfectible...
|
Taille: 5555
Commentaire:
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
= PXE : Pre-Execution Environment = | <<TableOfContents>> |
Ligne 3: | Ligne 3: |
PXE est un système de boot réseau, disponible sur quasiment toutes les machines modernes possédant une carte réseau Ethernet. Son fonctionnement est simple : * requête DHCP pour obtenir une adresse IP et un nom de fichier à charger * téléchargement d'une image PXE par TFTP (en général ''pxelinux.0'') * lancement de cette image |
= Installation d'Ubuntu par le réseau (PXE) = |
Ligne 8: | Ligne 5: |
L'image ''pxelinux.0'', fournie le paquet `syslinux` permet de booter de manière sélective plusieurs systèmes (locales, ou distantes), notamment celles présentes sur le serveur TFTP. La configuration se situe dans le répertoire ''pxelinux.cfg/'' du serveur TFTP. | 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]]. |
Ligne 10: | Ligne 7: |
= Mise en place sur Debian Lenny = | {i} L'installation par réseau est encore plus efficace quand vous disposez d'un miroir local, voir la page [[Miroir]]. |
Ligne 12: | Ligne 9: |
Installer un serveur TFTP (`atftp`) et `syslinux` qui contient un code de démarrage PXE : {{{ # aptitude install atftpd syslinux |
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/ |
Ligne 17: | Ligne 28: |
Vérifier l'existence du répertoire `/tftpboot` (le créer au besoin) ; y copier le fichier `pxelinux.0` : {{{ # mkdir /tftpboot # cp -a /usr/lib/syslinux/pxelinux.0 /tftpboot/ }}} Editer le fichier de configuration du serveur dhcp `/etc/dhcp/dhcpd.conf` en y ajoutant les options '''next-server''' et '''filename''', comme ici : {{{ # extrait de /etc/dhcp/dhcpd.conf, pour exemple : authoritative; default-lease-time 600; max-lease-time 7200; option domain-name "xx.auf.org"; option domain-name-servers ns.xx.auf.org; subnet 192.168.1.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers gw.domain.net; range 192.168.1.100 192.168.1.200; # serveur TFTP qui propose l'image PXE next-server 192.168.1.1; # nom du fichier à charger en mémoire par les clients via TFTP filename "pxelinux.0"; } }}} Créer la configuration par défaut de pxelinux.0 dans l'arborescence TFTP, `/tftpboot/pxelinux.cfg/default` (si besoin, créer le répertoire `/tftpboot/pxelinux.cfg/`) : {{{ # exemple de configuation de pxelinux.0 par défaut # extrait du fichier /tftpboot/pxelinux.cfg/default # Documentation complète dans /usr/share/doc/syslinux/pxelinux.txt.gz DEFAULT disque PROMPT 1 TIMEOUT 0 # boot disque local label disque localboot 0 append - # boot UDPcast label udpcast kernel linux-udpcast append load_ramdisk=1 initrd=initrd-udpcast root=/dev/ram0 auto=yes lang=FR kbmap=FR netmodule=AUTO dhcp=yes enableDiskmodule=no diskmodparm= disk=/dev/sda compr=none netmodparm= port=9000 udpcparam= # boot installateur 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 |
Ligne 72: | Ligne 36: |
Il faut évidemment disposer des fichiers kernel et initrd correspondant dans `/tfptboot`. | 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... |
Ligne 74: | Ligne 38: |
C'est tout... | = Installation totalement automatique = |
Ligne 76: | Ligne 40: |
= Applications classiques = | 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` : |
Ligne 78: | Ligne 42: |
== Installateur réseau Debian/Ubuntu (netboot) == 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 Debian Lenny i386 : http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/netboot.tar.gz * Pour Ubuntu Jaunty i386 : http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/netboot/netboot.tar.gz On prend ce qu'il faut dans le `netboot.tar.gz` et on le copie dans le `/tftpboot`. Par exemple pour Debian Lenny i386 : |
|
Ligne 88: | Ligne 43: |
# cd /tmp # wget http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/netboot.tar.gz # tar zxf netboot.tar.gz # mkdir /tftpboot/debian-installer-lenny # mv /tmp/debian-installer/i386 /tftpboot/debian-installer-lenny/ |
# 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 -- |
Ligne 95: | Ligne 49: |
Puis on indique les chemins au niveau de `pxelinux.cfg/default` : {{{ # extrait de /tftpboot/pxelinux.cfg/default pour installeur Debian label lenny kernel debian-installer-lenny/i386/linux append vga=normal initrd=debian-installer-lenny/i386/initrd.gz -- }}} |
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 |
Ligne 103: | Ligne 54: |
== Lancement de UDPCast (duplication de machines) == | /!\ '''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 !! |
Ligne 105: | Ligne 56: |
Voir la page [[UDPCast]] | 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 |
Ligne 107: | Ligne 61: |
== Booter MSDOS en PXE (objectif : flasher un BIOS) == | 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 ! |
Ligne 109: | Ligne 63: |
Copier l'image de la disquette dans `/tftpboot`. Vous trouverez de nombreuses images sur http://www.veder.com/nwdsk/ (l'image la plus classique est `msubcd.img`). | '''Note: ''' Au CNF de Réduit soucis avec d-i partman-auto/expert_recipe |
Ligne 111: | Ligne 65: |
Pour démarrage une disquette, utiliser le système `memdisk` fourni avec `syslinux` : {{{ # cp /usr/lib/syslinux/memdisk /tftpboot }}} |
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. |
Ligne 116: | Ligne 67: |
Ajouter une section dans le fichier `pxelinux.cfg/default` : {{{ # extrait de /tftpboot/pxelinux.cfg/default LABEL dos kernel memdisk/memdisk append initrd=memdisk/msubcd.img }}} |
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 |
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.
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é : 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
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)