====== Démarrage en PXE ====== Le but de ce how-to est de configurer notre serveur SME pour amorcer des systèmes directement depuis le réseau, en PXE. Finit les LiveCD à graver tout le temps pour dépanner une machine. Il suffit maintenant de la démarrer sur le réseau (toutes les machines récentes supportent cette technique, il suffit de l'activer dans le BIOS). Pour ça, nous allons utiliser les contributions smeserver-thinclient (http://wiki.contribs.org/Thinclient) et smeserver-tftp-server (http://wiki.contribs.org/Tftp_server). Chaque système que nous allons installer (nous appellerons un système une distribution) pourra être utilisé de deux façons différentes: * la distribution par défaut démarrera sur un menu qui nous permettra choisir la distribution à démarrer parmi toutes celles disponibles * une distribution par système sera aussi créée Ceci nous permettra de choisir sur quoi la machine va démarrer (en fonction de sa MAC) ===== Installation de la contribution thinclient ===== yum --enablerepo=smecontribs install smeserver-thinclient smeserver-tftp-server config setprop tftpd status enabled signal-event tftpd-conf ===== PXELinux ===== Télécharger la dernière version de syslinux depuis http://www.kernel.org/pub/linux/utils/boot/syslinux/ et extraire le binaire pxelinux.0 dans /tftpboot, ainsi que le fichier menu.c32 cd /tmp wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.00.tar.bz2 tar xvjf syslinux-5.00.tar.bz2 cd syslinux-5.00 cp core/pxelinux.0 /tftpboot/ cp com32/menu/menu.c32 /tftpboot/ mkdir -p /tftpboot/pxelinux.cfg cd rm -rf /tmp/syslinux* db thinclient set default dist dir "" install Manual prog pxelinux.0 signal-event thinclient-conf Nus allons créer la base d'un fichier de configuration pxelinux, qui permettra de sélectionner la distribution de notre choix: vim /tftpboot/pxelinux.cfg/default et placez-y le code suivant: default menu.c32 prompt 0 timeout 600 Voilà, nous sommes prêt (enfin, manque plus qu'à ajouter nos distributions) ===== Gparted ===== Télécharger la dernière version de l'ISO (en archive zip) de gparted-livecd depuis ici: http://sourceforge.net/projects/gparted/files/gparted-live-stable/ mkdir /tftpboot/gparted/ cd /tmp/ wget http://downloads.sourceforge.net/project/gparted/gparted-live-stable/0.16.1-1/gparted-live-0.16.1-1-i686-pae.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fgparted%2Ffiles%2Fgparted-live-stable%2F0.16.1-1%2F&ts=1373878939&use_mirror=garr unzip gparted-live-0.16.1-1-i686-pae.zip -d /tftpboot/gparted rm -f gparted-live-0.16.1-1-i686-pae.zip cd /tftpboot/gparted cp -a ../pxelinux.0 ./ mkdir pxelinux.cfg vim pxelinux.cfg/default Puis, placer ce code dans le fichier default: default gparted timeout 1 label gparted kernel live/vmlinuz append initrd=live/initrd.img boot=live config union=aufs noswap noprompt vga=788 fetch=tftp://192.168.7.1/gparted/live/filesystem.squashfs gl_lang=fr_FR gl_kbd=fr keyb=fr gl_batch Il ne reste plus qu'à définir gparted en tant que distribution dans le panel ThinClient db thinclient set gparted dist dir "gparted/" install Manual prog pxelinux.0 ===== Clonezilla ===== Télécharger la dernière version de l'ISO (en archive zip) de clonzilla-live depuis ici: http://www.clonezilla.org/downloads/stable/iso-zip-files.php mkdir /tftpboot/clonezilla cd /tmp/ wget "http://downloads.sourceforge.net/project/clonezilla/clonezilla_live_stable/2.0.1-15/clonezilla-live-2.0.1-15-i686-pae.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fclonezilla%2Ffiles%2Fclonezilla_live_stable%2F2.0.1-15%2F&ts=1356535216&use_mirror=garr" unzip clonezilla-live-2.0.1-15-i686-pae.zip -d /tftpboot/clonezilla rm -f clonezilla-live-2.0.1-15-i686-pae.zip cd /tftpboot/clonezilla cp -a ../pxelinux.0 ./ mkdir pxelinux.cfg vim pxelinux.cfg/default Puis, placer ce code dans le fichier default: default clonezilla timeout 1 label clonezilla kernel live/vmlinuz append initrd=live/initrd.img boot=live config locales=fr_FR.UTF-8 keyboard-layouts=fr union=aufs noswap noprompt vga=788 ocs_live_run="ocs-live-general" fetch=tftp://192.168.7.1/clonezilla/live/filesystem.squashfs Il ne reste plus qu'à définir clonezilla en tant que distribution dans le panel ThinClient db thinclient set clonezilla dist dir "clonezilla/" install Manual prog pxelinux.0 ===== Ubuntu ===== Télécharger l'archive netboot de la version désirée, par exemple http://archive.ubuntu.com/ubuntu/dists/vivid/main/installer-amd64/current/images/netboot/netboot.tar.gz mkdir -p /tmp/ubuntu mkdir -p /tftpboot/ubuntu/vivid/x86_64 cd /tmp/ubuntu wget http://archive.ubuntu.com/ubuntu/dists/vivid/main/installer-amd64/current/images/netboot/netboot.tar.gz tar xvzf netboot.tar.gz mv ./* /tftpboot/ubuntu/vivid/x86_64 Puis ajouter la distribution: db thinclient set vivid-64b dist dir "ubuntu/vivid/x86_64" install Manual prog pxelinux.0 ===== CentOS 5 ===== mkdir -p /tftpboot/centos/5/x86_64 cd /tftpboot/centos/5/x86_64 wget http://mirror.centos.org/centos/5/os/x86_64/images/pxeboot/initrd.img wget http://mirror.centos.org/centos/5/os/x86_64/images/pxeboot/vmlinuz cp -a /tftpboot/{pxelinux.0,menu.c32} ./ mkdir pxelinux.cfg cat <<'EOF' > pxelinux.cfg/default default menu.c32 prompt 0 timeout 1 hiddenmenu label CentOS 5 x86_64 kernel vmlinuz append initrd.img EOF cat <<'EOF' >> /tftpboot/pxelinux.cfg/default label CentOS 5 x86_64 kernel centos/5/x86_64/vmlinuz append initrd=centos/5/x86_64/initrd.img EOF Puis ajouter la distribution: db thinclient set centos-5-x86_64 dist dir "centos/5/x86_64" install Manual prog pxelinux.0 ===== CentOS 6 ===== mkdir -p /tftpboot/centos/6/x86_64 cd /tftpboot/centos/6/x86_64 wget http://mirror.centos.org/centos/6/os/x86_64/images/pxeboot/initrd.img wget http://mirror.centos.org/centos/6/os/x86_64/images/pxeboot/vmlinuz cp -a /tftpboot/{pxelinux.0,menu.c32} ./ mkdir pxelinux.cfg cat <<'EOF' > pxelinux.cfg/default default menu.c32 prompt 0 timeout 1 hiddenmenu label CentOS 6 x86_64 kernel vmlinuz append initrd=initrd.img EOF cat <<'EOF' >> /tftpboot/pxelinux.cfg/default label CentOS 6 x86_64 kernel centos/6/x86_64/vmlinuz append initrd=centos/6/x86_64/initrd.img EOF Puis ajouter la distribution: db thinclient set centos-6-x86_64 dist dir "centos/6/x86_64" install Manual prog pxelinux.0 ===== CentOS 7 ===== mkdir -p /tftpboot/centos/7/x86_64 cd /tftpboot/centos/7/x86_64 wget http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/initrd.img wget http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/vmlinuz cp -a /tftpboot/{pxelinux.0,menu.c32} ./ mkdir pxelinux.cfg cat <<'EOF' > pxelinux.cfg/default default menu.c32 prompt 0 timeout 1 hiddenmenu label CentOS 7 x86_64 kernel vmlinuz append initrd=initrd.img EOF cat <<'EOF' >> /tftpboot/pxelinux.cfg/default label CentOS 7 x86_64 kernel centos/7/x86_64/vmlinuz append initrd=centos/7/x86_64/initrd.img inst.repo=http://mirror.centos.org/centos/7/os/x86_64/ EOF Puis ajouter la distribution: db thinclient set centos-7-x86_64 dist dir "centos/7/x86_64" install Manual prog pxelinux.0