77 lines
2.1 KiB
Bash
Executable File
77 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
source $(dirname $0)/defaults.conf
|
|
source ${WORKDIR}/mklive.conf
|
|
source $(dirname $0)/functions.sh
|
|
source $(dirname $0)/menufunction.sh
|
|
|
|
set -e
|
|
|
|
einfo "Creating ISO"
|
|
|
|
ISOLINUX_MODULES="ldlinux.c32 libmenu.c32 menu.c32"
|
|
ISOLINUX_BIN="/usr/lib/ISOLINUX/isolinux.bin"
|
|
|
|
[ "$ISO" == "true" ] || ( einfo "ISO build is not enabled - skip" && exit 0 )
|
|
|
|
checkstage live || eexit "Previous stage (live) was not finished"
|
|
|
|
startstage iso
|
|
|
|
ISODIR=${WORKDIR}/ISO
|
|
requiredir $ISODIR
|
|
requiredir $ISODIR/isolinux
|
|
[ -L $ISODIR/live ] || ln -s ../LIVE $ISODIR/live
|
|
|
|
#copy isolinux.bin
|
|
cp ${ISOLINUX_BIN} $ISODIR/isolinux/
|
|
|
|
#create isolinux.conf
|
|
menuhead > $ISODIR/isolinux/isolinux.cfg
|
|
menulivehead >> $ISODIR/isolinux/isolinux.cfg
|
|
menulive >> $ISODIR/isolinux/isolinux.cfg
|
|
|
|
if [ "$ISO_INCLUDE_UBUNTU_INSTALLER" == "true" ] || [ "$ISO_INCLUDE_DEBIAN_INSTALLER" == "true" ]; then
|
|
menuinstallerhead >> $ISODIR/isolinux/isolinux.cfg
|
|
fi
|
|
|
|
if [ "$ISO_INCLUDE_UBUNTU_INSTALLER" == "true" ]; then
|
|
menuinstaller ubuntu >> $ISODIR/isolinux/isolinux.cfg
|
|
[ -L $ISODIR/ubuntu-installer ] || ln -s ../INSTALLER/ubuntu-installer $ISODIR/ubuntu-installer
|
|
fi
|
|
|
|
if [ "$PXE_INCLUDE_DEBIAN_INSTALLER" == "true" ]; then
|
|
menuinstaller debian >> $ISODIR/isolinux/isolinux.cfg
|
|
[ -L $PXEDIR/debian-installer ] || ln -s ../INSTALLER/debian-installer $PXEDIR/debian-installer
|
|
fi
|
|
|
|
if [ "$ISO_INCLUDE_HDT" == "true" ] || [ "$ISO_INCLUDE_MEMTEST" == "true" ]; then
|
|
menuhwhead >> $ISODIR/isolinux/isolinux.cfg
|
|
fi
|
|
|
|
if [ "$ISO_INCLUDE_HDT" == "true" ]; then
|
|
ISOLINUX_MODULES="${ISOLINUX_MODULES} hdt.c32 libutil.c32 libgpl.c32 libcom32.c32"
|
|
menuhwhdt >> $ISODIR/isolinux/isolinux.cfg
|
|
[ -e /usr/share/misc/pci.ids ] && cp /usr/share/misc/pci.ids $ISODIR/isolinux/
|
|
fi
|
|
|
|
if [ "$ISO_INCLUDE_MEMTEST" == "true" ]; then
|
|
cp $MEMTEST_BIN $ISODIR/memtest
|
|
menuhwmemtest >> $ISODIR/isolinux/isolinux.cfg
|
|
fi
|
|
|
|
|
|
|
|
#copy all modules
|
|
for m in $ISOLINUX_MODULES
|
|
do
|
|
cp ${SYSLINUX_MODULESDIR}/$m $ISODIR/isolinux/
|
|
done
|
|
|
|
|
|
|
|
#create isofile
|
|
mkisofs -f -boot-info-table -boot-load-size 4 -no-emul-boot -o ${ISO_FILENAME}.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -l -R -J $ISODIR
|
|
|
|
endstage iso
|
|
eok "ISO done"
|