Si c’est des méthodes à la main, on m’avait filé ces scripts dans le temps :
iso-extract.sh
[code]#!/bin/bash
±-----------------------------------------------------------+
| Man
±-----------------------------------------------------------+
| iso-extract image.iso
±-----------------------------------------------------------+
| a executer dans le dossier ou on veut extraire l’image
±-----------------------------------------------------------+
mkdir -p loopdir
mount -o loop $1 loopdir
cp -r loopdir/ ./$1.extract
chown -R 1000:1000 $1.extract/
chmod -R +w $1.extract/
umount loopdir
rm -r loopdir/
[/code]
Là, tu modifies l’iso à ta guise puis :
iso-rebuild.sh
[code]#!/bin/bash
±-----------------------------------------------------------+
| Man
±-----------------------------------------------------------+
| iso-rebuild dossier_in.extract image_out.iso
±-----------------------------------------------------------+
| a executer dans le dossier ou se trouve dossier_in.extract
| et le fichier preseed.cfg
±-----------------------------------------------------------+
±-----------------------------------------------------------+
| Var
±-----------------------------------------------------------+
PRESEED=‘preseed.cfg’
±-----------------------------------------------------------+
| Verification de la presence du fichier preseed.cfg
±-----------------------------------------------------------+
if [ ! -f $PRESEED ];then
echo "$PRESEED not found !"
exit
fi
±-----------------------------------------------------------+
| Extraction initrd.gz puis suppression
±-----------------------------------------------------------+
mkdir initrd_dir
cd initrd_dir/
gzip -cd …/$1/install.386/initrd.gz | cpio -id
cd …
rm $1/install.386/initrd.gz
±-----------------------------------------------------------+
| Modification et/ou ajout dans le nouveau initrd
±-----------------------------------------------------------+
cp $PRESEED initrd_dir/
±-----------------------------------------------------------+
| Supression fichiers inutiles
±-----------------------------------------------------------+
#rm -rf ./cd/autorun.*
#rm -rf ./cd/doc
#rm -rf ./cd/pics
#rm -rf ./cd/README.*
#rm -rf ./cd/install.386/gtk
±-----------------------------------------------------------+
| Re-compression initrd
±-----------------------------------------------------------+
cd initrd_dir/
find ./ | cpio -H newc -o > …/initrd
cd …
gzip initrd
mv initrd.gz $1/install.386/
rm -r initrd_dir/
±-----------------------------------------------------------+
| Re-calculation de la somme md5
±-----------------------------------------------------------+
cd $1
md5sum find ! -name "md5sum.txt" ! -path "./isolinux/*" -follow -type f > md5sum.txt
cd …
±-----------------------------------------------------------+
| Creation image ISO bootable
±-----------------------------------------------------------+
genisoimage -o $2 -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat $1
chmod 777 $2
[/code]