[OE-core] [meta-networking][rocko][PATCH 1/2] kernel_wireless_regdb: Add class for embedding regulatory data into the kernel
Krzysztof Kozlowski
krzk at kernel.org
Wed Apr 25 13:47:33 UTC 2018
Small embedded systems might:
1. Want to get rid of daemons as much as possible (therefore be built
without CRDA),
2. Not receive user-space incremental updates but an entire system
upgrade (with kernel).
Add class kernel_wireless_regdb which allows in such cases to embed the
wireless regulatory database directly in the Linux kernel during build
process.
Signed-off-by: Krzysztof Kozlowski <krzk at kernel.org>
---
meta-networking/classes/kernel_wireless_regdb.bbclass | 12 ++++++++++++
.../wireless-regdb/wireless-regdb_2016.06.10.bb | 8 ++++++++
2 files changed, 20 insertions(+)
create mode 100644 meta-networking/classes/kernel_wireless_regdb.bbclass
diff --git a/meta-networking/classes/kernel_wireless_regdb.bbclass b/meta-networking/classes/kernel_wireless_regdb.bbclass
new file mode 100644
index 000000000000..6ae90d2d088c
--- /dev/null
+++ b/meta-networking/classes/kernel_wireless_regdb.bbclass
@@ -0,0 +1,12 @@
+# Copies the regulatory plaintext database to kernel sources before compiling.
+# Linux kernel must be compiled with CONFIG_CFG80211_INTERNAL_REGDB to use it.
+
+DEPENDS += "wireless-regdb-native"
+
+SRCTREECOVEREDTASKS += "do_kernel_add_regdb"
+do_kernel_add_regdb() {
+ cp ${STAGING_LIBDIR_NATIVE}/crda/db.txt ${S}/net/wireless/db.txt
+ echo ${S}
+}
+do_kernel_add_regdb[dirs] = "${S}"
+addtask kernel_add_regdb before do_configure after do_patch
diff --git a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
index 64e9401e7a3c..14bf272f4050 100644
--- a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
+++ b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2016.06.10.bb
@@ -17,4 +17,12 @@ do_install() {
install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem
}
+# Native users might want to use source db.txt
+do_install_append_class-native() {
+ install -d -m 0755 ${D}${libdir}/crda
+ install -m 0644 db.txt ${D}${libdir}/crda/db.txt
+}
+
RSUGGESTS_${PN} = "crda"
+
+BBCLASSEXTEND = "native"
--
2.7.4
More information about the Openembedded-core
mailing list