Skip to content

Commit

Permalink
Install only linux-image-cloud-amd64 in VMs for >=buster and amd64
Browse files Browse the repository at this point in the history
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: #178
  • Loading branch information
mika committed Jun 7, 2021
1 parent 59e7595 commit 43406e8
Showing 1 changed file with 31 additions and 12 deletions.
43 changes: 31 additions & 12 deletions chroot-script
Expand Up @@ -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
}
# }}}

Expand Down

0 comments on commit 43406e8

Please sign in to comment.