From a903315e3d1492570ac8ce24db64bf7a69eb3fd7 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Sat, 17 Nov 2012 01:43:29 +0100 Subject: [PATCH] [pxeboot] divers Ignore-this: d020ab72975a87382f8c6502b9c42df9 darcs-hash:20121117004329-3a55a-432d36760685c60888ad7acf80aa6cf1c9b1b67b.gz --- gestion/gen_confs/pxeboot | 88 ++++++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 33 deletions(-) diff --git a/gestion/gen_confs/pxeboot b/gestion/gen_confs/pxeboot index 27f68ef8..225166d4 100755 --- a/gestion/gen_confs/pxeboot +++ b/gestion/gen_confs/pxeboot @@ -1,4 +1,4 @@ -#!/bin/bash -x +#!/bin/bash -e # # pxeboot.sh: création d'un répertoire TFTP de boot par PXE # Copyright (C) 2008, Nicolas Dandrimont @@ -13,12 +13,12 @@ TMPDIR="/var/tmp/build-netboot" ISODIR="/var/lib/tftpboot-g" [[ $1 == "" ]] && echo "Il faut spécifier l'IP" && exit 1 OWN_IP="$1" - -umount /var/lib/tftpboot/livecd/ubuntu/* +/etc/init.d/nfs-kernel-server stop +umount /var/lib/tftpboot/livecd/ubuntu/* || true; rm -rf $TFTPROOT || exit 1 # Définitions spécifiques au Sys Rescue CD -SYSRCCD_ARCHS="i386 amd64" +SYSRCCD_ARCHS="" SYSRCCD_FTP="http://ftp.crans.org/pub/distributions/linux/systemrescuecd" # Définitions spécifiques à Debian @@ -32,63 +32,65 @@ DEBIAN_BACKPORT_ARCHS="i386 amd64" DEBIAN_BACKPORT_FTP="ftp://cdimage.debian.org/cdimage/unofficial/backports/" # Définitions spécifiques à Ubuntu -UBUNTU_DISTS="maverick natty oneiric precise" +UBUNTU_DISTS="maverick natty oneiric precise quantal" UBUNTU_ARCHS="i386 amd64" UBUNTU_FTP="ftp://ftp.crans.org/ubuntu/dists" -UBUNTU_LIVE="10.10 11.04 11.10 12.04 12.10" +UBUNTU_LIVE="11.10 12.04 12.10" # il faut modifier le nfs et mettre les images dans $ISODIR/ubuntu/ # puis les monter et partager dans $TFTPROOT/livecd/ubuntu/$dist-$arch +UBUNTU_LIVE_TYPE="ubuntu xubuntu kubuntu" UBUNTU_LIVE_ARCHS="i386 amd64" # Définitions spécifiques à Mandriva -MANDRIVA_DISTS="2010.1 2010.2" +MANDRIVA_DISTS="" MANDRIVA_ARCHS="i586 x86_64" MANDRIVA_FTP="ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/official" # Définitions spécifiques à CentOS -CENTOS_DISTS="5.6" +CENTOS_DISTS="5.8 6.3" CENTOS_ARCHS="i386 x86_64" CENTOS_FTP="ftp://mirror.in2p3.fr/pub/linux/CentOS" # Définitions spécifiques à Fedora -FEDORA_DISTS="14 15 16 17" +FEDORA_DISTS="15 16 17" FEDORA_ARCHS="i386 x86_64" -FEDORA_FTP="ftp://mirror.ovh.net/download.fedora.redhat.com/linux" +FEDORA_FTP="ftp://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/" OPENSUSE_DISTS="11.4" OPENSUSE_ARCHS="i386 x86_64" OPENSUSE_FTP="ftp://ftp.free.fr/mirrors/ftp.opensuse.org/opensuse/distribution/" # Définitions spécifiques à FreeBSD -FREEBSD_DISTS="7.4 8.2" +FREEBSD_DISTS="8.2 8.3" FREEBSD_ARCHS="i386 amd64" FREEBSD_FTP="ftp://ftp.fr.freebsd.org/pub/FreeBSD/" # Définition spécifiques à NetBSD -NETBSD_DIST="5.1" +NETBSD_DIST="5.1 6.0" NETBSD_ARCHS="i386 amd64" NETBSD_FTP="ftp://iso.fr.netbsd.org/pub/NetBSD" # Définitions spécifiques à OpenBSD -OPENBSD_DIST="4.9" +OPENBSD_DIST="5.1 5.2" OPENBSD_ARCHS="i386 amd64" -OPENBSD_FTP="ftp://ftp.crans.org/mirror/OpenBSD" +OPENBSD_FTP="ftp://ftp.crans.org/pub/OpenBSD" #################################### # Vérifications #################################### -for dist in $UBUNTU_LIVE; do - for arch in $UBUNTU_LIVE_ARCHS; do - if ! test -e $ISODIR/ubuntu/ubuntu-$dist-desktop-$arch.iso - then echo "$ISODIR/ubuntu/ubuntu-$dist-desktop-$arch.iso n'existe pas" && exit 1 - fi - done +for type in $UBUNTU_LIVE_TYPE; do + for dist in $UBUNTU_LIVE; do + for arch in $UBUNTU_LIVE_ARCHS; do + if ! test -e $ISODIR/ubuntu/$type-$dist-desktop-$arch.iso + then echo "$ISODIR/ubuntu/$type-$dist-desktop-$arch.iso n'existe pas" && sleep 5; + fi + done + done done - mkdir -vp $TMPDIR #mkdir -vp $TFTPROOT #mkdir -vp $TFTPROOT/boot-screens @@ -141,6 +143,7 @@ for arch in $SYSRCCD_ARCHS; do wget -c $SYSRCCD_FTP/image/isolinux/rescue`echo $arch | sed -n 's/amd64/64/p'` -O $TFTPROOT/sysrescuecd/$arch/rescue done +if [[ $SYSRCCD_ARCHS != "" ]]; then cat >> $TFTPROOT/boot-screens/menu.cfg << EOF menu begin sysrescuecd menu title Sysrescue Cd @@ -160,6 +163,7 @@ done cat >> $TFTPROOT/boot-screens/menu.cfg << EOF menu end EOF +fi ########################### # Fin sysrescuecd # ########################### @@ -185,7 +189,7 @@ for dist in $DEBIAN_DISTS; do cp $TMPDIR/netboot-debian-gtk-$dist-$arch/debian-installer/$arch/linux $TFTPROOT/debian-gtk-$dist/$arch wget -c $DEBIAN_FTP/$dist/main/installer-kfreebsd-$arch/current/images/netboot/netboot.tar.gz -O $TMPDIR/netboot-debian-kfreebsd-$dist-$arch.tar.gz mkdir -p $TMPDIR/netboot-debian-$dist-kfreebsd-$arch/ - tar zxf $TMPDIR/netboot-debian-$dist-kfreebsd-$arch.tar.gz -C $TMPDIR/netboot-debian-$dist-kfreebsd-$arch/ + tar zxf $TMPDIR/netboot-debian-kfreebsd-$dist-$arch.tar.gz -C $TMPDIR/netboot-debian-$dist-kfreebsd-$arch/ mkdir -p $TFTPROOT/debian-$dist/kfreebsd-$arch/ cp -r $TMPDIR/netboot-debian-$dist-kfreebsd-$arch/* $TFTPROOT/debian-$dist/kfreebsd-$arch/ done @@ -288,10 +292,10 @@ EOF # DEBIAN BACKPORT # ########################### -rm -r $TMPDIR/netboot-debian-backport-* +#rm -r $TMPDIR/netboot-debian-backport-* || true; for dist in $DEBIAN_BACKPORT_DISTS; do for arch in $DEBIAN_BACKPORT_ARCHS; do - url=`wget $DEBIAN_BACKPORT_FTP/$dist/ -O- | grep netboot | grep $arch | sort | tail -n 1 | sed 's/">/ /'g | sed 's/href="//' | awk '{print $7}'` + url=`wget $DEBIAN_BACKPORT_FTP/$dist/ -O- | grep netboot | grep $arch | sort | tail -n 1 | sed 's/">/ /g;s/href="//;s@@@' | awk '{print $6}'` wget -c $url -O $TMPDIR/netboot-debian-backport-$dist-$arch.tar.gz mkdir -p $TMPDIR/netboot-debian-backport-$dist-$arch/ tar zxf $TMPDIR/netboot-debian-backport-$dist-$arch.tar.gz -C $TMPDIR/netboot-debian-backport-$dist-$arch/ @@ -320,7 +324,7 @@ EOF for arch in $DEBIAN_BACKPORT_ARCHS; do cat >> $TFTPROOT/boot-screens/menu.cfg << EOF menu begin debian-backport-$dist-$arch - menu title Debian Backport $dist $arch + menu $arch label mainmenu menu label ^Back.. menu exit @@ -369,10 +373,14 @@ for dist in $UBUNTU_DISTS; do done done -for dist in $UBUNTU_LIVE; do - for arch in $UBUNTU_LIVE_ARCHS; do - mkdir -p $TFTPROOT/livecd/ubuntu/$dist-$arch - mount -o loop $ISODIR/ubuntu/ubuntu-$dist-desktop-$arch.iso $TFTPROOT/livecd/ubuntu/$dist-$arch +for type in $UBUNTU_LIVE_TYPE; do + for dist in $UBUNTU_LIVE; do + for arch in $UBUNTU_LIVE_ARCHS; do + if test -e $ISODIR/ubuntu/$type-$dist-desktop-$arch.iso; then + mkdir -p $TFTPROOT/livecd/ubuntu/$type-$dist-$arch + mount -o loop $ISODIR/ubuntu/$type-$dist-desktop-$arch.iso $TFTPROOT/livecd/ubuntu/$type-$dist-$arch + fi + done done done @@ -383,16 +391,30 @@ menu begin ubuntu-livecd menu label ^Back.. menu exit EOF +for type in $UBUNTU_LIVE_TYPE; do +cat >> $TFTPROOT/boot-screens/menu.cfg << EOF + menu begin ubuntu-livecd-$type + menu title $type + label mainmenu + menu label ^Back.. + menu exit +EOF for dist in $UBUNTU_LIVE; do for arch in $UBUNTU_LIVE_ARCHS; do +if test -e $ISODIR/ubuntu/$type-$dist-desktop-$arch.iso; then cat >> $TFTPROOT/boot-screens/menu.cfg << EOF - LABEL Ubuntu Livecd $dist $arch - KERNEL /livecd/ubuntu/$dist-$arch/casper/vmlinuz - APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=$OWN_IP:$TFTPROOT/livecd/ubuntu/$dist-$arch initrd=livecd/ubuntu/$dist-$arch/casper/initrd.lz -- + LABEL $type Livecd $dist $arch + KERNEL /livecd/ubuntu/$type-$dist-$arch/casper/vmlinuz + APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=$OWN_IP:$TFTPROOT/livecd/ubuntu/$type-$dist-$arch initrd=livecd/ubuntu/$type-$dist-$arch/casper/initrd.lz -- EOF +fi done done +cat >> $TFTPROOT/boot-screens/menu.cfg << EOF +menu end +EOF +done cat >> $TFTPROOT/boot-screens/menu.cfg << EOF menu end @@ -824,5 +846,5 @@ done #On redémarre de tftp /etc/init.d/tftpd-hpa restart - +/etc/init.d/nfs-kernel-server start echo "Fini"