#!/bin/bash if [ $(id -u) != 0 ]; then echo "$0 script need to run as root!" exit 1 fi trap "exit 1" SIGHUP SIGINT SIGQUIT SIGTERM LFSVERSIOM=8.3 CWD=$PWD WDIR=/tmp/lfsiso ISOLINUXDIR=$CWD/livecd/isolinux DISTRONAME="LFS" LABEL=LfsLiveCD LFS=/mnt/lfs OUTPUT=lfs-$LFSVERSIOM-livecd.iso isolinux_files="chain.c32 isolinux.bin ldlinux.c32 libutil.c32 reboot.c32 menu.c32 isohdpfx.bin isolinux.cfg libcom32.c32 poweroff.c32" rm -fr $WDIR mkdir -p $WDIR # prepare isolinux in working dir mkdir -p $WDIR/{filesystem,isolinux,boot} for file in $isolinux_files; do cp $ISOLINUXDIR/$file $WDIR/isolinux done echo "$DISTRONAME" > $WDIR/isolinux/venomlive [ -d livecd/virootfs ] && cp -aR livecd/virootfs $WDIR cp $LFS/boot/vmlinuz-*-lfs $WDIR/boot/vmlinuz cp $LFS/boot/initrd-*-lfs.img $WDIR/boot/initrd mksquashfs $LFS $WDIR/filesystem/root.sfs \ -b 1048576 -comp xz -Xdict-size 100% \ -e $LFS/tools/ \ -e $LFS/var/lib/pkg/sources/* \ -e $LFS/var/lib/pkg/work/* \ -e $LFS/tmp/* rm -f $OUTPUT xorriso -as mkisofs \ -r -J -joliet-long \ -l -cache-inodes \ -isohybrid-mbr $ISOLINUXDIR/isohdpfx.bin \ -partition_offset 16 \ -volid "$LABEL" \ -b isolinux/isolinux.bin \ -c isolinux/boot.cat \ -no-emul-boot \ -boot-load-size 4 \ -boot-info-table \ -o $OUTPUT \ $WDIR rm -fr $WDIR