diff --git a/vm/build.sh b/vm/build.sh index 4ce9c7d6..1e9d1087 100755 --- a/vm/build.sh +++ b/vm/build.sh @@ -10,6 +10,10 @@ if [ "$MIRROR" = "" ]; then MIRROR="--mirror http://archive.ubuntu.com/ubuntu/" fi +if [ -e "$BASE/settings.sh" ]; then + . "$BASE/settings.sh" +fi + if [ $(id -u) -ne 0 ]; then echo "you need to run $0 as root" exit 1 @@ -18,12 +22,18 @@ fi # make sure ubuntu-archive-keyring is installed test -e /usr/share/keyrings/ubuntu-archive-keyring.gpg || apt-get install ubuntu-archive-keyring +vmdebootstrap=`vmdebootstrap --version` +if [[ $vmdebootstrap == "1.4" ]]; then + EXTRA=--no-systemd-networkd +fi + vmdebootstrap \ --image ${TARGET}.img \ --size ${SIZE} \ --sparse \ --distribution=${RELEASE} \ $MIRROR \ + $EXTRA \ --enable-dhcp \ --no-serial-console \ --no-kernel \ diff --git a/vm/prepare.sh b/vm/prepare.sh index a25388de..bd5abef8 100755 --- a/vm/prepare.sh +++ b/vm/prepare.sh @@ -2,46 +2,57 @@ set -e rootdir=$1 -base=$(dirname $0) +BASE=$(dirname $0) RELEASE=trusty +if [ -e "$BASE/settings.sh" ]; then + . "$BASE/settings.sh" +fi + +SOURCE_LIST="/etc/apt/sources.list.d/base.list" +if [ ! -e "$rootdir/$SOURCE_LIST" ]; then + SOURCE_LIST="/etc/apt/sources.list" +fi + cat > "$rootdir/root/pandora_install" << EOF #!/bin/bash DEBIAN_FRONTEND=noninteractive -sed -i "s/main/main restricted universe multiverse/g" /etc/apt/sources.list.d/base.list +sed -i "s/main\$/main restricted universe multiverse/g" $SOURCE_LIST apt-get update apt-get -y --force-yes dist-upgrade EOF -cat "$base/pandora_install.sh" >> "$rootdir/root/pandora_install" +cat "$BASE/pandora_install.sh" >> "$rootdir/root/pandora_install" #reset install proxy settings cat >> "$rootdir/root/pandora_install" < /etc/apt/sources.list.d/base.list < $SOURCE_LIST < "$rootdir/etc/rc.local" <&1 | tee /root/pandora_install.log || true - mv /root/pandora_install /root/pandora_installed - shutdown -h now -fi - -exit 0 +cat >> "$rootdir/pandora_install" </root/pandora_install.log 2>&1 & +$INSTALL_EXTRA EOF -chmod +x "$rootdir/etc/rc.local" +chmod +x "$rootdir/pandora_install" +cat > "$rootdir/etc/init/pandora_install.conf" << EOF +description "install pan.do/ra" +start on (local-filesystems and net-device-up IFACE=eth0) +stop on [!12345] +task +exec /pandora_install +EOF