qubes-linux-template-builder/qubeize_image

98 lines
1.9 KiB
Plaintext
Raw Normal View History

#!/bin/sh
export CLEANIMG=$1
export NAME=$2
. ./builder_setup
2011-09-25 20:41:27 +00:00
set -e
if [ $# -eq 0 ]; then
echo "usage $0 <clean_image_file> <template_name>"
exit
fi
if [ x$CLEANIMG = x ]; then
echo "Image file not specified!"
exit 1
fi
if [ x$NAME = x ]; then
echo "Name not given!"
exit 1
fi
ID=$(id -ur)
if [ $ID != 0 ] ; then
echo "This script should be run as root user."
exit 1
fi
if [ "$VERBOSE" == "1" ]; then
export YUM_OPTS="$YUM_OPTS -q"
fi
function cleanup() {
2013-12-08 19:33:28 +00:00
if grep -q " $PWD/mnt/proc " /proc/mounts; then
umount mnt/proc
fi
if grep -q " $PWD/mnt " /proc/mounts; then
2013-12-08 19:33:28 +00:00
umount mnt
fi
}
trap cleanup ERR
export IMG=qubeized_images/$NAME-root.img
echo "--> Copying $CLEANIMG to $IMG..."
cp $CLEANIMG $IMG || exit 1
echo "--> Mounting $IMG"
mkdir -p mnt
mount -o loop $IMG mnt || exit 1
export INSTALLDIR=mnt
$SCRIPTSDIR/04_install_qubes.sh || { umount $INSTALLDIR; exit 1; }
echo "--> Copying the Apps Menu shortcuts..."
export APPSORIG=qubeized_images/$NAME-apps.orig
export APPSTEMPL=qubeized_images/$NAME-apps.templates
mkdir -p $APPSORIG
cp -r $(pwd)/mnt/usr/share/applications/* $APPSORIG
echo "--> Creating the Apps Menu templates..."
./create_apps_templates.sh $APPSORIG $APPSTEMPL
echo "--> Choosing appmenus whitelists..."
rm -f appmenus
if [ -d "appmenus_${DIST}_${TEMPLATE_FLAVOR}" ]; then
ln -s "appmenus_${DIST}_${TEMPLATE_FLAVOR}" appmenus
elif [ -d "appmenus_$DIST" ]; then
ln -s "appmenus_$DIST" appmenus
else
ln -s "appmenus_generic" appmenus
fi
echo "--> Linking /home to /rw/home..."
mv mnt/home mnt/home.orig
ln -sf /rw/home mnt/home
echo "--> Linking /usr/local to /rw/usrlocal..."
mv mnt/usr/local mnt/usr/local.orig
ln -sf /rw/usrlocal mnt/usr/local
2014-04-24 13:42:18 +00:00
if [ -e mnt/etc/sysconfig/i18n ]; then
echo "--> Setting up default locale..."
echo LC_CTYPE=en_US.UTF-8 > mnt/etc/sysconfig/i18n
fi
echo "--> Unmounting $IMG"
umount mnt
echo "Qubeized image stored at: $IMG"
echo "Reducing image size (calling cleanup_image)..."
./cleanup_image $IMG