diff --git a/diskimage_builder/elements/debootstrap/element-deps b/diskimage_builder/elements/debootstrap/element-deps index 0dd8a43b..a6555608 100644 --- a/diskimage_builder/elements/debootstrap/element-deps +++ b/diskimage_builder/elements/debootstrap/element-deps @@ -1,2 +1,4 @@ dpkg +modprobe pkg-map + diff --git a/diskimage_builder/elements/debootstrap/install.d/15-cleanup-debootstrap b/diskimage_builder/elements/debootstrap/install.d/15-cleanup-debootstrap index 3059a05a..50723752 100755 --- a/diskimage_builder/elements/debootstrap/install.d/15-cleanup-debootstrap +++ b/diskimage_builder/elements/debootstrap/install.d/15-cleanup-debootstrap @@ -22,4 +22,3 @@ set -eu set -o pipefail install -d -m 0755 -o root -g root /etc/sudoers.d -echo 'blacklist pcspkr' > /etc/modprobe.d/blacklist.conf diff --git a/diskimage_builder/elements/modprobe/extra-data.d/50-modprobe-blacklist b/diskimage_builder/elements/modprobe/extra-data.d/50-modprobe-blacklist index 9f8c7119..f763d8b6 100755 --- a/diskimage_builder/elements/modprobe/extra-data.d/50-modprobe-blacklist +++ b/diskimage_builder/elements/modprobe/extra-data.d/50-modprobe-blacklist @@ -6,6 +6,17 @@ fi set -eu set -o pipefail +# This would only not be here if there was no kmod package installed, +# which can happen in some container situations. Obviously +# blacklisting a kernel module is not really useful; however allowing +# this to work can allow modules that do other things that *are* +# useful for a container to "just work" without a whole bunch of +# refactoring. +if [ ! -d /etc/modprobe.d ]; then + # ^ so we can see in the logs if we took this path ... + mkdir -p /etc/modprobe.d +fi + # copy all modprobe.d snippets to /etc/modprobe.d eval declare -A image_elements=($(get_image_element_array))