79 lines
1.6 KiB
Bash
Executable File
79 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
CLEANIMG=$1
|
|
NAME=$2
|
|
|
|
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
|
|
|
|
|
|
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 $IMG mnt || exit 1
|
|
mount -t proc proc mnt/proc
|
|
|
|
echo "--> Installing RPMs..."
|
|
yum install -c $PWD/yum.conf $YUM_OPTS -y --installroot=$(pwd)/mnt rpms_to_install/*rpm
|
|
|
|
echo "--> Installing 3rd party apps"
|
|
./add_3rd_party_software.sh
|
|
|
|
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 "--> Creating the Apps Menu templates..."
|
|
./create_apps_templates.sh $APPSORIG $APPSTEMPL
|
|
|
|
echo "--> Choosing appmenus whitelists..."
|
|
rm -f appmenus
|
|
if [ -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
|
|
|
|
echo "--> Unmounting $IMG"
|
|
umount mnt/proc mnt
|
|
|
|
echo "Qubeized image stored at: $IMG"
|
|
|
|
echo "Reducing image size (calling cleanup_image)..."
|
|
./cleanup_image $IMG
|