linux-live/build

46 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Linux Live Kit version 7
export PATH=.:./tools:../tools:/usr/sbin:/usr/bin:/sbin:/bin:/
CHANGEDIR=$(dirname $(readlink -f $0))
echo "Changing current directory to $CHANGEDIR"
cd $CHANGEDIR
. ./.config || exit 1
. ./tools/linuxkitlib || exit 1
# only root can continue, because only root can read all files from your system
allow_only_root
# check for mksquashfs with xz compression
if [ "$(mksquashfs 2>&1 | grep "Xdict-size")" = "" ]; then
echo "mksquashfs not found or doesn't support -comp xz, aborting, no changes made"
exit 1
fi
# build initramfs image
cd initramfs
INITRAMFS=$(./initramfs_create "$LIVEKITNAME")
cd ..
# create live kit filesystem
rm -Rf "$LIVEKITDATA"
BOOT="$LIVEKITDATA"/"$LIVEKITNAME"/boot
mkdir -p "$BOOT"
cp bootfiles/isolinux.bin $BOOT
cp bootfiles/vesamenu.c32 $BOOT
mv "$INITRAMFS" $BOOT/initfs.img
cat bootfiles/isolinux.cfg | sed -r "s:/boot/:/$LIVEKITNAME/boot/:" > $BOOT/isolinux.cfg
cp /boot/vmlinuz $BOOT/
# create compressed bundles
# ...
# create ISO for CD image (so I can test it)
cd "$LIVEKITDATA"
mkisofs -o "/tmp/iso.iso" -v -J -R -D -A "$LIVEKITNAME" -V "$LIVEKITNAME" \
-no-emul-boot -boot-info-table -boot-load-size 4 \
-b "$LIVEKITNAME"/boot/isolinux.bin -c "$LIVEKITNAME"/boot/isolinux.boot . \
>/dev/null 2>/dev/null