# define function getfilesize before "set -e"
if stat --help >/dev/null 2>&1; then
- getfilesize='stat -c %s' # GNU stat
+ getfilesize='stat -c %s' # GNU stat
else
- getfilesize='stat -f %z' # BSD stat
+ getfilesize='stat -f %z' # BSD stat
fi
set -e # exit on any error
# }}}
# make sure we have what we need {{{
-check4progs mkisofs mksquashfs stat || exit 1
+check4progs mkisofs stat || exit 1
+
+# allow overriding via environment:
+if [ -z "$MKSQUASHFS" ] ; then
+ if which mksquashfs-lzma >/dev/null 2>&1 ; then
+ MKSQUASHFS=mksquashfs-lzma
+ elif which mksquashfs >/dev/null 2>&1 ; then
+ MKSQUASHFS=mksquashfs
+ else
+ echo "Error: neither mksquashfs-lzma nor mksquashfs present. Exiting."
+ exit 1
+ fi
+fi
check4root || exit 1
# }}}
sed 1,2d /remaster/msg >>/remaster/iso/boot/isolinux/boot.msg
mkdir /remaster/iso/live
-mksquashfs /remaster/chroot /remaster/iso/live/"$(basename $SQUASHFS_FILE)"
+$MKSQUASHFS /remaster/chroot /remaster/iso/live/"$(basename $SQUASHFS_FILE)"
umount /remaster/chroot /remaster/cdrom
if [ -f /remaster/iso/boot/isolinux/isolinux.bin ] ; then
-l -r -J -o "$1" /remaster/iso
# pad for partition table
siz=$($getfilesize "$1")
-cyls=$((siz / 512 / 32 / 16 + 1)) # C=$cyls H=16 S=32 (= 256 KiB units)
-siz=$((cyls * 16 * 32 * 512)) # size after padding
+cyls=$((siz / 512 / 32 / 16 + 1)) # C=$cyls H=16 S=32 (= 256 KiB units)
+siz=$((cyls * 16 * 32 * 512)) # size after padding
dd if=/dev/zero bs=1 count=1 seek=$((siz - 1)) of="$1" 2>/dev/null
rm -R /remaster/iso
-# here is the place to apply bootgrub.mksh ☺
+# here is the place where we could apply bootgrub.mksh
echo ""
echo "ISO generation complete:"