From bf656ca53cf66f3b03fd89dbdce4fd04bd585fd5 Mon Sep 17 00:00:00 2001 From: rpier1 <59652629+rpier1@users.noreply.github.com> Date: Wed, 8 Jan 2020 14:31:13 +0100 Subject: [PATCH 1/2] ensure binfmt-support is installed --- build-docker.sh | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/build-docker.sh b/build-docker.sh index 79b68d4..c4a572c 100755 --- a/build-docker.sh +++ b/build-docker.sh @@ -3,11 +3,23 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" BUILD_OPTS="$*" -DOCKER="docker" - -if ! ${DOCKER} ps >/dev/null 2>&1; then - DOCKER="sudo docker" +SUDO='' +if [ $EUID != 0 ]; then + SUDO='sudo' fi + +function install_binfmt_support { + local binfmtSupport="binfmt-support" + if ! dpkg -s $binfmtSupport &>/dev/null; then + echo "please install $binfmtSupport with this command: $SUDO apt-get install $binfmtSupport" + exit 1 + fi +} + +install_binfmt_support + +DOCKER="$SUDO docker" + if ! ${DOCKER} ps >/dev/null; then echo "error connecting to docker:" ${DOCKER} ps From 8451d871801fbddb9e5020103ffb4c9b5516e712 Mon Sep 17 00:00:00 2001 From: rpier1 <59652629+rpier1@users.noreply.github.com> Date: Wed, 8 Jan 2020 14:37:29 +0100 Subject: [PATCH 2/2] Docker: load kernelmodules: loop, binfmt_misc --- build-docker.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/build-docker.sh b/build-docker.sh index c4a572c..7e61956 100755 --- a/build-docker.sh +++ b/build-docker.sh @@ -16,8 +16,25 @@ function install_binfmt_support { fi } +function load_kernelmodule { + local kernelMod="$1" + if ! $SUDO modinfo $kernelMod &>/dev/null; then + echo "missing this kernel modul: $kernelMod" + exit 1 + else + if $SUDO modprobe -n --first-time $kernelMod &>/dev/null; then + echo "loading kernel module $kernelMod" + $SUDO modprobe $kernelMod + fi + fi +} + install_binfmt_support +load_kernelmodule loop +load_kernelmodule binfmt_misc + + DOCKER="$SUDO docker" if ! ${DOCKER} ps >/dev/null; then