[Buildroot] [PATCH 6/6] wireless-regdb: add signing key to linux kernel

Kurt Van Dijck dev.kurt at vandijck-laurijssen.be
Fri Jun 26 12:30:53 UTC 2020


When rebuilding wireless-regdb, linux kernel needs the signing
public key to validate the database.

Signed-off-by: Kurt Van Dijck <dev.kurt at vandijck-laurijssen.be>
---
 linux/linux.mk                           |  4 ++++
 package/wireless-regdb/wireless-regdb.mk | 14 ++++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/linux/linux.mk b/linux/linux.mk
index b9f2052ee7..8366afaa03 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -367,6 +367,10 @@ define LINUX_KCONFIG_FIXUP_CMDS
 	$(PACKAGES_LINUX_CONFIG_FIXUPS)
 endef
 
+ifeq ($(BR2_WIRELESS_REGDB_REBUILD),y)
+LINUX_DEPENDENCIES += wireless-regdb
+endif
+
 ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y)
 # Starting with 4.17, the generated dtc parser code is no longer
 # shipped with the kernel sources, so we need flex and bison. For
diff --git a/package/wireless-regdb/wireless-regdb.mk b/package/wireless-regdb/wireless-regdb.mk
index af54d2c0f4..2401342695 100644
--- a/package/wireless-regdb/wireless-regdb.mk
+++ b/package/wireless-regdb/wireless-regdb.mk
@@ -42,6 +42,20 @@ define WIRELESS_REGDB_BUILD_CMDS
 		-outform DER \
 		-out $(@D)/$(WIRELESS_REGDB_PRIVKEYNAME).x509
 endef
+
+# Sarting with 4.15, the kernel can hold public keys for validating
+# regulatory.db file.
+# make sure wireless-regdb is rebuilt before linux
+# and fixup kernel to include the signing key
+
+define WIRELESS_REGDB_LINUX_FIXUP
+	$(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211_CERTIFICATION_ONUS)
+	$(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS)
+	$(call KCONFIG_SET_OPT,CONFIG_CFG80211_EXTRA_REGDB_KEYDIR,"$(WIRELESS_REGDB_DIR)")
+endef
+
+PACKAGES_LINUX_CONFIG_FIXUPS += $(call WIRELESS_REGDB_LINUX_FIXUP)
+
 endif
 
 ifeq ($(BR2_PACKAGE_CRDA),y)
-- 
2.25.0




More information about the buildroot mailing list