From f07f6943fafc707bdf7559e18a93700db98d0548 Mon Sep 17 00:00:00 2001 From: Thomas NOEL Date: Tue, 11 Nov 2014 19:05:38 +0100 Subject: [PATCH] iso: systeme de build avec gestion du initrd --- iso/Makefile | 12 ++++ .../isolinux/menu.cfg | 0 .../isolinux/splash.png | Bin iso/cd-override-amd64/isolinux/supann.cfg | 18 +++++ .../isolinux/txt.cfg | 0 iso/create-netinst-iso | 43 ------------ iso/create-supann-iso | 62 ++++++++++++++++++ iso/override/boot/grub/grub.cfg | 49 -------------- iso/override/isolinux/supann.cfg | 18 ----- 9 files changed, 92 insertions(+), 110 deletions(-) create mode 100644 iso/Makefile rename iso/{override => cd-override-amd64}/isolinux/menu.cfg (100%) rename iso/{override => cd-override-amd64}/isolinux/splash.png (100%) create mode 100644 iso/cd-override-amd64/isolinux/supann.cfg rename iso/{override => cd-override-amd64}/isolinux/txt.cfg (100%) delete mode 100755 iso/create-netinst-iso create mode 100755 iso/create-supann-iso delete mode 100644 iso/override/boot/grub/grub.cfg delete mode 100644 iso/override/isolinux/supann.cfg diff --git a/iso/Makefile b/iso/Makefile new file mode 100644 index 0000000..d058856 --- /dev/null +++ b/iso/Makefile @@ -0,0 +1,12 @@ +CD_OVERRIDE_AMD64=$(shell find *-override-amd64) +#INITRD_OVERRIDE_AMD64=$(shell find initrd-override-amd64) + +all: amd64 + +amd64: debian-7.7.0-amd64-netinst-supann.iso + +debian-7.7.0-amd64-netinst-supann.iso: debian-7.7.0-amd64-netinst.iso $(CD_OVERRIDE_AMD64) + ./create-supann-iso amd64 + +debian-7.7.0-amd64-netinst.iso: + wget http://cdimage.debian.org/debian-cd/7.7.0/amd64/iso-cd/debian-7.7.0-amd64-netinst.iso diff --git a/iso/override/isolinux/menu.cfg b/iso/cd-override-amd64/isolinux/menu.cfg similarity index 100% rename from iso/override/isolinux/menu.cfg rename to iso/cd-override-amd64/isolinux/menu.cfg diff --git a/iso/override/isolinux/splash.png b/iso/cd-override-amd64/isolinux/splash.png similarity index 100% rename from iso/override/isolinux/splash.png rename to iso/cd-override-amd64/isolinux/splash.png diff --git a/iso/cd-override-amd64/isolinux/supann.cfg b/iso/cd-override-amd64/isolinux/supann.cfg new file mode 100644 index 0000000..41e843a --- /dev/null +++ b/iso/cd-override-amd64/isolinux/supann.cfg @@ -0,0 +1,18 @@ +default install +label install + menu label ^SupAnn base Install + menu default + kernel /install.amd/vmlinuz + append vga=788 language=fr keymap=fr country=FR locale=fr_FR.UTF-8 auto=true priority=critical url=http://deb.entrouvert.org/supann/preseed.cfg initrd=/install.amd/initrd.gz -- quiet +label install-slapd-supann + menu label SupAnn slapd (Open^LDAP Server) Install + kernel /install.amd/vmlinuz + append vga=788 language=fr keymap=fr country=FR locale=fr_FR.UTF-8 auto=true priority=critical url=http://deb.entrouvert.org/supann/preseed-slapd-supann.cfg initrd=/install.amd/initrd.gz -- quiet +label install-authentic2-supann + menu label SupAnn ^IdP (Authentic2) Install + kernel /install.amd/vmlinuz + append vga=788 language=fr keymap=fr country=FR locale=fr_FR.UTF-8 auto=true priority=critical url=http://deb.entrouvert.org/supann/preseed-authentic2-supann.cfg initrd=/install.amd/initrd.gz -- quiet +label install-ldapsaisie-supann + menu label SupAnn ^Web interface (ldapsaisie) Install + kernel /install.amd/vmlinuz + append vga=788 language=fr keymap=fr country=FR locale=fr_FR.UTF-8 auto=true priority=critical url=http://deb.entrouvert.org/supann/preseed-ldapsaisie-supann.cfg initrd=/install.amd/initrd.gz -- quiet diff --git a/iso/override/isolinux/txt.cfg b/iso/cd-override-amd64/isolinux/txt.cfg similarity index 100% rename from iso/override/isolinux/txt.cfg rename to iso/cd-override-amd64/isolinux/txt.cfg diff --git a/iso/create-netinst-iso b/iso/create-netinst-iso deleted file mode 100755 index 7e478f1..0000000 --- a/iso/create-netinst-iso +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -if [ $USER != 'root' ]; then - echo "must be launched as root" - exit 1 -fi - -ISO=debian-7.7.0-amd64-netinst.iso - -if [ ! -r $ISO ]; then - echo "missing $ISO" - exit 1 -fi - -# force clean... -rm -rf cd || true -umount loop || true - -echo "extract iso files to cd/" -mkdir loop -mount -o loop $ISO loop -mkdir cd -rsync -a -H --exclude=TRANS.TBL loop/ cd -umount loop -rmdir loop - -echo "override with override/* files" -rsync -av override/* cd/ - -echo "generate new md5sum.txt" -cd cd/ -md5sum `find -follow -type f` > md5sum.txt -cd .. - -echo "create new iso" -genisoimage -o `basename $ISO .iso`-`date +%Y%m%dT%H%M%S`.iso \ - -r -J -no-emul-boot -boot-load-size 4 -boot-info-table \ - -b isolinux/isolinux.bin -c isolinux/boot.cat ./cd - - - - - diff --git a/iso/create-supann-iso b/iso/create-supann-iso new file mode 100755 index 0000000..ce9e58c --- /dev/null +++ b/iso/create-supann-iso @@ -0,0 +1,62 @@ +#!/bin/bash + +if [ ! $# == 1 ]; then + echo "ERR: $0 amd64|i386" + exit 1 +fi + +if [ $USER != 'root' ]; then + echo "ERR: $0 must be launched as root" + exit 1 +fi + +ARCH=$1 +ISO=debian-7.7.0-$ARCH-netinst.iso +INITRD=install.amd/initrd.gz + +if [ ! -r $ISO ]; then + echo "ERR: missing iso $ISO" + exit 1 +fi + +# force clean... +umount loop-$ARCH 2> /dev/null || true +rmdir loop-$ARCH 2> /dev/null || true +rm -rf cd-$ARCH 2> /dev/null || true +rm -rf initrd-$ARCH 2> /dev/null || true + +echo "extract iso $ISO to cd-$ARCH" +mkdir loop-$ARCH +mount -o ro,loop $ISO loop-$ARCH +mkdir cd-$ARCH +rsync -a -H --exclude=TRANS.TBL loop-$ARCH/ cd-$ARCH +umount loop-$ARCH +rmdir loop-$ARCH + +echo "extract cd-$ARCH/$INITRD to initrd-$ARCH" +mkdir initrd-$ARCH || true +cd initrd-$ARCH +gzip -dc ../cd-$ARCH/$INITRD | cpio -id +echo "override initrd-$ARCH with initrd-override-$ARCH" +rsync -a ../initrd-override-$ARCH/* . +echo "create new cd-$ARCH/$INITRD from initrd-$ARCH" +find . | cpio -H newc --create | gzip -9 > ../cd-$ARCH/$INITRD +cd .. + +echo "override cd-$ARCH with cd-$ARCH-override" +rsync -a cd-override-$ARCH/* cd-$ARCH/ + +echo "generate new cd-$ARCH/md5sum.txt" +cd cd-$ARCH/ +md5sum `find -follow -type f 2> /dev/null` > md5sum.txt +cd .. + +NEWISO=`basename $ISO .iso`-`date +%Y%m%dT%H%M%S`.iso +echo "create iso $NEWISO from cd-$ARCH" +genisoimage -quiet -o $NEWISO \ + -r -J -no-emul-boot -boot-load-size 4 -boot-info-table \ + -b isolinux/isolinux.bin -c isolinux/boot.cat ./cd-$ARCH + +SUPANNISO=`basename $ISO .iso`-supann.iso +ln -sf $NEWISO $SUPANNISO +echo "linked to $SUPANNISO" diff --git a/iso/override/boot/grub/grub.cfg b/iso/override/boot/grub/grub.cfg deleted file mode 100644 index fac2246..0000000 --- a/iso/override/boot/grub/grub.cfg +++ /dev/null @@ -1,49 +0,0 @@ -if loadfont /boot/grub/font.pf2 ; then - set gfxmode=800x600 - insmod efi_gop - insmod efi_uga - insmod video_bochs - insmod video_cirrus - insmod gfxterm - insmod png - terminal_output gfxterm -fi - -if background_image /isolinux/splash.png; then - set color_normal=light-gray/black - set color_highlight=white/black -else - set menu_color_normal=cyan/blue - set menu_color_highlight=white/blue -fi -set theme=/boot/grub/theme/1 -menuentry 'SupAnn Install' { - set background_color=black - linux /install.amd/vmlinuz auto url=http://deb.entrouvert.org/supann/preseed.txt priority=critical vga=788 -- quiet - initrd /install.amd/initrd.gz -} -submenu 'Advanced options ...' { - set menu_color_normal=cyan/blue - set menu_color_highlight=white/blue - set theme=/boot/grub/theme/1-1 - menuentry 'Original Debian Install' { - set background_color=black - linux /install.amd/vmlinuz vga=788 -- quiet - initrd /install.amd/initrd.gz - } - menuentry '... Expert install' { - set background_color=black - linux /install.amd/vmlinuz priority=low vga=788 -- - initrd /install.amd/initrd.gz - } - menuentry '... Rescue mode' { - set background_color=black - linux /install.amd/vmlinuz vga=788 rescue/enable=true -- quiet - initrd /install.amd/initrd.gz - } - menuentry '... Automated install' { - set background_color=black - linux /install.amd/vmlinuz auto=true priority=critical vga=788 -- quiet - initrd /install.amd/initrd.gz - } -} diff --git a/iso/override/isolinux/supann.cfg b/iso/override/isolinux/supann.cfg deleted file mode 100644 index 819b4ce..0000000 --- a/iso/override/isolinux/supann.cfg +++ /dev/null @@ -1,18 +0,0 @@ -default install -label install - menu label ^SupAnn base Install - menu default - kernel /install.amd/vmlinuz - append vga=788 auto=true priority=critical url=http://deb.entrouvert.org/supann/preseed.cfg initrd=/install.amd/initrd.gz -- quiet -label install-slapd-supann - menu label SupAnn slapd (Open^LDAP Server) Install - kernel /install.amd/vmlinuz - append vga=788 auto=true priority=critical url=http://deb.entrouvert.org/supann/preseed-slapd-supann.cfg initrd=/install.amd/initrd.gz -- quiet -label install-authentic2-supann - menu label SupAnn ^IdP (Authentic2) Install - kernel /install.amd/vmlinuz - append vga=788 auto=true priority=critical url=http://deb.entrouvert.org/supann/preseed-authentic2-supann.cfg initrd=/install.amd/initrd.gz -- quiet -label install-ldapsaisie-supann - menu label SupAnn ^Web interface (ldapsaisie) Install - kernel /install.amd/vmlinuz - append vga=788 auto=true priority=critical url=http://deb.entrouvert.org/supann/preseed-ldapsaisie-supann.cfg initrd=/install.amd/initrd.gz -- quiet