7e17847377
An important note is that each OS script need to setup itself its own chroot environment (like creating /proc...).
32 lines
467 B
Bash
Executable File
32 lines
467 B
Bash
Executable File
#!/bin/sh
|
|
|
|
export IMG=$1
|
|
|
|
set -e
|
|
|
|
if ! [ $# -eq 1 ]; then
|
|
echo "usage $0 <img_file_name>"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
if ! [ -f $IMG ]; then
|
|
echo $IMG does not exist
|
|
exit 1
|
|
fi
|
|
ls -als $IMG
|
|
mount -o loop $IMG mnt || exit 1
|
|
export INSTALLDIR=`pwd`/mnt/
|
|
|
|
scripts_"${DIST}"/09_cleanup.sh
|
|
|
|
echo "--> Compacting image file..."
|
|
dd if=/dev/zero of=mnt/fillme bs=1M > /dev/null 2>&1 || true
|
|
sync
|
|
rm mnt/fillme
|
|
umount mnt
|
|
cp --sparse=always $IMG $IMG.new
|
|
mv $IMG.new $IMG
|
|
ls -als $IMG
|
|
|