From 43406e8955d683da38ac2cccb797a2213cc92e1c Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Mon, 7 Jun 2021 14:57:11 +0200 Subject: [PATCH] Install only linux-image-cloud-amd64 in VMs for >=buster and amd64 With linux-image-cloud-amd64 we only need ~96MB of disk space, whereas the corresponding linux-image-amd64 takes about 317MB of disk space. Also there's usually no need to install linux-headers and firmware packages inside a VM, so skip those as well. Closes: grml/grml-debootstrap#178 --- chroot-script | 43 +++++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/chroot-script b/chroot-script index 8104df1..0eb0d4b 100755 --- a/chroot-script +++ b/chroot-script @@ -350,19 +350,38 @@ kernel() { fi $APTUPDATE - KVER=$(get_kernel_version) - if [ -n "$KVER" ] ; then - # note: install busybox to be able to debug initramfs - KERNELPACKAGES="linux-image-$KVER linux-headers-$KVER busybox firmware-linux-free" - # only add firmware-linux if we have non-free as a component - if expr "$COMPONENTS" : '.*non-free' >/dev/null ; then - KERNELPACKAGES="$KERNELPACKAGES firmware-linux" - fi - # shellcheck disable=SC2086 - DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL $KERNELPACKAGES - else - echo "Warning: Could not find a kernel for your system. Your system won't be able to boot itself!" + + local kernel_version + kernel_version=$(get_kernel_version) + + if [ -z "${kernel_version}" ] ; then + echo "Error: could not find a kernel for your system. Your system won't be able to boot itself!" >&2 + exit 1 + fi + + # defaults (note: install busybox to be able to debug initramfs) + KERNELPACKAGES="linux-image-${kernel_version} linux-headers-${kernel_version} busybox firmware-linux-free" + + # only add firmware-linux if we have non-free as a component + if expr "$COMPONENTS" : '.*non-free' >/dev/null ; then + KERNELPACKAGES="$KERNELPACKAGES firmware-linux" fi + + # when installing into a VM using buster or newer, install only + # linux-image-cloud-amd64 (and no headers and firmware packages) + if [ -n "${VMSIZE}" ] && [ "${ARCH:-}" = "amd64" ] ; then + case "${RELEASE}" in + lenny|squeeze|wheezy|jessie|stretch) + ;; + *) + echo "Note: installing into VM, choosing linux-image-cloud-amd64 kernel package" + KERNELPACKAGES="linux-image-cloud-amd64" + ;; + esac + fi + + # shellcheck disable=SC2086 + DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL $KERNELPACKAGES } # }}} -- 2.1.4