= Boot via le réseau = == Contexte == Le but de cette page est de documenter l'installation d'une machine via le réseau internet en l'absence de CD d'installation fonctionnel. Ma situation était simple : * Cd d'installation qui ne marchait pas * Le temps qui passait * 20 postes à installer le plus vite possible == Préparation == Ici, il faut s'assurer de quelques petites choses : * La machine A à installer a bien une carte réseau * Une autre machine B (serveur) sur laquelle il est possible d'installer les outils nécessaires * Un réseau local fonctionnel * Les machine A et la machine B sont bien sur le même concentrateur * Un miroir COMPLET accessible en local ou à défaut une très bonne connexion à internet * Une bonne connaissance de linux Voila, je suppose que vous avez de quoi vous occuper durant la très longue période d'installation. Ok c'est parti == Installation == Il y a deux étapes distinctes : Sur le serveur et sur les clients. === Sur le serveur === * Installer un serveur TFT et inetd si ce n'est déja fait {{{ sudo apt-get install tftpd-hpa inetutils-inetd }}} * Automatiser le lancement de TFT à chaque demande (ne pas le mettre en tant que daemon) en ajoutant dans le fichier ''/etc/inetd.conf'' la ligne suivante : {{{ tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot }}} * Mettre à jour la configuration {{{ sudo update-inetd --enable BOOT }}} * Dans le fichier {{{ /etc/default/tftpd-hpa }}} passer le paramêtre ''RUN_DAEMON'' à "yes" * Si il n'y a pas de serveur DHCP sur le réseau installer en un avec {{{ sudo apt-get install dhcp3-server }}} et dans le fichier de configuration {{{ /etc/dhcp3/dhcp.conf }}} dans la déclaration de votre réseau ajouter les lignes : {{{ next-server adresse_réseau_machineB; filename "pxelinux.0"; }}} Ce qui donne : {{{ subnet adresse_du_réseau netmask masque_du_reseau { range adresse_reseau_depart adresse_reseau_arrivée; next-server adresse_réseau_machineB; filename "pxelinux.0"; } }}} * Redémarrer le server dhcp avec {{{ sudo /etc/init.d/dhcp3-server start }}} * Retour sur la machine B pour télécharger la liste des fichiers nécessaires au boot sur réseau : {{{ lftp -c "open http://archive.ubuntu.com/ubuntu/dists/$DISTRIBUTION/main/installer-i386/current/images/; mirror netboot/" }}} * Copier tout cela dans le bon dossier avec {{{ cp -a netboot/* /var/lib/tftpboot }}} * RDV dans ''/var/lib/tftpboot/'' et vérifiez la liste des fichiers présents avec ''ls''. Ca devrait ressembler à quelque chose comme cela : {{{ /var/lib/tftpboot/ /var/lib/tftpboot/pxelinux.0 /var/lib/tftpboot/initrd.gz /var/lib/tftpboot/mini.iso /var/lib/tftpboot/debian-installer /var/lib/tftpboot/debian-installer/linux /var/lib/tftpboot/debian-installer/initrd.gz /var/lib/tftpboot/debian-installer/boot-screens /var/lib/tftpboot/debian-installer/boot-screens/splash.rle /var/lib/tftpboot/debian-installer/boot-screens/f1.txt /var/lib/tftpboot/debian-installer/boot-screens/f2.txt /var/lib/tftpboot/debian-installer/boot-screens/f3.txt /var/lib/tftpboot/debian-installer/boot-screens/f4.txt /var/lib/tftpboot/debian-installer/boot-screens/f5.txt /var/lib/tftpboot/debian-installer/boot-screens/f6.txt /var/lib/tftpboot/debian-installer/boot-screens/f7.txt /var/lib/tftpboot/debian-installer/boot-screens/f8.txt /var/lib/tftpboot/debian-installer/boot-screens/f9.txt /var/lib/tftpboot/debian-installer/boot-screens/syslinux.txt /var/lib/tftpboot/debian-installer/boot-screens/f10.txt /var/lib/tftpboot/initrd.list /var/lib/tftpboot/vmlinuz /var/lib/tftpboot/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg/default }}} C'est bon. === Sur le client === Enfin sur toutes les machines A permettre le démarrage sur réseau avant le reste des autres options de démarrage(une option dans le BIOS dans la séquence de démarrage -boot order), sauvegarder et redémarrer les. Ca devrait marcher. == Finalisation == Bon à la fin de l'installation, n'oubliez pas désactiver l'option du boot sur le réseau sinon, elles ne démarreront jamais sur leur disques dur LOL