Build all dkms modules near the end of the image build.

Work around ordering issues that cause dkms modules to not always
be built for all installed kernels, add a post-install.d script to
the base element that will force the issue.
(Note that any module/kernel pairs with a pre-existing valid
module will not be rebuilt, so this should not impact performance
unnecessarily)

Change-Id: Iccea14c6318014cc7e1fec77e71c14a224f7b76e
This commit is contained in:
Chris Jones 2013-05-24 11:42:36 +01:00
parent 5695fbd39e
commit be99db321b

View File

@ -0,0 +1,19 @@
#!/bin/sh
# Trigger a run of dkms for all the modules installed
# to ensure we have valid modules build for all.
modules=$(dkms status | tr ',:' ' ' | awk '{ print $1 "/" $2 }')
kernels=$(ls /usr/src/linux-headers-*-*-* -d | sed -e 's|/usr/src/linux-headers-||')
__ARCH=$ARCH
unset ARCH
for module in $modules ; do
for kernel in $kernels ; do
dkms build $module -k $kernel
dkms install $module -k $kernel
done
done
ARCH=$__ARCH
dkms status