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:
Ceci nous permettra de choisir sur quoi la machine va démarrer (en fonction de sa MAC)
yum --enablerepo=smecontribs install smeserver-thinclient smeserver-tftp-server
config setprop tftpd status enabled signal-event tftpd-conf
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)
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
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
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
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
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
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