iso: systeme de build avec gestion du initrd

This commit is contained in:
Thomas NOËL 2014-11-11 19:05:38 +01:00
parent bc0877b0a4
commit f07f6943fa
9 changed files with 92 additions and 110 deletions

12
iso/Makefile Normal file
View File

@ -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

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -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

View File

@ -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

62
iso/create-supann-iso Executable file
View File

@ -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"

View File

@ -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
}
}

View File

@ -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