PXE ou comment la renaissance d'un vieux portable

Tags:: linux :: ubuntu :: fedora

Après une installation remontant à 2 ans d'une Fedora 7, son dernier démarrage aura été de m'afficher "GRUB" puis plus rien... Mon lecteur DVD ROM ne fonctionne plus, et pas moyen de booter sur une clef USB (non géré pas mon BIOS)... je me suis dit que le dernier souffle de mon presario 2100 sur lequel j'ai appris mon métier venait de survenir.

Je n'avais pas pensé au fait que mon portable pouvait faire un démarrage réseau, appelé PXE (Preboot Execution Environment), et comme je connaissais un peu la méthode, je me suis dit "pourquoi pas ?". J'ai donc un DVD de la dernière Ubuntu sous la main, et mon poste de bureau sour Fedora 8. Ce fut donc parti pour l'ultime tentative de réanimation de vieux coucou.

Comment devons nous procéder ? Simplement en faisant ces opérations que je vais vous détailler:

  • installer et paramétrer TFTP, un système de service réseau léger
  • copier les fichiers nécessaire à un boot pxe depuis le DVD de Ubuntu (cela fonctionne avec d'autres distributions)
  • installer et paramétrer un DHCP pour que mon portable soit géré par mon poste de travail, et qu'il lui fournisse le nécessaire pour booter et lancer une installation

Nous allons donc nous mettre d'accord sur les noms, mon poste de travail qui fera office de serveur d'installation sera appelé pour cet article: desktop tandis que le portable sera nommé : portable.

Mon DVD est monté sur desktop avec le point de montage: /media/Ubuntu 8.04 i386. Dans ce répertoire se trouve un sous répertoire: install/netboot. Ce répertoire contient un fichier et un répertoire très importants: pxelinux.0 qui est le fichier qui va permettre de démarrer le boot réseau, et pxelinux.cfg qui est un répertoire de configuration. Ce dernier contient un fichier "default" qui sera la configuration que nous utiliserons.

Nous notons simplement que le répertoire à utiliser sera "/media/Ubuntu 8.04 i386/install/netboot/".

Reste à installer TFTP et DHCP.
Sur mon desktop je m'installe donc les paquets nécessaires:


su -
yum install tftp-server dhcp
 

Après quelques secondes les deux paquets sont installés. Commençons par paramétrer le service TFTP. Ce serveur va être exécuté à la demande grâce à xinetd. Sur ma Fedora, un fichier par défaut est déjà présent, il ne me reste plus qu'à le modifier pour faire pointer le serveur vers le répertoire netboot. Voici la configuration que j'ai posé dans /etc/xinetd.d/tftp:


# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type     = dgram
        protocol        = udp
        wait            = yes
        user            = root
        server          = /usr/sbin/in.tftpd
        server_args     = -s "/media/Ubuntu 8.04 i386/install/netboot/"
        disable         = no
        per_source      = 11
        cps             = 100 2
        flags           = IPv4
}

 

Surtout, n'oubliez pas de passer la variable disable à ''no'; voilà pour le service TFTP, il faut relancer le service xinetd pour qu'il soit pris en compte:


service xinetd restart
 

Passons à DHCP, comme j'ai un réseau avec un routeur internet (livebox par exemple, ou un routeur netgear...) je ne veux pas que mon serveur réponde à toutes les machines mais seulement au portable. Le cas échéant, le serveur DHCP de mon routeur serait court-circuité par mon DHCP sur le desktop et aucune de mes autres machines ne pourraient avoir internet.

Il me suffit simplement de prendre l'adresse MAC de ma carte sur mon portable (en général c'est écrit en dessous de l'ordinateur) et de renseigner correctement le service DHCP pour qu'il ne s'occupe que de mon portable.

Voici comment j'ai configuré mon DHCP dans le fichier /etc/dhcpd.conf sachant que mon réseau est en classe A:


#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample 
#
       
ddns-update-style interim;
options  routers 10.0.0.1;
options  domain-name-servers 10.0.0.1;

subnet 10.0.0.0 netmask 255.0.0.0 {
        host portable {
                hardware ethernet 00:0B:CD:87:3F:46;
                fixed-address 10.0.0.200;
                filename "pxelinux.0";
        }
}

 

J'ai donc un simplement défini que le pc qui a l'adresse MAC 00:0B:CD:87:3F:46 aura l'adresse 10.0.0.200 et qu'il devra prendre le fichier pxelinux.0 au boot PXE.

Si vous avez une freebox, une livebox... le réseau est en général en classe C, soit 192.168.0.0, par exemple, livebox a un réseau 192.168.1.0/255.255.255.0. Configurez donc le DHCP avec les adresses correctes

