e2f5ad76af
This requires a new qubes-core-appvm as well, see commit 8ec85677274e7fe986d6465dec4cf25565c9e7ba in qubes-core.
72 lines
1.4 KiB
Bash
Executable File
72 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
CLEANIMG=$1
|
|
NAME=$2
|
|
|
|
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
|
|
|
|
|
|
IMG=qubeized_images/$NAME-root.img
|
|
echo "--> Copying $CLEANIMG to $IMG..."
|
|
cp $CLEANIMG $IMG || exit 1
|
|
|
|
echo "--> Mouting $IMG"
|
|
|
|
mkdir -p mnt
|
|
mount -o loop,offset=$((63*512)) $IMG mnt || exit 1
|
|
|
|
echo "--> Installing RPMs..."
|
|
rpm --force --root=$(pwd)/mnt -ihv rpms_to_install_appvm/*
|
|
|
|
|
|
echo "--> Copying the Apps Menu shortcuts..."
|
|
APPSORIG=qubeized_images/$NAME-apps.orig
|
|
APPSTEMPL=qubeized_images/$NAME-apps.templates
|
|
mkdir -p $APPSORIG
|
|
cp -r $(pwd)/mnt/usr/share/applications/* $APPSORIG
|
|
|
|
echo "--> Createing the Apps Menu templates..."
|
|
./create_apps_templates.sh $APPSORIG $APPSTEMPL
|
|
|
|
echo "--> Installing 3rd party apps"
|
|
./add_3rd_party_software.sh
|
|
|
|
echo "--> Copying DispVM dotfiles dir..."
|
|
cp dispvm-dotfiles.tbz mnt/etc/
|
|
|
|
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
|
|
|
|
echo "--> Unmounting $IMG"
|
|
umount mnt
|
|
|
|
echo "Qubeized image stored at: $IMG"
|
|
|
|
echo "Reducing image size (calling cleanup_image)..."
|
|
./cleanup_image $IMG
|