eth0s/03-mklfsiso
2018-12-01 00:12:45 +08:00

54 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
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