72 lines
1.9 KiB
Bash
Executable File
72 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Configurations
|
|
# ------------------------------------------------------------------------------
|
|
export IMG="$1"
|
|
export LC_ALL=POSIX
|
|
|
|
RETCODE=0
|
|
|
|
: ${DIST=fc14}
|
|
|
|
. ./builder_setup >/dev/null
|
|
. ./umount_kill.sh >/dev/null
|
|
|
|
if [ "$VERBOSE" -ge 2 -o "$DEBUG" == "1" ]; then
|
|
set -x
|
|
else
|
|
set -e
|
|
fi
|
|
|
|
if ! [ $# -eq 1 ]; then
|
|
echo "usage $0 <img_file_name>"
|
|
exit
|
|
fi
|
|
|
|
if [ "$VERBOSE" == "1" ]; then
|
|
export YUM_OPTS="$YUM_OPTS -q"
|
|
fi
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Prepare for mount
|
|
# ------------------------------------------------------------------------------
|
|
echo "-> Preparing instalation of $DIST template..."
|
|
"$SCRIPTSDIR/00_prepare.sh"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Mount image and install core OS
|
|
# ------------------------------------------------------------------------------
|
|
export INSTALLDIR="$(readlink -m mnt)"
|
|
|
|
if [ -f "$IMG" ]; then
|
|
echo "-> Image file already exists, assuming *update*..."
|
|
else
|
|
echo "-> Initializing empty image..."
|
|
truncate -s 10G "$IMG" || exit 1
|
|
|
|
echo "-> Creating filesystem..."
|
|
mkfs.ext4 -q -F "$IMG" || exit 1
|
|
fi
|
|
|
|
mkdir -p "$INSTALLDIR"
|
|
mount -o loop "$IMG" "$INSTALLDIR" || exit 1
|
|
trap "umount_kill $(readlink -m $INSTALLDIR)" EXIT
|
|
"$SCRIPTSDIR/01_install_core.sh"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Install package groups
|
|
# ------------------------------------------------------------------------------
|
|
echo "-> Installing package groups..."
|
|
"$SCRIPTSDIR/02_install_groups.sh"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# Cleanup
|
|
# ------------------------------------------------------------------------------
|
|
trap - EXIT
|
|
|
|
echo "-> Unmounting prepared_image..."
|
|
umount_kill "$(readlink -m $INSTALLDIR)" || :
|
|
|
|
exit $RETCODE
|