On démarre le service DHCP de cette manière:


service dhcpd start
 

Et c'est fini ! Je branche mon portable en ethernet (câble réseau) et je démarre. Le Bios me propose de presser F12 pour un boot réseau PXE, ce que je fais. En quelques secondes je vois que son adresse réseau passe à 10.0.0.200 et il m'affiche juste derrière un boot d'install Ubuntu.

L'installation peut commencer, test de matériel, proposition de formatage de disque (d'ailleurs j'ai demandé un partitionnement automatique). L'installeur trouve mon routeur netgear comme je lui ai demandé et il commence l'installation.

Après quelques minutes, je dois redémarrer pour voir si l'installation s'est bien passé. Avant tout je coupe le serveur DHCP de ma fedora (desktop) au cas où service dhcpd stop et je redémarre le portable.

Tout à fonctionné. Le portable retrouve la vie.

Pour résumer, l'installation m'a pris 40 minutes en tout, configuration des serveurs comprise. Je n'ai eut que cela à faire:

  • mettre le DVD d'installation Ubuntu dans le lecteur de mon poste desktop
  • installer TFTP et DHCP sur le poste desktop
  • lancer les services
  • booter le portable en PXE

Notez que vous pouvez modifier les fichiers de configuration de pxelinux.cfg pour faire des installation réseau automatiques et complète. Cela peut être vraiment utile si vous avez souvent des postes à installer sur un réseau d'entreprise.

Pour ma part, comme mon portable n'avait plus de lecteur CDROM, pas de possibilité de booter sur de l'USB, l'install PXE était mon dernier recours, mais il n'a pas été un problème à mettre en place. C'est étonnant d'ailleurs que ce soit si simple.

Ressources:
http://fr.wikipedia.org/wiki/Preboot_Execution_Environment
http://doc.fedora-fr.org/wiki/Configuration_d%27un_serveur_pour_lancer_des_installations_par_PXE_boot
http://doc.ubuntu-fr.org/netboot

Utilisez le code barre pour ouvrir le ticket dans votre mobile:
This ticket on you mobile

Pas de commentaire pour le moment

Ajouter un commentaire
Veuillez répondre à la question suivante : Pim pam et tapez "poom" sans les guillemets

Trackbacks

Pour ajouter un trackback (retrolien) sur ce ticket, utilisez cette adresse: http://www.metal3d.org/index.php/trackback/default/tb?id=blog%2F85

Tags

Blog Copix Communication PC Config Fedora Vidéo Humour Autre Web Materiel Informatique PHP Développement Mootools HTML Linux WEB IE CSS Vista Microsoft Sympa XHTML Quizz Widget Klik CWE Voeux Bonne année Musique CCRMA Son Audio MAO Reconnaissance vocale Windows Mac Compiz MacOS Mysql Sun Base de données BD Screenlets Screenlet RPM compiz Ubuntu Live FireFox Derambarsh Facebook media informations Sécurité javascript SSH Commande Marketing concours ipod wii QT Trooltech Nokia Libre Logiciels GPL Attali Gnome Dock Compiler Bench undelete reiserfs recovery recover Thread Serveur Optimisation Server Apache Album RSS Flash Air XML Firefox Blender Opensource Orange Internet LiveBox Animaux Droits Logiciels Libres Google Loi RBS netcat Bash Téléphone Spam 3D NIDIA Standards Widgets Merise UML Streaming Developpement Perl MySQL Firewall Parfeu Bayes Novell Réseau Python LVS Salon FTP Dedibox Chrome Administration IRC Gentoo troll video Nouveauté Finance Etudiant spéctacle OpenOffice Javascript Java Info Eclpise ATI design mootools KDE Bureau Design GNU C Pages Jaunes Fun Bijoux Art mail Admin vmware fedora linux VirtualBox VMWare Qemu KVM vim Grep Fglrx Webkit GTK google web JQuery Coup de gueule coup de gueule Lois SVG Raycaster Canvas Hadopi Desktop Jeux Les Sims développement astuces Screen firefox Mobile Safaru Wine bash commande astuce Wave ooc C++ C# Netbook Hercules Bureautique Twitter Safari W3C chrome kazehakaze midori navigateur gecko webkit Links Liens Pyhon Nouvelles Metal Perso Conférence JDLL PCC Roadsend OOC News Acteur Cinéma Chanteur Seven windows orthographe pcc php jdll Slide Application mysql Html twitter python screen curses SVN Android Gphone iPhone OpenGL MindMap Projet Javascrtip Ajax Guitare Tab Tablature JSON firebug Chromium Iphone Titanium music sound android ogg ogv streaming

  • twitter entries...
follow me on Twitter

Valid XHTML 1.0 Strict