Allow debootstrap to cleanup without a kernel

Currently there's more-or-less an assumption that a kernel is
installed, so module blacklists are simply echoed into the modprobe
blacklist.  This may not be the case with some ongoing container work.

Although we don't need to blacklist modules for containers, it also
doesn't hurt.  Move the debootstrap element to the new modprobe
element, and allow it to create the blacklist directory.

Change-Id: I0f057caf473951df56a2af9633e3a5b53e0809b1
This commit is contained in:
Ian Wienand 2018-09-24 17:34:22 +10:00
parent b86af3dc6a
commit 39fb794ebc
3 changed files with 13 additions and 1 deletions

View File

@ -1,2 +1,4 @@
dpkg
modprobe
pkg-map

View File

@ -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

View File

@ -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))