qubes-linux-template-builder/fedorize_image

62 lines
1.5 KiB
Plaintext
Raw Normal View History

2010-06-18 23:41:29 +00:00
#!/bin/sh
IMG=$1
PKGLISTFILE=$2
2011-09-25 20:41:27 +00:00
RETCODE=0
: ${DIST=fc14}
2010-06-18 23:41:29 +00:00
if ! [ $# -eq 2 ]; then
echo "usage $0 <img_file_name> <package_list>"
exit
fi
if [ -f $IMG ]; then
echo "-> Image file already exists, assuming *update*..."
mount -o loop $IMG mnt || exit 1
2010-06-18 23:41:29 +00:00
INSTALLDIR=`pwd`/mnt/
else
echo "-> Preparing instalation of $DIST template..."
rm -f keys base_rpms
ln -sf keys_$DIST keys
ln -sf base_rpms_$DIST base_rpms
echo "-> Initializing empty image..."
truncate -s 10G $IMG || exit 1
2010-06-18 23:41:29 +00:00
echo "-> Creating filesystem..."
mkfs.ext4 -q -F $IMG || exit 1
2010-06-18 23:41:29 +00:00
mkdir -p mnt
mount -o loop $IMG mnt || exit 1
2010-06-18 23:41:29 +00:00
INSTALLDIR=`pwd`/mnt/
echo "-> Initializing RPM database..."
rpm --initdb --root=$INSTALLDIR
rpm --import --root=$INSTALLDIR keys/*
echo "-> Installing core RPM packages..."
2011-09-25 20:41:27 +00:00
rpm -i --root=$INSTALLDIR base_rpms/*.rpm || exit 1
2010-06-18 23:41:29 +00:00
cp clean_images/network $INSTALLDIR/etc/sysconfig
cp clean_images/resolv.conf $INSTALLDIR/etc
cp -a /dev/null /dev/zero /dev/random /dev/urandom $INSTALLDIR/dev/
2010-06-18 23:41:29 +00:00
fi
2011-09-24 10:02:02 +00:00
mount -t proc proc mnt/proc
2010-06-18 23:41:29 +00:00
PKGGROUPS=$(cat $PKGLISTFILE)
export YUM0=$PWD/yum_repo_qubes
2010-06-18 23:41:29 +00:00
echo "-> Installing package groups..."
yum clean all -c $PWD/yum.conf $YUM_OPTS -y --installroot=$PWD/mnt
yum install -c $PWD/yum.conf $YUM_OPTS -y --installroot=$INSTALLDIR $PKGGROUPS || RETCODE=1
yum update -c $PWD/yum.conf $YUM_OPTS -y --installroot=$INSTALLDIR || RETCODE=1
2010-06-18 23:41:29 +00:00
2011-09-24 10:02:02 +00:00
umount mnt/proc mnt
2011-09-25 20:41:27 +00:00
exit $RETCODE