Installer Debian Squeeze à l’aide du démarrage en PXE

, par Michel Suquet

Les serveurs se3 proposent maintenant l’installation de clients linux via le mode pxe. Le lecteur est invité à se reporter à la documentation de l’installation automatique via pxe.

L’article ci-dessous pouvant donner quelques informations qui ne sont pas encore incorporées à cette documentation est laissé disponible en attendant.

Pour installer, sur des machines d’un réseau, un système d’exploitation comme Debian ou Ubuntu, la méthode classique est de télécharger une image iso de ce système d’exploitation, de la graver sur un CD puis de démarrer les machines à partir du CD.

Il est présenté (pour mémoire car un paquet du serveur se3 automatise cette méthode) ici une méthode qui consiste à utiliser un démarrage en mode PXE (Pre-boot eXecution Environment) et donc sans CD.

Une automatisation de l’installation est possible à l’aide d’un fichier preseed qui donnera les réponses à toutes les questions posées lors de l’installation.

La mise en œuvre de cette méthode est facilitée par la présence d’un serveur TFTP sur le serveur SE3. La première action est donc d’activer ce serveur TFTP.

Remarque 1 : tout ce qui est dit est transférable à la version Wheezy de Debian.

Remarque 2 : le serveur SE3 propose maintenant une gestion automatisée des installations Ubuntu ou Debian par l’intermédiaire du serveur TFTP via un démarrage en PXE. Tout ce qui suit est laissé pour mémoire et peut éventuellement donner des idées aux personnes ne possédant pas de serveurs SE3.

Activation du serveur TFTP du SE3

Pour activer le serveur TFTP, sur la console web du SE3, vous ouvrez le menu Serveur tftp et vous sélectionnez Configurer le module.

Remarque : Vous trouverez des précisions sur le module Serveur TFTP et sur le démarrage en mode PXE d’un client du réseau en consultant le site SambaEdu de l’académie de Caen.





Vous cliquez sur Oui pour utiliser le menu graphique






…puis vous cliquez sur Valider les choix.

Remarque  : Je vous recommande aussi d’indiquer un mot de passe pour sécuriser un peu l’entrée dans ce mode PXE au démarrage de chaque machine.

Je ne sais pas exactement la syntaxe des mots de passe du serveur TFTP, mais uniquement des minuscules sont suffisantes (8 ou 9 minuscules par exemple). D’après mes essais, les chiffres ne sont pas acceptés et je n’ai pas essayé avec une combinaison de minuscules et majuscules…

Arborescence du répertoire tftpboot

Le répertoire de base du serveur TFTP est le répertoire /tftpboot/ qui se trouve, dans un serveur SE3, à la racine.

Ce répertoire contient déjà un certain nombre de sous-répertoires et fichiers de configuration.

Ouvrez une console en root sur le serveur SE3, placez-vous dans le répertoire /tftpboot/ et créez un répertoire /tftpboot/debian à l’aide de la commande suivante [1] :

  1. # mkdir /tftpboot/debian






Remarque : Par la suite, vous pourrez créer de la même façon d’autres répertoires pour organiser le gestion des différents outils que vous rajouterez pour les rendre disponibles par ce mode PXE.

Téléchargement de l’archive netboot

Toujours dans la console en root sur le serveur SE3, il s’agit de télécharger l’archive netboot.tar.gz dans laquelle se trouve les 2 fichiers nécessaires pour le démarrage d’une installation de la distribution Debian. Voici les commandes pour cette action [2] :

  1. # mkdir -p /tmp
  2. # wget http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/netboot.tar.gz -O /tmp/netboot-debian-squeeze-i386.tar.gz

Télécharger

L’archive se trouvera alors dans le répertoire temporaire /tmp/ créé à cette occasion s’il n’existe pas encore. L’archive téléchargée a été renommée pour la repérer plus facilement et surtout la distinguer d’autres archives semblables.

Remarque : il faudra régulièrement télécharger cette archive et mettre en place les fichiers comme ci-dessous, car, si cela n’est pas fait, vous pouvez avoir un problème lors de l’installation avec la non-détection du disque dur.

