From 216e4f0eed1d418fc179cca0794d5b82df8d6170 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Sat, 31 Dec 2016 20:59:27 +0000 Subject: [PATCH] Platform Kernel Module Support Per-platform kernel modules can now be built out of tree against multiple kernel mbuild packages. --- make/kmodule.mk | 14 ++++++++++++++ tools/scripts/kmodbuild.sh | 21 +++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 make/kmodule.mk create mode 100755 tools/scripts/kmodbuild.sh diff --git a/make/kmodule.mk b/make/kmodule.mk new file mode 100644 index 00000000..84a7bfbb --- /dev/null +++ b/make/kmodule.mk @@ -0,0 +1,14 @@ +ifndef KERNELS +$(error $$KERNELS must be set) +endif + +ifndef KMODULES +$(error $$KMODULES must be set) +endif + +ifndef PLATFORM +$(error $$PLATFORM must be set) +endif + +modules: + $(ONL)/tools/scripts/kmodbuild.sh "$(KERNELS)" "$(KMODULES)" $(PLATFORM) diff --git a/tools/scripts/kmodbuild.sh b/tools/scripts/kmodbuild.sh new file mode 100755 index 00000000..36d801cd --- /dev/null +++ b/tools/scripts/kmodbuild.sh @@ -0,0 +1,21 @@ +#!/bin/bash +set -e + +# +# kmodbuild.sh kernel-packages module-directories platform-name +# + +function build_module +{ + KERNEL=`onlpm --find-dir $1 mbuilds` + BUILD_DIR=`mktemp -d` + cp -R $2/* "$BUILD_DIR" + make -C $KERNEL M=$BUILD_DIR modules + make -C $KERNEL M=$BUILD_DIR INSTALL_MOD_PATH=`pwd` INSTALL_MOD_DIR="$3" modules_install +} + +for kernel in $1; do + for module in $2; do + build_module $kernel $module $3 + done +done