[oe] [meta-networking][PATCH v4 3/3] kernel_wireless_regdb: Add class for embedding regulatory data into older kernel

Khem Raj raj.khem at gmail.com
Thu Jul 5 17:07:38 UTC 2018


On 7/5/18 9:55 AM, Krzysztof Kozlowski wrote:
> Linux kernels before v4.15, allowed to be compiled with static
> regulatory dabatase if it was put under net/wireless/db.txt.
> 
> Add kernel_wireless_regdb class which allows in such cases to embed the
> wireless regulatory database directly in the Linux kernel during build
> process.
> 
> Usage:
> 1. The class should be inherited by kernel recipe (e.g. in
>    linux-yocto_%.bbappend).
> 2. For Linux kernels up to v4.14, build kernel with CONFIG_EXPERT and
>    CONFIG_CFG80211_INTERNAL_REGDB.

I think it will be good to add this in comments in bbclass as well.

> 
> Signed-off-by: Krzysztof Kozlowski <krzk at kernel.org>
> ---
>  meta-networking/classes/kernel_wireless_regdb.bbclass         | 11 +++++++++++
>  .../wireless-regdb/wireless-regdb_2018.05.31.bb               | 10 ++++++++++
>  2 files changed, 21 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..a1eb4c532667
> --- /dev/null
> +++ b/meta-networking/classes/kernel_wireless_regdb.bbclass
> @@ -0,0 +1,11 @@
> +# 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
> +}
> +do_kernel_add_regdb[dirs] = "${S}"
> +addtask kernel_add_regdb before do_build after do_configure
> diff --git a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
> index d40756ff2bbf..0b7930718761 100644
> --- a/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
> +++ b/meta-networking/recipes-connectivity/wireless-regdb/wireless-regdb_2018.05.31.bb
> @@ -23,6 +23,7 @@ do_install() {
>  
>  # Install static regulatory DB in /lib/firmware for kernel to load.
>  # This requires Linux kernel >= v4.15.
> +# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass in kernel's recipe.
>  PACKAGES =+ "${PN}-static"
>  RCONFLICTS_${PN} = "${PN}-static"
>  
> @@ -31,4 +32,13 @@ FILES_${PN}-static = " \
>      ${nonarch_base_libdir}/firmware/regulatory.db.p7s \
>  "
>  
> +# Native users might want to use the source of regulatory DB.
> +# This is for example used by Linux kernel <= v4.14 and kernel_wireless_regdb.bbclass.
> +do_install_append_class-native() {
> +    install -d -m 0755 ${D}${libdir}/crda

add -D to below cmd and you can avoid this line.

> +    install -m 0644 db.txt ${D}${libdir}/crda/db.txt
> +}
> +
>  RSUGGESTS_${PN} = "crda"
> +
> +BBCLASSEXTEND = "native"
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20180705/fc1f2756/attachment-0002.sig>


More information about the Openembedded-devel mailing list