Projet

Général

Profil

Wiki » Historique » Version 8

Version 7 (Daniel Dehennin, 27/02/2012 10:57) → Version 8/12 (Daniel Dehennin, 09/03/2012 10:10)

{{toc}}

h1. Installation du "kit" EOLE PXE.

*ATTENTION*: *Si votre configuration PXE démarre automatiquement sur l’installation d’un module, vous risquez de perdre des données*
Il est conseiller de configurer le PXE pour faire démarrer les machines sur leur disque dur par défaut.

Cette procédure décrit la mise en place de la configuration PXE pour installer les modules EOLE.

Cette configuration est en deux partie :

# Une configuration PXE pour @pxelinux@ à mettre dans le répertoire de tftp
# Une configuration project:eole-preseed à mettre dans un répertoire distribué par un serveur web

h2. Prérequis

* Télécharger ce attachment:Makefile ;
* Disposer d'un serveur pxe fonctionnel ;
* Disposer d'uns serveur web fonctionnel ;
* Disposer de la commande git ;
* Disposer de vesamenu.c32 disponible dans syslinux (@/usr/lib/syslinux/vesamenu.c32@)
* Disposer d’un accès internet.

h2. Installation

Vous pouvez (devez?) modifier quelques variables pour correspondre à votre environnement :

* @TFTP_DIR@: Racine du répertoire contenant @pxelinux.0@ ;
* @PRESEED_DIR@: Nom du répertoire contenant les fichiers preseed, c’est à dire URL du répertoire contenant le fichier @common.seed@ ;
* @PRESEED_URL@: @URL@ @HTTP@ jusqu’à la racine des pressed, c’est à dire URL du répertoire contenant le fichier @common.seed@, par défaut http://eoleng.ac-dijon.fr/pub/eole-preseed
* @WEB_DIR@: Racine du répertoire devant contenir le répertoire des preseed ;

Pour cela, il faut spécifier les arguments @VARIABLE=VALEUR@ à @make@ de la façon suivante :

<pre>
user@server:~/$ make TFTP_DIR=/var/lib/tftpboot/bidule CIBLE
</pre>

<pre>
user@tftp-server:~/$ make TFTP_DIR=/var/lib/tftpboot/ltsp/i386 PRESEED_DIR=preseed PRESEED_URL=http://192.168.2.5/preseed install-tftp
</pre>

<pre>
user@web-server:~/$ make TFTP_DIR=/var/lib/tftpboot/ltsp/i386 WEB_DIR=/var/www/ PRESEED_DIR=preseed install-web
</pre>

Afin de ne pas avoir à spécifier les variables d’environnement à chaque fois, vous pouvez créer un petit script:

<pre>
user@all-server:~/$ cat > do_it <<'EOF'
#!/bin/bash
make WEB_DIR=/var/www/ TFTP_DIR=/var/lib/tftpboot/ltsp/i386 PRESEED_DIR=preseed PRESEED_URL=http://192.168.2.5/preseed $@
EOF
user@all-server:~/$ chmod u+x do_it
</pre>

et l’utiliser de la façon suivante:

<pre>
user@all-server:~/$ ./do_it netinstall
</pre>



h3. Sur le serveur TFTP

La commande @make install-tftp@ se charge :

* De récupérer le dépôt pxe-menu ;
* Modifier les fichiers .conf dans pxe-menu pour modifier @URL_WEB@ ;
* De récupérer les fichiers de @netinstall@ ;
* De créer l’arborescence sous @$(DEST)/$(TFTP_DIR)@ ;
* De copier les fichiers ;
* De créer un lien symbolique @$(DEST)/$(TFTP_DIR)/pxelinux.cfg@ vers @$(DEST)/$(TFTP_DIR)/$(PXE_MENU_DIR)/pxelinux.cfg@ si aucun @$(DEST)/$(TFTP_DIR)/pxelinux.cfg@ n’existe.

ATTENTION: Si vous disposez déjà d’une configuration pxelinux fonctionnelle, vous devez intégrer vous-même la section nécessaire dans votre configuration, vous pouvez utiliser celle disponible dans @pxe-menu/pxelinux.cfg/default@.

h3. Sur le serveur web

Si vous souhaitez utiliser votre propre serveur web pour distribuer les project:eole-preseed, par exemple si "le nôtre":http://eoleng.ac-dijon.fr/pub/eole-preseed n’est pas à jour.

La commande @make install-web@ se charge :

* De récupérer le dépôt eole-preseed ;
* De créer l’arborescence sous @$(DEST)/$(WEB_DIR)@ ;
* De copier les fichiers.

ATTENTION: Vous devez configurer vous-même le serveur web distribuant les preseed, n’oubliez pas que cette configuration doit correspondre avec la variable @PRESEED_URL@.

h2. Mise à jour

La mise à jour se passe comme l’installation, par exemple, lorsque l’installeur de @Precise Pangolin@ signale qu’il ne trouve pas les modules, cela signifie qu’il faut mettre à jour les "kernel":http://fr.wikipedia.org/wiki/Kernel et "initramfs":http://fr.wikipedia.org/wiki/Initramfs :

<pre>

user@all-server:~/$ ./do_it netinstall
user@all-server:~/$ ./do_it install-netinstall
</pre>