Mise en place des fichiers

La première chose à faire est maintenant de dé-compresser, dans un répertoire temporaire, l’archive téléchargée, à l’aide des commandes suivantes :

  1. # mkdir -p /tmp/netboot-debian-squeeze-i386/
  2. # cd /tmp/netboot-debian-squeeze-i386/; tar zxvf /tmp/netboot-debian-squeeze-i386.tar.gz

Télécharger

Dans le répertoire obtenu, les 2 fichiers qui nous seront utiles sont initrd.gz et linux. On les copie dans le sous-répertoire /tftpboot/debian/debian-squeeze/i386/ créé auparavant :

  1. # mkdir -p /tftpboot/debian/debian-squeeze/i386/
  2. # cp /tmp/netboot-debian-squeeze-i386/debian-installer/i386/initrd.gz /tftpboot/debian/debian-squeeze/i386/
  3. # cp /tmp/netboot-debian-squeeze-i386/debian-installer/i386/linux /tftpboot/debian/debian-squeeze/i386/

Télécharger

L’essentiel est maintenant en place. Il reste à indiquer comment lancer l’installation au démarrage en mode PXE.

Remarque : Si vous voulez installer la version 64 bits, il faudra utiliser les mêmes commandes avec amd64 à la place de i386.

Ajout d’une entrée dans les menus PXE

Le serveur PXE mis en place dans le SE3 contient déjà des menus organisés dans le répertoire /tftpboot/pxelinux.cfg/ à partir du fichier /tftpboot/pxelinux.cfg/default. Ces menus sont les fichiers dont l’extension est .menu et se trouvent dans le répertoire /tftpboot/pxelinux.cfg/

On peut par exemple utiliser le fichier linux.menu.

Mettez-vous dans le répertoire /tftpboot/pxelinux.cfg/ et éditer le fichier linux.menu :

  1. # nano linux.menu

Rajouter, aux lignes déjà présentes, les lignes suivantes :

  1. LABEL Debian
  2. MENU LABEL ^Netboot Debian Squeeze
  3. KERNEL debian/debian-squeeze/i386/linux
  4. APPEND vga=normal initrd=debian/debian-squeeze/i386/initrd.gz --quiet
  5. TEXT HELP
  6. Installation de Debian Squeeze par internet
  7. ENDTEXT

Télécharger


Enregistrez (Ctrl+O) et quittez le mode d’édition (Ctrl+X). C’est prêt :-)

N’oubliez pas bien sûr d’effacer les fichiers des répertoires temporaires… Ce n’est pas une obligation mais c’est mieux :-)

Utilisation sur une machine

Pour utiliser le mode PXE, il suffit, la plupart du temps, d’appuyer sur la touche F12 (cela dépend des machines) au démarrage de la machine.

Il faudra aussi s’assurer que le mode PXE est bien actif sur la machine : cela se règle dans les options du Bios (partie carte réseau).

Utilisation d’un miroir local

Lors de l’installation de Debian, il est possible aussi d’utiliser un miroir local si on en possède un.

Pour se concocter un tel miroir local, vous pouvez consulter l’article Dépôt local qui se trouve sur le WikiTice de l’académie de Versailles.

Il faudra prendre soin d’inclure la section /main/debian-installer au miroir.

Au cours de l’installation, lors du choix du dépôt, il faudra prendre l’option saisie manuelle et indiquer le nom de la machine hébergeant le dépôt (comme alice, si on reprend les paramètres de l’article WikiTice) ou son adresse IP, puis le chemin vers le répertoire où le dépôt est stocké (/depot/debian/ si on reprend les paramètres de l’article du WikiTice dans le cas de debmirror ou bien /miroir/ftp.fr.debian.org/debian/ dans le cas de apt-miror). Comme d’habitude, le mandataire est laissé vide…

Utilisation d’un fichier preseed

Lors d’une installation classique de Debian/Squeeze, un certain nombre de questions vous sont posées : choix de la langue, du pays, du clavier, configuration du réseau, …

