eval set -- "$options"
-DEBIAN_MIRROR="http://mirror.mythic-beasts.com/debian/"
+DEBIAN_MIRROR_DEFAULT="http://mirror.mythic-beasts.com/debian/"
+DEBIAN_MIRROR=$DEBIAN_MIRROR_DEFAULT
DEBIAN_RELEASE="jessie"
NETWORK_CONFIG=""
esac
done
+if [ "$DEBIAN_RELEASE" == "squeeze" ] || [ "$DEBIAN_RELEASE" == "lenny" ] || [ "$DEBIAN_RELEASE" == "etch" ]; then
+ if [ "$DEBIAN_MIRROR" == "$DEBIAN_MIRROR_DEFAULT" ]; then
+ DEBIAN_MIRROR="http://archive.debian.org/debian/"
+ fi
+fi
+
INTERFACE_DEFAULTS="auto eth0
iface eth0 inet dhcp"
export PATH="${LXC_PATH}/bin:$PATH"
-debootstrap --foreign --include debian-archive-keyring,ifupdown,isc-dhcp-client,locales,openssh-server $DEBIAN_RELEASE "${LXC_ROOTFS}" $DEBIAN_MIRROR
+DEBOOTSTRAPOPTIONS=""
+STANDARDPACKAGES="debian-archive-keyring,ifupdown,isc-dhcp-client,locales,openssh-server"
+
+if [ "$DEBIAN_RELEASE" == "squeeze" ] || [ "$DEBIAN_RELEASE" == "lenny" ] || [ "$DEBIAN_RELEASE" == "etch" ]; then
+ DEBOOTSTRAPOPTIONS="--no-check-gpg"
+fi
+
+if [ "$DEBIAN_RELEASE" == "lenny" ] || [ "$DEBIAN_RELEASE" == "etch" ]; then
+ STANDARDPACKAGES="debian-archive-keyring,ifupdown,locales,openssh-server"
+fi
+
+debootstrap $DEBOOTSTRAPOPTIONS --foreign --include "${STANDARDPACKAGES}" $DEBIAN_RELEASE "${LXC_ROOTFS}" $DEBIAN_MIRROR
echo "DEBOOTSTRAP STAGE 1 COMPLETE"
(cd "${LXC_ROOTFS}" && dpkg-deb -x ".$keyring_dpkg" .)
# replace the tar containing devices with something that doesn't contain any
-(cd "$LXC_ROOTFS/debootstrap" && rm devices.tar.gz && tar czvf devices.tar.gz --files-from=/dev/null)
+if [ -e "$LXC_ROOTFS/debootstrap/devices.tar.gz" ]; then
+ (cd "$LXC_ROOTFS/debootstrap" && rm devices.tar.gz && tar czvf devices.tar.gz --files-from=/dev/null)
+fi
+
+# if squeeze, which is totally out of date, then ignore release file expired
+if [ "$DEBIAN_RELEASE" == "squeeze" ]; then
+ echo 'Acquire::Check-Valid-Until "0";' > ${LXC_ROOTFS}/etc/apt/apt.conf.d/squeeze.conf
+fi
-# and mount a shitload of things for fun and profit...
+# and mount a shedload of things for fun and profit...
for file in /var/lib/lxcfs/proc/*; do
fname="$(basename $file)"
touch "${LXC_ROOTFS}/proc/$fname"
SECURITY="deb http://security.debian.org/ $DEBIAN_RELEASE/updates main"
fi
+if [ "$DEBIAN_RELEASE" == "squeeze" ]; then
+ SECURITY="deb http://archive.debian.org/debian/ squeeze-lts main"
+fi
+
+if [ "$DEBIAN_RELEASE" == "lenny" ] || [ "$DEBIAN_RELEASE" == "etch" ]; then
+ SECURITY=""
+fi
+
# setup sources.list
cat <<EOF > "${LXC_ROOTFS}/etc/apt/sources.list"
deb $DEBIAN_MIRROR $DEBIAN_RELEASE main
touch "${LXC_ROOTFS}/etc/systemd/system/dev-hugepages.mount"
touch "${LXC_ROOTFS}/etc/systemd/system/udev.service"
touch "${LXC_ROOTFS}/etc/systemd/system/systemd-udevd.service"
- chroot "${LXC_ROOTFS}" systemctl set-default multi-user.target
+ chroot "${LXC_ROOTFS}" systemctl set-default multi-user.target || true
chroot "${LXC_ROOTFS}" ln -s /lib/systemd/system/halt.target /etc/systemd/system/sigpwr.target
fi