- the defaults file is now installed automatically; even though all
settings are commented out, this allows for easier configuration
+- require and check for a minimum device size; this makes error messages
+ much clearer, compared to tar's out of disk space errors (fixes issue
+ 164)
- it is now possible to override the "components" argument to
debootstrap, to be able to install more packages (e.g. from contrib,
or from universe) (fixes issue 254)
Configuration of instance creation
----------------------------------
+Note: the minimum disk size accepted is 256MB, as ``debootstrap``
+requires disk space both for downloading the packages and installing
+them.
+
The kind of instance created can be customized via a settings file. This
file is not installed by default, as the instance creation will work
without it. The creation scripts will look for it in
set -e
+# minimum device size is 256 MB, but we use 255 to account for
+# potential rounding
+declare -ri MIN_DEV_SIZE=$((255*1048576))
+
. common.sh
if [ "$GENERATE_CACHE" = "yes" -a ! -d "$CACHE_DIR" ]; then
CLEANUP+=("losetup -d $blockdev")
fi
+DEVICE_SIZE=$(blockdev --getsize64 $blockdev)
+if [ "$DEVICE_SIZE" -lt $MIN_DEV_SIZE ]; then
+ echo "Device size is too small ($((DEVICE_SIZE/1048576)) MB)" 1>&2
+ echo "Required size is at least 256MB" 1>&2
+ exit 1
+fi
+
if [ "$PARTITION_STYLE" = "none" ]; then
filesystem_dev=$blockdev
elif [ "$PARTITION_STYLE" = "msdos" ]; then
filesystem_dev=$(map_disk0 $blockdev)
CLEANUP+=("unmap_disk0 $blockdev")
else
- echo "Unknown partition style $PARTITION_STYLE"
+ echo "Unknown partition style $PARTITION_STYLE" 1>&2
exit 1
fi