Les réponses à ces questions peuvent être paramétrées dans un fichier que l’on appelle fichier preseed car il est souvent nommé preseed.cfg.

Selon l’installation à réaliser, un tel fichier est plus ou moins compliqué à écrire. Nous vous proposons un tel fichier pour une installation de Debian/Squeeze sur un disque dur entier. En fonction de votre système, des modifications pourront être apportées : voir la documentation.

fichier squeeze-preseed.cfg

Remarque : ce fichier est prévu pour utiliser debmiror mais si vous utilisez apt-miror, il faudra modifier le chemin du dépôt local en remplaçant /depot/debian par /miroir/ftp.fr.debian.org/debian

Pour utiliser un fichier preseed, il faut compléter le fichier linux.menu ci-dessus et mettre le fichier preseed.cfg dans le répertoire /var/www/debian/. Il faudra aussi l’adapter pour passer de Squeeze à Wheezy.

Mettez-vous dans le répertoire /tftpboot/pxelinux.cfg/ et éditer le fichier linux.menu :

  1. # nano linux.menu

Modifiez avec les lignes suivantes :

  1. LABEL DebianSqueeze
  2. MENU LABEL ^Netboot Debian Squeeze en mode Manuel
  3. KERNEL debian/debian-squeeze/i386/linux
  4. APPEND ramdisk_size=14984 language=fr locale=fr_FR.UTF-8 console-setup/layoutcode=fr_FR netcfg/wireless_wep= netcfg/choose_interface=eth0 netcfg/dhcp_timeout=60 netcfg/get_domain=intranet.local keyboard-configuration/xkb-keymap=fr languagechooser/language-name=French countrychooser/shortlist=FR console-keymaps-at/keymap=fr debian-installer/country=FR debian-installer/locale=fr_FR.UTF-8 initrd=debian/debian-squeeze/i386/initrd.gz --quiet
  5. TEXT HELP
  6. Installation de Debian Squeeze par internet
  7. ENDTEXT
  8.  
  9. LABEL DebianSqueezePreseed
  10. MENU LABEL ^Netboot Debian Squeeze avec fichier Preseed
  11. KERNEL debian/debian-squeeze/i386/linux
  12. APPEND ramdisk_size=14984 language=fr locale=fr_FR.UTF-8 console-setup/layoutcode=fr_FR netcfg/wireless_wep= netcfg/choose_interface=eth0 netcfg/dhcp_timeout=60 netcfg/get_hostname=socrate netcfg/get_domain=intranet.local keyboard-configuration/xkb-keymap=fr languagechooser/language-name=French countrychooser/shortlist=FR console-keymaps-at/keymap=fr debian-installer/country=FR debian-installer/locale=fr_FR.UTF-8 preseed/url=http://se3monnet/debian/squeeze-preseed.cfg initrd=debian/debian-squeeze/i386/initrd.gz --
  13. TEXT HELP
  14. Installation de Debian Squeeze par internet avec un fichier Preseed
  15. ENDTEXT

Télécharger

Enregistrez (Ctrl+O) et quittez le mode d’édition (Ctrl+X).

Remarques : le nom de la machine à installer (socrate dans l’exemple) est passé en paramètre dans la ligne APPEND ci-dessus. Le nom du SE3 est aussi passé en paramètre pour le chargement du fichier preseed (se3monnet dans l’exemple) ; à la place, on peut indiquer l’adresse IP du serveur.

Ensuite, vous modifiez le fichier squeeze-preseed.cfg pour changer les paramètres propres à votre réseau (voir les commentaires dans ce fichier) et vous le mettez dans le répertoire /var/www/debian/ du serveur SE3.

Bonne installation :-)

Remarque : le fichier preseed.cfg est paramétré pour utiliser un miroir local, ce qui accélère notablement l’installation du système.

Notes

[1une ligne de commande qui est précédée par le signe # signifie qu’il faut être en session root pour lancer cette commande. Si vous trouvez le signe $ à la place, la commande peut être lancée dans n’importe quelle session.

[2chaque commande correspond à une seule ligne

Partager

Imprimer cette page (impression du contenu de la page)