From 19392bf2121802e1866bdb44690b0452ade157f9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 26 Feb 2019 20:15:21 +0100 Subject: Adding support for using mmdebstrap in container debootstrap create script. Signed-off-by: Daniel Baumann --- share/man/container-create-debootstrap.1.txt | 11 ++++++----- share/scripts/debootstrap | 21 +++++++++++++++++---- 2 files changed, 23 insertions(+), 9 deletions(-) (limited to 'share') diff --git a/share/man/container-create-debootstrap.1.txt b/share/man/container-create-debootstrap.1.txt index fc8651e..5268eb7 100644 --- a/share/man/container-create-debootstrap.1.txt +++ b/share/man/container-create-debootstrap.1.txt @@ -25,17 +25,18 @@ CONTAINER-CREATE-DEBOOTSTRAP(1) NAME ---- -container-create-debootstrap - Create a basic Debian based container with debootstrap +container-create-debootstrap - Create a basic Debian based container with debootstrap or mmdebstrap SYNOPSIS -------- *container create -s debootstrap* ['OPTIONS'] +*container create -s mmdebstrap* ['OPTIONS'] DESCRIPTION ----------- -The debootstrap container creation script uses debootstrap(8) to create a Debian based container. +The debootstrap container creation script uses debootstrap(8) or mmdebstrap(1) to create a Debian based container. This script creates a pure Debian system with three modificiations: @@ -66,11 +67,11 @@ The following script options are available: EXAMPLES -------- -*Create a Debian 9 (stretch) based container with same architecture as the host system:*:: +*Create a Debian 9 (stretch) based container with same architecture as the host system using debootstrap:*:: sudo container create -s debootstrap -n stretch.example.net -*Create a Debian 9 (stretch) based container with different architecture as the host system:*:: - sudo container create -s debootstrap -n stretch-i386.example.net -- -a i386 +*Create a Debian 9 (stretch) based container with different architecture as the host system using mmdebstrap:*:: + sudo container create -s mmdebstrap -n stretch-i386.example.net -- -a i386 SEE ALSO diff --git a/share/scripts/debootstrap b/share/scripts/debootstrap index 7b73c26..61f5e13 100755 --- a/share/scripts/debootstrap +++ b/share/scripts/debootstrap @@ -22,7 +22,8 @@ set -e PROJECT="open-infrastructure" SOFTWARE="compute-tools" PROGRAM="container" -SCRIPT="${0}" + +SCRIPT="$(basename ${0})" HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" @@ -127,9 +128,21 @@ then exit 1 fi -if [ ! -x /usr/sbin/debootstrap ] +case "${SCRIPT}" in + debootstrap) + BOOTSTRAP="/usr/sbin/debootstrap" + BOOTSTRAP_OPTIONS="" + ;; + + mmdebstrap) + BOOTSTRAP="/usr/bin/mmdebstrap" + BOOTSTRAP_OPTIONS="--mode=root" + ;; +esac + +if [ ! -x "${BOOTSTRAP}" ] then - echo "'${NAME}': /usr/sbin/debootstrap - no such file." >&2 + echo "'${NAME}': ${BOOTSTRAP} - no such file." >&2 exit 1 fi @@ -163,7 +176,7 @@ done mkdir -p "${MACHINES}" -debootstrap --arch=${ARCHITECTURE} --include=${INCLUDE} ${DISTRIBUTION} ${MACHINES}/${NAME} ${MIRROR} +${BOOTSTRAP} ${BOOTSTRAP_OPTIONS} --arch=${ARCHITECTURE} --include=${INCLUDE} ${DISTRIBUTION} ${MACHINES}/${NAME} ${MIRROR} chroot "${MACHINES}/${NAME}" apt clean # Setting hostname -- cgit v1.2.3