diff mbox series

[meta-rockchip] use MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to add kernel-modules

Message ID 20231219112352.2531373-1-stephen@radxa.com
State New
Headers show
Series [meta-rockchip] use MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to add kernel-modules | expand

Commit Message

Stephen Chen Dec. 19, 2023, 11:23 a.m. UTC
This will add all built kernel modules to the image.

Signed-off-by: Stephen Chen <stephen@radxa.com>

Comments

Trevor Woerner Jan. 3, 2024, 9:27 p.m. UTC | #1
On Tue 2023-12-19 @ 07:23:52 PM, Stephen Chen wrote:
> This will add all built kernel modules to the image.
> 
> Signed-off-by: Stephen Chen <stephen@radxa.com>
> 
> diff --git a/conf/machine/include/rock-pi-4.inc b/conf/machine/include/rock-pi-4.inc
> index 0a86846..fd9a9eb 100644
> --- a/conf/machine/include/rock-pi-4.inc
> +++ b/conf/machine/include/rock-pi-4.inc
> @@ -3,4 +3,4 @@ MACHINEOVERRIDES =. "rock-pi-4:"
>  
>  require conf/machine/include/rk3399.inc
>  
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
> diff --git a/conf/machine/nanopi-m4b.conf b/conf/machine/nanopi-m4b.conf
> index 35cd8f6..01d5c59 100644
> --- a/conf/machine/nanopi-m4b.conf
> +++ b/conf/machine/nanopi-m4b.conf
> @@ -5,7 +5,7 @@

I've tried this a couple times and a couple different ways and I can't figure
out how what we already have (MACHINE_EXTRA_RRECOMMENDS) is any different from
what you're proposing (MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS).

Using a very basic, no-distro setup I've built core-image-minimal and
core-image-base both with and without your patch and I see absolutely no
difference in the list of installed packages
(buildhistory/images/rock_5b/glibc/core-image-*/installed-packages.txt).

All of meta-rockchip's machine/include/* files already include
MACHINE_EXTRA_RRECOMMENDS, do you have a scenario where a build is not
including all of the built kernel modules in an image?

>  require conf/machine/include/rk3399.inc
>  
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>  
>  KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4b.dtb"
>  UBOOT_MACHINE = "nanopi-m4b-rk3399_defconfig"
> diff --git a/conf/machine/nanopi-r2s.conf b/conf/machine/nanopi-r2s.conf
> index 4472c21..4ed3160 100644
> --- a/conf/machine/nanopi-r2s.conf
> +++ b/conf/machine/nanopi-r2s.conf
> @@ -6,6 +6,6 @@
>  require conf/machine/include/rk3328.inc
>  
>  KERNEL_DEVICETREE = "rockchip/rk3328-nanopi-r2s.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>  
>  UBOOT_MACHINE = "nanopi-r2s-rk3328_defconfig"
> diff --git a/conf/machine/nanopi-r4s.conf b/conf/machine/nanopi-r4s.conf
> index 21be440..1a63a96 100644
> --- a/conf/machine/nanopi-r4s.conf
> +++ b/conf/machine/nanopi-r4s.conf
> @@ -5,7 +5,7 @@
>  
>  require conf/machine/include/rk3399.inc
>  
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>  
>  KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-r4s.dtb"
>  UBOOT_MACHINE = "nanopi-r4s-rk3399_defconfig"
> diff --git a/conf/machine/rock-5a.conf b/conf/machine/rock-5a.conf
> index 5ace4da..53b56b1 100644
> --- a/conf/machine/rock-5a.conf
> +++ b/conf/machine/rock-5a.conf
> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588s.inc
>  
>  PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
>  KERNEL_DEVICETREE = "rockchip/rk3588s-rock-5a.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>  
>  UBOOT_MACHINE = "rock5a-rk3588s_defconfig"
> diff --git a/conf/machine/rock-5b.conf b/conf/machine/rock-5b.conf
> index d137108..dc5fabc 100644
> --- a/conf/machine/rock-5b.conf
> +++ b/conf/machine/rock-5b.conf
> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588.inc
>  
>  PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
>  KERNEL_DEVICETREE = "rockchip/rk3588-rock-5b.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>  
>  UBOOT_MACHINE = "rock5b-rk3588_defconfig"
> diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf
> index 517956c..3f83675 100644
> --- a/conf/machine/rock-pi-e.conf
> +++ b/conf/machine/rock-pi-e.conf
> @@ -6,6 +6,6 @@
>  require conf/machine/include/rk3328.inc
>  
>  KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>  
>  UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig"
> diff --git a/conf/machine/rock-pi-s.conf b/conf/machine/rock-pi-s.conf
> index 79ea73c..590e972 100644
> --- a/conf/machine/rock-pi-s.conf
> +++ b/conf/machine/rock-pi-s.conf
> @@ -6,6 +6,6 @@
>  require conf/machine/include/rk3308.inc
>  
>  KERNEL_DEVICETREE = "rockchip/rk3308-rock-pi-s.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>  
>  UBOOT_MACHINE = "rock-pi-s-rk3308_defconfig"
> -- 
> 2.25.1
>
Stephen Chen Jan. 4, 2024, 4:20 a.m. UTC | #2
On Thu, Jan 4, 2024 at 05:27 AM, Trevor Woerner wrote:

> 
> On Tue 2023-12-19 @ 07:23:52 PM, Stephen Chen wrote:
> 
>> This will add all built kernel modules to the image.
>> 
>> Signed-off-by: Stephen Chen <stephen@radxa.com>
>> 
>> diff --git a/conf/machine/include/rock-pi-4.inc
>> b/conf/machine/include/rock-pi-4.inc
>> index 0a86846..fd9a9eb 100644
>> --- a/conf/machine/include/rock-pi-4.inc
>> +++ b/conf/machine/include/rock-pi-4.inc
>> @@ -3,4 +3,4 @@ MACHINEOVERRIDES =. "rock-pi-4:"
>> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> diff --git a/conf/machine/nanopi-m4b.conf b/conf/machine/nanopi-m4b.conf
>> index 35cd8f6..01d5c59 100644
>> --- a/conf/machine/nanopi-m4b.conf
>> +++ b/conf/machine/nanopi-m4b.conf
>> @@ -5,7 +5,7 @@
> 
> I've tried this a couple times and a couple different ways and I can't
> figure
> out how what we already have (MACHINE_EXTRA_RRECOMMENDS) is any different
> from
> what you're proposing (MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS).
> 
> Using a very basic, no-distro setup I've built core-image-minimal and
> core-image-base both with and without your patch and I see absolutely no
> difference in the list of installed packages
> (buildhistory/images/rock_5b/glibc/core-image-*/installed-packages.txt).
> 
> All of meta-rockchip's machine/include/* files already include
> MACHINE_EXTRA_RRECOMMENDS, do you have a scenario where a build is not
> including all of the built kernel modules in an image?
> 
> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4b.dtb"
>> UBOOT_MACHINE = "nanopi-m4b-rk3399_defconfig"
>> diff --git a/conf/machine/nanopi-r2s.conf b/conf/machine/nanopi-r2s.conf
>> index 4472c21..4ed3160 100644
>> --- a/conf/machine/nanopi-r2s.conf
>> +++ b/conf/machine/nanopi-r2s.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3328.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3328-nanopi-r2s.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "nanopi-r2s-rk3328_defconfig"
>> diff --git a/conf/machine/nanopi-r4s.conf b/conf/machine/nanopi-r4s.conf
>> index 21be440..1a63a96 100644
>> --- a/conf/machine/nanopi-r4s.conf
>> +++ b/conf/machine/nanopi-r4s.conf
>> @@ -5,7 +5,7 @@
>> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-r4s.dtb"
>> UBOOT_MACHINE = "nanopi-r4s-rk3399_defconfig"
>> diff --git a/conf/machine/rock-5a.conf b/conf/machine/rock-5a.conf
>> index 5ace4da..53b56b1 100644
>> --- a/conf/machine/rock-5a.conf
>> +++ b/conf/machine/rock-5a.conf
>> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588s.inc
>> 
>> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
>> KERNEL_DEVICETREE = "rockchip/rk3588s-rock-5a.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock5a-rk3588s_defconfig"
>> diff --git a/conf/machine/rock-5b.conf b/conf/machine/rock-5b.conf
>> index d137108..dc5fabc 100644
>> --- a/conf/machine/rock-5b.conf
>> +++ b/conf/machine/rock-5b.conf
>> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588.inc
>> 
>> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
>> KERNEL_DEVICETREE = "rockchip/rk3588-rock-5b.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock5b-rk3588_defconfig"
>> diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf
>> index 517956c..3f83675 100644
>> --- a/conf/machine/rock-pi-e.conf
>> +++ b/conf/machine/rock-pi-e.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3328.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig"
>> diff --git a/conf/machine/rock-pi-s.conf b/conf/machine/rock-pi-s.conf
>> index 79ea73c..590e972 100644
>> --- a/conf/machine/rock-pi-s.conf
>> +++ b/conf/machine/rock-pi-s.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3308.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3308-rock-pi-s.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock-pi-s-rk3308_defconfig"
>> --
>> 2.25.1
> 
> 

Hi

I build ROCK 5A core-image-full-cmdline.

Without that patch, only these ko are included.

$ tree build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
├── lib
│   └── libcrc32c.ko
└── net
├── 802
│   └── stp.ko
├── bridge
│   └── bridge.ko
├── ipv4
│   └── netfilter
│       ├── iptable_filter.ko
│       ├── iptable_mangle.ko
│       ├── iptable_nat.ko
│       ├── iptable_raw.ko
│       ├── iptable_security.ko
│       ├── ip_tables.ko
│       ├── ipt_REJECT.ko
│       ├── nf_defrag_ipv4.ko
│       └── nf_reject_ipv4.ko
├── ipv6
│   ├── ipv6.ko
│   └── netfilter
│       ├── ip6table_filter.ko
│       ├── ip6table_mangle.ko
│       ├── ip6table_nat.ko
│       ├── ip6_tables.ko
│       └── nf_defrag_ipv6.ko
├── llc
│   └── llc.ko
└── netfilter
├── nf_conntrack.ko
├── nf_conntrack_netlink.ko
├── nf_nat.ko
├── nfnetlink.ko
├── x_tables.ko
├── xt_addrtype.ko
├── xt_CHECKSUM.ko
├── xt_conntrack.ko
├── xt_MASQUERADE.ko
├── xt_nat.ko
├── xt_state.ko
└── xt_tcpudp.ko

10 directories, 31 files

With this patch, more ko are included.

$ tree build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
├── arch
│   └── arm64
│       ├── crypto
│       │   ├── aes-neon-blk.ko
│       │   ├── aes-neon-bs.ko
│       │   ├── chacha-neon.ko
│       │   ├── crct10dif-ce.ko
│       │   ├── sha3-ce.ko
│       │   ├── sha512-arm64.ko
│       │   ├── sha512-ce.ko
│       │   └── sm3-ce.ko
│       └── lib
│           └── xor-neon.ko
├── crypto
│   │   │   ├── mc44s803.ko
....
.....
└── rockchip
├── snd-soc-rk3399-gru-sound.ko
├── snd-soc-rockchip-i2s.ko
├── snd-soc-rockchip-i2s-tdm.ko
├── snd-soc-rockchip-rt5645.ko
└── snd-soc-rockchip-spdif.ko

256 directories, 809 files
Khem Raj Jan. 4, 2024, 4:40 a.m. UTC | #3
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS should be used when you need a
module to be pulled in to enable something always.
so I think setting MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to pull in a
meta package sounds a bit wrong. I wonder if you have something
overriding MACHINE_EXTRA_RRECOMMENDS, please try

bitbake-getvar MACHINE_EXTRA_RRECOMMENDS

and check if it contains kernel-modules or not. Also check output of
bitbake -e core-image-full-cmdline
so see if kernel-modules are being pulled into image or not. bitbake
-g core-image-full-cmdline might also help in finding the dependencies
being pulled into image and their relations.

On Wed, Jan 3, 2024 at 8:20 PM Stephen Chen <stephen@radxa.com> wrote:
>
> On Thu, Jan 4, 2024 at 05:27 AM, Trevor Woerner wrote:
>
> On Tue 2023-12-19 @ 07:23:52 PM, Stephen Chen wrote:
>
> This will add all built kernel modules to the image.
>
> Signed-off-by: Stephen Chen <stephen@radxa.com>
>
> diff --git a/conf/machine/include/rock-pi-4.inc b/conf/machine/include/rock-pi-4.inc
> index 0a86846..fd9a9eb 100644
> --- a/conf/machine/include/rock-pi-4.inc
> +++ b/conf/machine/include/rock-pi-4.inc
> @@ -3,4 +3,4 @@ MACHINEOVERRIDES =. "rock-pi-4:"
>
> require conf/machine/include/rk3399.inc
>
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
> diff --git a/conf/machine/nanopi-m4b.conf b/conf/machine/nanopi-m4b.conf
> index 35cd8f6..01d5c59 100644
> --- a/conf/machine/nanopi-m4b.conf
> +++ b/conf/machine/nanopi-m4b.conf
> @@ -5,7 +5,7 @@
>
> I've tried this a couple times and a couple different ways and I can't figure
> out how what we already have (MACHINE_EXTRA_RRECOMMENDS) is any different from
> what you're proposing (MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS).
>
> Using a very basic, no-distro setup I've built core-image-minimal and
> core-image-base both with and without your patch and I see absolutely no
> difference in the list of installed packages
> (buildhistory/images/rock_5b/glibc/core-image-*/installed-packages.txt).
>
> All of meta-rockchip's machine/include/* files already include
> MACHINE_EXTRA_RRECOMMENDS, do you have a scenario where a build is not
> including all of the built kernel modules in an image?
>
> require conf/machine/include/rk3399.inc
>
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4b.dtb"
> UBOOT_MACHINE = "nanopi-m4b-rk3399_defconfig"
> diff --git a/conf/machine/nanopi-r2s.conf b/conf/machine/nanopi-r2s.conf
> index 4472c21..4ed3160 100644
> --- a/conf/machine/nanopi-r2s.conf
> +++ b/conf/machine/nanopi-r2s.conf
> @@ -6,6 +6,6 @@
> require conf/machine/include/rk3328.inc
>
> KERNEL_DEVICETREE = "rockchip/rk3328-nanopi-r2s.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "nanopi-r2s-rk3328_defconfig"
> diff --git a/conf/machine/nanopi-r4s.conf b/conf/machine/nanopi-r4s.conf
> index 21be440..1a63a96 100644
> --- a/conf/machine/nanopi-r4s.conf
> +++ b/conf/machine/nanopi-r4s.conf
> @@ -5,7 +5,7 @@
>
> require conf/machine/include/rk3399.inc
>
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-r4s.dtb"
> UBOOT_MACHINE = "nanopi-r4s-rk3399_defconfig"
> diff --git a/conf/machine/rock-5a.conf b/conf/machine/rock-5a.conf
> index 5ace4da..53b56b1 100644
> --- a/conf/machine/rock-5a.conf
> +++ b/conf/machine/rock-5a.conf
> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588s.inc
>
> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
> KERNEL_DEVICETREE = "rockchip/rk3588s-rock-5a.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "rock5a-rk3588s_defconfig"
> diff --git a/conf/machine/rock-5b.conf b/conf/machine/rock-5b.conf
> index d137108..dc5fabc 100644
> --- a/conf/machine/rock-5b.conf
> +++ b/conf/machine/rock-5b.conf
> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588.inc
>
> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
> KERNEL_DEVICETREE = "rockchip/rk3588-rock-5b.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "rock5b-rk3588_defconfig"
> diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf
> index 517956c..3f83675 100644
> --- a/conf/machine/rock-pi-e.conf
> +++ b/conf/machine/rock-pi-e.conf
> @@ -6,6 +6,6 @@
> require conf/machine/include/rk3328.inc
>
> KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig"
> diff --git a/conf/machine/rock-pi-s.conf b/conf/machine/rock-pi-s.conf
> index 79ea73c..590e972 100644
> --- a/conf/machine/rock-pi-s.conf
> +++ b/conf/machine/rock-pi-s.conf
> @@ -6,6 +6,6 @@
> require conf/machine/include/rk3308.inc
>
> KERNEL_DEVICETREE = "rockchip/rk3308-rock-pi-s.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "rock-pi-s-rk3308_defconfig"
> --
> 2.25.1
>
> Hi
>
> I build ROCK 5A core-image-full-cmdline.
>
> Without that patch, only these ko are included.
>
> $ tree build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
> ├── lib
> │   └── libcrc32c.ko
> └── net
>     ├── 802
>     │   └── stp.ko
>     ├── bridge
>     │   └── bridge.ko
>     ├── ipv4
>     │   └── netfilter
>     │       ├── iptable_filter.ko
>     │       ├── iptable_mangle.ko
>     │       ├── iptable_nat.ko
>     │       ├── iptable_raw.ko
>     │       ├── iptable_security.ko
>     │       ├── ip_tables.ko
>     │       ├── ipt_REJECT.ko
>     │       ├── nf_defrag_ipv4.ko
>     │       └── nf_reject_ipv4.ko
>     ├── ipv6
>     │   ├── ipv6.ko
>     │   └── netfilter
>     │       ├── ip6table_filter.ko
>     │       ├── ip6table_mangle.ko
>     │       ├── ip6table_nat.ko
>     │       ├── ip6_tables.ko
>     │       └── nf_defrag_ipv6.ko
>     ├── llc
>     │   └── llc.ko
>     └── netfilter
>         ├── nf_conntrack.ko
>         ├── nf_conntrack_netlink.ko
>         ├── nf_nat.ko
>         ├── nfnetlink.ko
>         ├── x_tables.ko
>         ├── xt_addrtype.ko
>         ├── xt_CHECKSUM.ko
>         ├── xt_conntrack.ko
>         ├── xt_MASQUERADE.ko
>         ├── xt_nat.ko
>         ├── xt_state.ko
>         └── xt_tcpudp.ko
>
> 10 directories, 31 files
>
> With this patch, more ko are included.
>
> $ tree build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
> ├── arch
> │   └── arm64
> │       ├── crypto
> │       │   ├── aes-neon-blk.ko
> │       │   ├── aes-neon-bs.ko
> │       │   ├── chacha-neon.ko
> │       │   ├── crct10dif-ce.ko
> │       │   ├── sha3-ce.ko
> │       │   ├── sha512-arm64.ko
> │       │   ├── sha512-ce.ko
> │       │   └── sm3-ce.ko
> │       └── lib
> │           └── xor-neon.ko
> ├── crypto
> │   │   │   ├── mc44s803.ko
> ....
> .....
>         └── rockchip
>             ├── snd-soc-rk3399-gru-sound.ko
>             ├── snd-soc-rockchip-i2s.ko
>             ├── snd-soc-rockchip-i2s-tdm.ko
>             ├── snd-soc-rockchip-rt5645.ko
>             └── snd-soc-rockchip-spdif.ko
>
> 256 directories, 809 files
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> You automatically follow any topics you start or reply to.
> View/Reply Online (#62082): https://lists.yoctoproject.org/g/yocto/message/62082
> Mute This Topic: https://lists.yoctoproject.org/mt/103260773/1997914
> Group Owner: yocto+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Stephen Chen Jan. 4, 2024, 6:18 a.m. UTC | #4
I revert the patch, and run command, MACHINE=rock-5a bitbake-getvar MACHINE_EXTRA_RRECOMMENDS
And I get this:

### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
core-image-minimal
core-image-full-cmdline
core-image-sato
core-image-weston
meta-toolchain
meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86-64'.

Other commonly useful commands are:
- 'devtool' and 'recipetool' handle common recipe tasks
- 'bitbake-layers' handles common layer tasks
- 'oe-pkgdata-util' handles common target package tasks
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
NOTE: Starting bitbake server...
#
# $MACHINE_EXTRA_RRECOMMENDS [3 operations]
#   append /tank/stephen/yocto-rockchip-mainline/meta-rockchip/conf/machine/rock-5a.conf:10
#     "kernel-modules"
#   set /tank/stephen/yocto-rockchip-mainline/openembedded-core/meta/conf/documentation.conf:283
#     [doc] "A list of machine-specific packages to install as part of the image being built that are not essential for booting the machine. The image being built has no build dependencies on the packages in this list."
#   set? /tank/stephen/yocto-rockchip-mainline/openembedded-core/meta/conf/bitbake.conf:897
#     ""
# pre-expansion value:
#   " kernel-modules"
MACHINE_EXTRA_RRECOMMENDS=" kernel-modules"

On Thu, Jan 4, 2024 at 12:40 PM, Khem Raj wrote:

> 
> MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS should be used when you need a
> module to be pulled in to enable something always.
> so I think setting MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to pull in a
> meta package sounds a bit wrong. I wonder if you have something
> overriding MACHINE_EXTRA_RRECOMMENDS, please try
> 
> bitbake-getvar MACHINE_EXTRA_RRECOMMENDS
> 
> and check if it contains kernel-modules or not. Also check output of
> bitbake -e core-image-full-cmdline
> so see if kernel-modules are being pulled into image or not. bitbake
> -g core-image-full-cmdline might also help in finding the dependencies
> being pulled into image and their relations.
> 
> On Wed, Jan 3, 2024 at 8:20 PM Stephen Chen <stephen@radxa.com> wrote:
> 
>> 
>> On Thu, Jan 4, 2024 at 05:27 AM, Trevor Woerner wrote:
>> 
>> On Tue 2023-12-19 @ 07:23:52 PM, Stephen Chen wrote:
>> 
>> This will add all built kernel modules to the image.
>> 
>> Signed-off-by: Stephen Chen <stephen@radxa.com>
>> 
>> diff --git a/conf/machine/include/rock-pi-4.inc
>> b/conf/machine/include/rock-pi-4.inc
>> index 0a86846..fd9a9eb 100644
>> --- a/conf/machine/include/rock-pi-4.inc
>> +++ b/conf/machine/include/rock-pi-4.inc
>> @@ -3,4 +3,4 @@ MACHINEOVERRIDES =. "rock-pi-4:"
>> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> diff --git a/conf/machine/nanopi-m4b.conf b/conf/machine/nanopi-m4b.conf
>> index 35cd8f6..01d5c59 100644
>> --- a/conf/machine/nanopi-m4b.conf
>> +++ b/conf/machine/nanopi-m4b.conf
>> @@ -5,7 +5,7 @@
>> 
>> I've tried this a couple times and a couple different ways and I can't
>> figure
>> out how what we already have (MACHINE_EXTRA_RRECOMMENDS) is any different
>> from
>> what you're proposing (MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS).
>> 
>> Using a very basic, no-distro setup I've built core-image-minimal and
>> core-image-base both with and without your patch and I see absolutely no
>> difference in the list of installed packages
>> (buildhistory/images/rock_5b/glibc/core-image-*/installed-packages.txt).
>> 
>> All of meta-rockchip's machine/include/* files already include
>> MACHINE_EXTRA_RRECOMMENDS, do you have a scenario where a build is not
>> including all of the built kernel modules in an image?
>> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4b.dtb"
>> UBOOT_MACHINE = "nanopi-m4b-rk3399_defconfig"
>> diff --git a/conf/machine/nanopi-r2s.conf b/conf/machine/nanopi-r2s.conf
>> index 4472c21..4ed3160 100644
>> --- a/conf/machine/nanopi-r2s.conf
>> +++ b/conf/machine/nanopi-r2s.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3328.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3328-nanopi-r2s.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "nanopi-r2s-rk3328_defconfig"
>> diff --git a/conf/machine/nanopi-r4s.conf b/conf/machine/nanopi-r4s.conf
>> index 21be440..1a63a96 100644
>> --- a/conf/machine/nanopi-r4s.conf
>> +++ b/conf/machine/nanopi-r4s.conf
>> @@ -5,7 +5,7 @@
>> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-r4s.dtb"
>> UBOOT_MACHINE = "nanopi-r4s-rk3399_defconfig"
>> diff --git a/conf/machine/rock-5a.conf b/conf/machine/rock-5a.conf
>> index 5ace4da..53b56b1 100644
>> --- a/conf/machine/rock-5a.conf
>> +++ b/conf/machine/rock-5a.conf
>> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588s.inc
>> 
>> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
>> KERNEL_DEVICETREE = "rockchip/rk3588s-rock-5a.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock5a-rk3588s_defconfig"
>> diff --git a/conf/machine/rock-5b.conf b/conf/machine/rock-5b.conf
>> index d137108..dc5fabc 100644
>> --- a/conf/machine/rock-5b.conf
>> +++ b/conf/machine/rock-5b.conf
>> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588.inc
>> 
>> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
>> KERNEL_DEVICETREE = "rockchip/rk3588-rock-5b.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock5b-rk3588_defconfig"
>> diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf
>> index 517956c..3f83675 100644
>> --- a/conf/machine/rock-pi-e.conf
>> +++ b/conf/machine/rock-pi-e.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3328.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig"
>> diff --git a/conf/machine/rock-pi-s.conf b/conf/machine/rock-pi-s.conf
>> index 79ea73c..590e972 100644
>> --- a/conf/machine/rock-pi-s.conf
>> +++ b/conf/machine/rock-pi-s.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3308.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3308-rock-pi-s.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock-pi-s-rk3308_defconfig"
>> --
>> 2.25.1
>> 
>> Hi
>> 
>> I build ROCK 5A core-image-full-cmdline.
>> 
>> Without that patch, only these ko are included.
>> 
>> $ tree
>> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
>> 
>> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
>> 
>> ├── lib
>> │ └── libcrc32c.ko
>> └── net
>> ├── 802
>> │ └── stp.ko
>> ├── bridge
>> │ └── bridge.ko
>> ├── ipv4
>> │ └── netfilter
>> │ ├── iptable_filter.ko
>> │ ├── iptable_mangle.ko
>> │ ├── iptable_nat.ko
>> │ ├── iptable_raw.ko
>> │ ├── iptable_security.ko
>> │ ├── ip_tables.ko
>> │ ├── ipt_REJECT.ko
>> │ ├── nf_defrag_ipv4.ko
>> │ └── nf_reject_ipv4.ko
>> ├── ipv6
>> │ ├── ipv6.ko
>> │ └── netfilter
>> │ ├── ip6table_filter.ko
>> │ ├── ip6table_mangle.ko
>> │ ├── ip6table_nat.ko
>> │ ├── ip6_tables.ko
>> │ └── nf_defrag_ipv6.ko
>> ├── llc
>> │ └── llc.ko
>> └── netfilter
>> ├── nf_conntrack.ko
>> ├── nf_conntrack_netlink.ko
>> ├── nf_nat.ko
>> ├── nfnetlink.ko
>> ├── x_tables.ko
>> ├── xt_addrtype.ko
>> ├── xt_CHECKSUM.ko
>> ├── xt_conntrack.ko
>> ├── xt_MASQUERADE.ko
>> ├── xt_nat.ko
>> ├── xt_state.ko
>> └── xt_tcpudp.ko
>> 
>> 10 directories, 31 files
>> 
>> With this patch, more ko are included.
>> 
>> $ tree
>> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
>> 
>> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
>> 
>> ├── arch
>> │ └── arm64
>> │ ├── crypto
>> │ │ ├── aes-neon-blk.ko
>> │ │ ├── aes-neon-bs.ko
>> │ │ ├── chacha-neon.ko
>> │ │ ├── crct10dif-ce.ko
>> │ │ ├── sha3-ce.ko
>> │ │ ├── sha512-arm64.ko
>> │ │ ├── sha512-ce.ko
>> │ │ └── sm3-ce.ko
>> │ └── lib
>> │ └── xor-neon.ko
>> ├── crypto
>> │ │ │ ├── mc44s803.ko
>> ....
>> .....
>> └── rockchip
>> ├── snd-soc-rk3399-gru-sound.ko
>> ├── snd-soc-rockchip-i2s.ko
>> ├── snd-soc-rockchip-i2s-tdm.ko
>> ├── snd-soc-rockchip-rt5645.ko
>> └── snd-soc-rockchip-spdif.ko
>> 
>> 256 directories, 809 files
>> 
>> 
> 
>
Khem Raj Jan. 4, 2024, 6:33 a.m. UTC | #5
do you see same issue with core-image-base ?

On Wed, Jan 3, 2024 at 10:18 PM Stephen Chen <stephen@radxa.com> wrote:
>
> I revert the patch, and run command, MACHINE=rock-5a bitbake-getvar MACHINE_EXTRA_RRECOMMENDS
> And I get this:
>
> ### Shell environment set up for builds. ###
>
> You can now run 'bitbake <target>'
>
> Common targets are:
>     core-image-minimal
>     core-image-full-cmdline
>     core-image-sato
>     core-image-weston
>     meta-toolchain
>     meta-ide-support
>
> You can also run generated qemu images with a command like 'runqemu qemux86-64'.
>
> Other commonly useful commands are:
>  - 'devtool' and 'recipetool' handle common recipe tasks
>  - 'bitbake-layers' handles common layer tasks
>  - 'oe-pkgdata-util' handles common target package tasks
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> NOTE: Starting bitbake server...
> #
> # $MACHINE_EXTRA_RRECOMMENDS [3 operations]
> #   append /tank/stephen/yocto-rockchip-mainline/meta-rockchip/conf/machine/rock-5a.conf:10
> #     "kernel-modules"
> #   set /tank/stephen/yocto-rockchip-mainline/openembedded-core/meta/conf/documentation.conf:283
> #     [doc] "A list of machine-specific packages to install as part of the image being built that are not essential for booting the machine. The image being built has no build dependencies on the packages in this list."
> #   set? /tank/stephen/yocto-rockchip-mainline/openembedded-core/meta/conf/bitbake.conf:897
> #     ""
> # pre-expansion value:
> #   " kernel-modules"
> MACHINE_EXTRA_RRECOMMENDS=" kernel-modules"
>
> On Thu, Jan 4, 2024 at 12:40 PM, Khem Raj wrote:
>
> MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS should be used when you need a
> module to be pulled in to enable something always.
> so I think setting MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to pull in a
> meta package sounds a bit wrong. I wonder if you have something
> overriding MACHINE_EXTRA_RRECOMMENDS, please try
>
> bitbake-getvar MACHINE_EXTRA_RRECOMMENDS
>
> and check if it contains kernel-modules or not. Also check output of
> bitbake -e core-image-full-cmdline
> so see if kernel-modules are being pulled into image or not. bitbake
> -g core-image-full-cmdline might also help in finding the dependencies
> being pulled into image and their relations.
>
> On Wed, Jan 3, 2024 at 8:20 PM Stephen Chen <stephen@radxa.com> wrote:
>
>
> On Thu, Jan 4, 2024 at 05:27 AM, Trevor Woerner wrote:
>
> On Tue 2023-12-19 @ 07:23:52 PM, Stephen Chen wrote:
>
> This will add all built kernel modules to the image.
>
> Signed-off-by: Stephen Chen <stephen@radxa.com>
>
> diff --git a/conf/machine/include/rock-pi-4.inc b/conf/machine/include/rock-pi-4.inc
> index 0a86846..fd9a9eb 100644
> --- a/conf/machine/include/rock-pi-4.inc
> +++ b/conf/machine/include/rock-pi-4.inc
> @@ -3,4 +3,4 @@ MACHINEOVERRIDES =. "rock-pi-4:"
>
> require conf/machine/include/rk3399.inc
>
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
> diff --git a/conf/machine/nanopi-m4b.conf b/conf/machine/nanopi-m4b.conf
> index 35cd8f6..01d5c59 100644
> --- a/conf/machine/nanopi-m4b.conf
> +++ b/conf/machine/nanopi-m4b.conf
> @@ -5,7 +5,7 @@
>
> I've tried this a couple times and a couple different ways and I can't figure
> out how what we already have (MACHINE_EXTRA_RRECOMMENDS) is any different from
> what you're proposing (MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS).
>
> Using a very basic, no-distro setup I've built core-image-minimal and
> core-image-base both with and without your patch and I see absolutely no
> difference in the list of installed packages
> (buildhistory/images/rock_5b/glibc/core-image-*/installed-packages.txt).
>
> All of meta-rockchip's machine/include/* files already include
> MACHINE_EXTRA_RRECOMMENDS, do you have a scenario where a build is not
> including all of the built kernel modules in an image?
>
> require conf/machine/include/rk3399.inc
>
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4b.dtb"
> UBOOT_MACHINE = "nanopi-m4b-rk3399_defconfig"
> diff --git a/conf/machine/nanopi-r2s.conf b/conf/machine/nanopi-r2s.conf
> index 4472c21..4ed3160 100644
> --- a/conf/machine/nanopi-r2s.conf
> +++ b/conf/machine/nanopi-r2s.conf
> @@ -6,6 +6,6 @@
> require conf/machine/include/rk3328.inc
>
> KERNEL_DEVICETREE = "rockchip/rk3328-nanopi-r2s.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "nanopi-r2s-rk3328_defconfig"
> diff --git a/conf/machine/nanopi-r4s.conf b/conf/machine/nanopi-r4s.conf
> index 21be440..1a63a96 100644
> --- a/conf/machine/nanopi-r4s.conf
> +++ b/conf/machine/nanopi-r4s.conf
> @@ -5,7 +5,7 @@
>
> require conf/machine/include/rk3399.inc
>
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-r4s.dtb"
> UBOOT_MACHINE = "nanopi-r4s-rk3399_defconfig"
> diff --git a/conf/machine/rock-5a.conf b/conf/machine/rock-5a.conf
> index 5ace4da..53b56b1 100644
> --- a/conf/machine/rock-5a.conf
> +++ b/conf/machine/rock-5a.conf
> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588s.inc
>
> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
> KERNEL_DEVICETREE = "rockchip/rk3588s-rock-5a.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "rock5a-rk3588s_defconfig"
> diff --git a/conf/machine/rock-5b.conf b/conf/machine/rock-5b.conf
> index d137108..dc5fabc 100644
> --- a/conf/machine/rock-5b.conf
> +++ b/conf/machine/rock-5b.conf
> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588.inc
>
> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
> KERNEL_DEVICETREE = "rockchip/rk3588-rock-5b.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "rock5b-rk3588_defconfig"
> diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf
> index 517956c..3f83675 100644
> --- a/conf/machine/rock-pi-e.conf
> +++ b/conf/machine/rock-pi-e.conf
> @@ -6,6 +6,6 @@
> require conf/machine/include/rk3328.inc
>
> KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig"
> diff --git a/conf/machine/rock-pi-s.conf b/conf/machine/rock-pi-s.conf
> index 79ea73c..590e972 100644
> --- a/conf/machine/rock-pi-s.conf
> +++ b/conf/machine/rock-pi-s.conf
> @@ -6,6 +6,6 @@
> require conf/machine/include/rk3308.inc
>
> KERNEL_DEVICETREE = "rockchip/rk3308-rock-pi-s.dtb"
> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>
> UBOOT_MACHINE = "rock-pi-s-rk3308_defconfig"
> --
> 2.25.1
>
> Hi
>
> I build ROCK 5A core-image-full-cmdline.
>
> Without that patch, only these ko are included.
>
> $ tree build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
> ├── lib
> │ └── libcrc32c.ko
> └── net
> ├── 802
> │ └── stp.ko
> ├── bridge
> │ └── bridge.ko
> ├── ipv4
> │ └── netfilter
> │ ├── iptable_filter.ko
> │ ├── iptable_mangle.ko
> │ ├── iptable_nat.ko
> │ ├── iptable_raw.ko
> │ ├── iptable_security.ko
> │ ├── ip_tables.ko
> │ ├── ipt_REJECT.ko
> │ ├── nf_defrag_ipv4.ko
> │ └── nf_reject_ipv4.ko
> ├── ipv6
> │ ├── ipv6.ko
> │ └── netfilter
> │ ├── ip6table_filter.ko
> │ ├── ip6table_mangle.ko
> │ ├── ip6table_nat.ko
> │ ├── ip6_tables.ko
> │ └── nf_defrag_ipv6.ko
> ├── llc
> │ └── llc.ko
> └── netfilter
> ├── nf_conntrack.ko
> ├── nf_conntrack_netlink.ko
> ├── nf_nat.ko
> ├── nfnetlink.ko
> ├── x_tables.ko
> ├── xt_addrtype.ko
> ├── xt_CHECKSUM.ko
> ├── xt_conntrack.ko
> ├── xt_MASQUERADE.ko
> ├── xt_nat.ko
> ├── xt_state.ko
> └── xt_tcpudp.ko
>
> 10 directories, 31 files
>
> With this patch, more ko are included.
>
> $ tree build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
> ├── arch
> │ └── arm64
> │ ├── crypto
> │ │ ├── aes-neon-blk.ko
> │ │ ├── aes-neon-bs.ko
> │ │ ├── chacha-neon.ko
> │ │ ├── crct10dif-ce.ko
> │ │ ├── sha3-ce.ko
> │ │ ├── sha512-arm64.ko
> │ │ ├── sha512-ce.ko
> │ │ └── sm3-ce.ko
> │ └── lib
> │ └── xor-neon.ko
> ├── crypto
> │ │ │ ├── mc44s803.ko
> ....
> .....
> └── rockchip
> ├── snd-soc-rk3399-gru-sound.ko
> ├── snd-soc-rockchip-i2s.ko
> ├── snd-soc-rockchip-i2s-tdm.ko
> ├── snd-soc-rockchip-rt5645.ko
> └── snd-soc-rockchip-spdif.ko
>
> 256 directories, 809 files
>
Stephen Chen Jan. 4, 2024, 6:45 a.m. UTC | #6
I revert the patch, and run MACHINE=rock-5a bitbake core-image-base.
And many ko are included.

$ tree /tank/stephen/yocto-rockchip-mainline/build/tmp-glibc/work/rock_5a-oe-linux/core-image-base/1.0/rootfs/lib/modules
/tank/stephen/yocto-rockchip-mainline/build/tmp-glibc/work/rock_5a-oe-linux/core-image-base/1.0/rootfs/lib/modules
└── 6.6.0-yoctodev-standard-00098-gb053bfb06fa2
├── kernel
│   ├── arch
│   │   └── arm64
│   │       ├── crypto
│   │       │   ├── aes-neon-blk.ko
│   │       │   ├── aes-neon-bs.ko
│   │       │   ├── chacha-neon.ko
│   │       │   ├── crct10dif-ce.ko
│   │       │   ├── sha3-ce.ko
│   │       │   ├── sha512-arm64.ko
│   │       │   ├── sha512-ce.ko
│   │       │   └── sm3-ce.ko
│   │       └── lib
│   │           └── xor-neon.ko
│   ├── crypto
│   │   ├── af_alg.ko
│   │   ├── algif_rng.ko
│   │   ├── authencesn.ko
......
......
│           │   └── snd-soc-fsl-utils.ko
│           ├── generic
│           │   ├── snd-soc-audio-graph-card2.ko
│           │   ├── snd-soc-audio-graph-card.ko
│           │   ├── snd-soc-simple-card.ko
│           │   └── snd-soc-simple-card-utils.ko
│           └── rockchip
│               ├── snd-soc-rk3399-gru-sound.ko
│               ├── snd-soc-rockchip-i2s.ko
│               ├── snd-soc-rockchip-i2s-tdm.ko
│               ├── snd-soc-rockchip-rt5645.ko
│               └── snd-soc-rockchip-spdif.ko
├── modules.alias
├── modules.alias.bin
├── modules.builtin
├── modules.builtin.alias.bin
├── modules.builtin.bin
├── modules.builtin.modinfo
├── modules.dep
├── modules.dep.bin
├── modules.devname
├── modules.order
├── modules.softdep
├── modules.symbols
└── modules.symbols.bin

258 directories, 822 files

On Thu, Jan 4, 2024 at 02:33 PM, Khem Raj wrote:

> 
> do you see same issue with core-image-base ?
> 
> On Wed, Jan 3, 2024 at 10:18 PM Stephen Chen <stephen@radxa.com> wrote:
> 
>> 
>> I revert the patch, and run command, MACHINE=rock-5a bitbake-getvar
>> MACHINE_EXTRA_RRECOMMENDS
>> And I get this:
>> 
>> ### Shell environment set up for builds. ###
>> 
>> You can now run 'bitbake <target>'
>> 
>> Common targets are:
>> core-image-minimal
>> core-image-full-cmdline
>> core-image-sato
>> core-image-weston
>> meta-toolchain
>> meta-ide-support
>> 
>> You can also run generated qemu images with a command like 'runqemu
>> qemux86-64'.
>> 
>> Other commonly useful commands are:
>> - 'devtool' and 'recipetool' handle common recipe tasks
>> - 'bitbake-layers' handles common layer tasks
>> - 'oe-pkgdata-util' handles common target package tasks
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> NOTE: Starting bitbake server...
>> #
>> # $MACHINE_EXTRA_RRECOMMENDS [3 operations]
>> # append
>> /tank/stephen/yocto-rockchip-mainline/meta-rockchip/conf/machine/rock-5a.conf:10
>> 
>> # "kernel-modules"
>> # set
>> /tank/stephen/yocto-rockchip-mainline/openembedded-core/meta/conf/documentation.conf:283
>> 
>> # [doc] "A list of machine-specific packages to install as part of the
>> image being built that are not essential for booting the machine. The
>> image being built has no build dependencies on the packages in this list."
>> 
>> # set?
>> /tank/stephen/yocto-rockchip-mainline/openembedded-core/meta/conf/bitbake.conf:897
>> 
>> # ""
>> # pre-expansion value:
>> # " kernel-modules"
>> MACHINE_EXTRA_RRECOMMENDS=" kernel-modules"
>> 
>> On Thu, Jan 4, 2024 at 12:40 PM, Khem Raj wrote:
>> 
>> MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS should be used when you need a
>> module to be pulled in to enable something always.
>> so I think setting MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to pull in a
>> meta package sounds a bit wrong. I wonder if you have something
>> overriding MACHINE_EXTRA_RRECOMMENDS, please try
>> 
>> bitbake-getvar MACHINE_EXTRA_RRECOMMENDS
>> 
>> and check if it contains kernel-modules or not. Also check output of
>> bitbake -e core-image-full-cmdline
>> so see if kernel-modules are being pulled into image or not. bitbake
>> -g core-image-full-cmdline might also help in finding the dependencies
>> being pulled into image and their relations.
>> 
>> On Wed, Jan 3, 2024 at 8:20 PM Stephen Chen <stephen@radxa.com> wrote:
>> 
>> 
>> On Thu, Jan 4, 2024 at 05:27 AM, Trevor Woerner wrote:
>> 
>> On Tue 2023-12-19 @ 07:23:52 PM, Stephen Chen wrote:
>> 
>> This will add all built kernel modules to the image.
>> 
>> Signed-off-by: Stephen Chen <stephen@radxa.com>
>> 
>> diff --git a/conf/machine/include/rock-pi-4.inc
>> b/conf/machine/include/rock-pi-4.inc
>> index 0a86846..fd9a9eb 100644
>> --- a/conf/machine/include/rock-pi-4.inc
>> +++ b/conf/machine/include/rock-pi-4.inc
>> @@ -3,4 +3,4 @@ MACHINEOVERRIDES =. "rock-pi-4:"
>> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> diff --git a/conf/machine/nanopi-m4b.conf b/conf/machine/nanopi-m4b.conf
>> index 35cd8f6..01d5c59 100644
>> --- a/conf/machine/nanopi-m4b.conf
>> +++ b/conf/machine/nanopi-m4b.conf
>> @@ -5,7 +5,7 @@
>> 
>> I've tried this a couple times and a couple different ways and I can't
>> figure
>> out how what we already have (MACHINE_EXTRA_RRECOMMENDS) is any different
>> from
>> what you're proposing (MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS).
>> 
>> Using a very basic, no-distro setup I've built core-image-minimal and
>> core-image-base both with and without your patch and I see absolutely no
>> difference in the list of installed packages
>> (buildhistory/images/rock_5b/glibc/core-image-*/installed-packages.txt).
>> 
>> All of meta-rockchip's machine/include/* files already include
>> MACHINE_EXTRA_RRECOMMENDS, do you have a scenario where a build is not
>> including all of the built kernel modules in an image?
>> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4b.dtb"
>> UBOOT_MACHINE = "nanopi-m4b-rk3399_defconfig"
>> diff --git a/conf/machine/nanopi-r2s.conf b/conf/machine/nanopi-r2s.conf
>> index 4472c21..4ed3160 100644
>> --- a/conf/machine/nanopi-r2s.conf
>> +++ b/conf/machine/nanopi-r2s.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3328.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3328-nanopi-r2s.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "nanopi-r2s-rk3328_defconfig"
>> diff --git a/conf/machine/nanopi-r4s.conf b/conf/machine/nanopi-r4s.conf
>> index 21be440..1a63a96 100644
>> --- a/conf/machine/nanopi-r4s.conf
>> +++ b/conf/machine/nanopi-r4s.conf
>> @@ -5,7 +5,7 @@
>> 
>> require conf/machine/include/rk3399.inc
>> 
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-r4s.dtb"
>> UBOOT_MACHINE = "nanopi-r4s-rk3399_defconfig"
>> diff --git a/conf/machine/rock-5a.conf b/conf/machine/rock-5a.conf
>> index 5ace4da..53b56b1 100644
>> --- a/conf/machine/rock-5a.conf
>> +++ b/conf/machine/rock-5a.conf
>> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588s.inc
>> 
>> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
>> KERNEL_DEVICETREE = "rockchip/rk3588s-rock-5a.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock5a-rk3588s_defconfig"
>> diff --git a/conf/machine/rock-5b.conf b/conf/machine/rock-5b.conf
>> index d137108..dc5fabc 100644
>> --- a/conf/machine/rock-5b.conf
>> +++ b/conf/machine/rock-5b.conf
>> @@ -7,6 +7,6 @@ require conf/machine/include/rk3588.inc
>> 
>> PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
>> KERNEL_DEVICETREE = "rockchip/rk3588-rock-5b.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock5b-rk3588_defconfig"
>> diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf
>> index 517956c..3f83675 100644
>> --- a/conf/machine/rock-pi-e.conf
>> +++ b/conf/machine/rock-pi-e.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3328.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig"
>> diff --git a/conf/machine/rock-pi-s.conf b/conf/machine/rock-pi-s.conf
>> index 79ea73c..590e972 100644
>> --- a/conf/machine/rock-pi-s.conf
>> +++ b/conf/machine/rock-pi-s.conf
>> @@ -6,6 +6,6 @@
>> require conf/machine/include/rk3308.inc
>> 
>> KERNEL_DEVICETREE = "rockchip/rk3308-rock-pi-s.dtb"
>> -MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
>> +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
>> 
>> UBOOT_MACHINE = "rock-pi-s-rk3308_defconfig"
>> --
>> 2.25.1
>> 
>> Hi
>> 
>> I build ROCK 5A core-image-full-cmdline.
>> 
>> Without that patch, only these ko are included.
>> 
>> $ tree
>> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
>> 
>> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
>> 
>> ├── lib
>> │ └── libcrc32c.ko
>> └── net
>> ├── 802
>> │ └── stp.ko
>> ├── bridge
>> │ └── bridge.ko
>> ├── ipv4
>> │ └── netfilter
>> │ ├── iptable_filter.ko
>> │ ├── iptable_mangle.ko
>> │ ├── iptable_nat.ko
>> │ ├── iptable_raw.ko
>> │ ├── iptable_security.ko
>> │ ├── ip_tables.ko
>> │ ├── ipt_REJECT.ko
>> │ ├── nf_defrag_ipv4.ko
>> │ └── nf_reject_ipv4.ko
>> ├── ipv6
>> │ ├── ipv6.ko
>> │ └── netfilter
>> │ ├── ip6table_filter.ko
>> │ ├── ip6table_mangle.ko
>> │ ├── ip6table_nat.ko
>> │ ├── ip6_tables.ko
>> │ └── nf_defrag_ipv6.ko
>> ├── llc
>> │ └── llc.ko
>> └── netfilter
>> ├── nf_conntrack.ko
>> ├── nf_conntrack_netlink.ko
>> ├── nf_nat.ko
>> ├── nfnetlink.ko
>> ├── x_tables.ko
>> ├── xt_addrtype.ko
>> ├── xt_CHECKSUM.ko
>> ├── xt_conntrack.ko
>> ├── xt_MASQUERADE.ko
>> ├── xt_nat.ko
>> ├── xt_state.ko
>> └── xt_tcpudp.ko
>> 
>> 10 directories, 31 files
>> 
>> With this patch, more ko are included.
>> 
>> $ tree
>> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
>> 
>> build/tmp-glibc/work/rock_5a-oe-linux/core-image-full-cmdline/1.0/rootfs/lib/modules/6.6.0-yoctodev-standard-00098-gb053bfb06fa2/kernel/
>> 
>> ├── arch
>> │ └── arm64
>> │ ├── crypto
>> │ │ ├── aes-neon-blk.ko
>> │ │ ├── aes-neon-bs.ko
>> │ │ ├── chacha-neon.ko
>> │ │ ├── crct10dif-ce.ko
>> │ │ ├── sha3-ce.ko
>> │ │ ├── sha512-arm64.ko
>> │ │ ├── sha512-ce.ko
>> │ │ └── sm3-ce.ko
>> │ └── lib
>> │ └── xor-neon.ko
>> ├── crypto
>> │ │ │ ├── mc44s803.ko
>> ....
>> .....
>> └── rockchip
>> ├── snd-soc-rk3399-gru-sound.ko
>> ├── snd-soc-rockchip-i2s.ko
>> ├── snd-soc-rockchip-i2s-tdm.ko
>> ├── snd-soc-rockchip-rt5645.ko
>> └── snd-soc-rockchip-spdif.ko
>> 
>> 256 directories, 809 files
> 
>
Trevor Woerner Jan. 7, 2024, 3:53 a.m. UTC | #7
I have been running little experiments on various builds with
meta-rockchip and with just oe-core and qemu machines. The more
I think about it, the more I wonder why a BSP layer is including
kernel modules via MACHINE_EXTRA_RRECOMMENDS at all, never mind
with MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS.

If a specific module were required for something to work (like wifi) or
perhaps some firmware blob, then it would be understandable. But a blanket
pulling in of all kernel modules by the BSP layer seems fishy.

This feels more like a distro setting, or local.conf at the very least.

I'm going to remove these from meta-rockchip. We can see if any are truly
required for a board to work.
diff mbox series

Patch

diff --git a/conf/machine/include/rock-pi-4.inc b/conf/machine/include/rock-pi-4.inc
index 0a86846..fd9a9eb 100644
--- a/conf/machine/include/rock-pi-4.inc
+++ b/conf/machine/include/rock-pi-4.inc
@@ -3,4 +3,4 @@  MACHINEOVERRIDES =. "rock-pi-4:"
 
 require conf/machine/include/rk3399.inc
 
-MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
diff --git a/conf/machine/nanopi-m4b.conf b/conf/machine/nanopi-m4b.conf
index 35cd8f6..01d5c59 100644
--- a/conf/machine/nanopi-m4b.conf
+++ b/conf/machine/nanopi-m4b.conf
@@ -5,7 +5,7 @@ 
 
 require conf/machine/include/rk3399.inc
 
-MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
 
 KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4b.dtb"
 UBOOT_MACHINE = "nanopi-m4b-rk3399_defconfig"
diff --git a/conf/machine/nanopi-r2s.conf b/conf/machine/nanopi-r2s.conf
index 4472c21..4ed3160 100644
--- a/conf/machine/nanopi-r2s.conf
+++ b/conf/machine/nanopi-r2s.conf
@@ -6,6 +6,6 @@ 
 require conf/machine/include/rk3328.inc
 
 KERNEL_DEVICETREE = "rockchip/rk3328-nanopi-r2s.dtb"
-MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
 
 UBOOT_MACHINE = "nanopi-r2s-rk3328_defconfig"
diff --git a/conf/machine/nanopi-r4s.conf b/conf/machine/nanopi-r4s.conf
index 21be440..1a63a96 100644
--- a/conf/machine/nanopi-r4s.conf
+++ b/conf/machine/nanopi-r4s.conf
@@ -5,7 +5,7 @@ 
 
 require conf/machine/include/rk3399.inc
 
-MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
 
 KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-r4s.dtb"
 UBOOT_MACHINE = "nanopi-r4s-rk3399_defconfig"
diff --git a/conf/machine/rock-5a.conf b/conf/machine/rock-5a.conf
index 5ace4da..53b56b1 100644
--- a/conf/machine/rock-5a.conf
+++ b/conf/machine/rock-5a.conf
@@ -7,6 +7,6 @@  require conf/machine/include/rk3588s.inc
 
 PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
 KERNEL_DEVICETREE = "rockchip/rk3588s-rock-5a.dtb"
-MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
 
 UBOOT_MACHINE = "rock5a-rk3588s_defconfig"
diff --git a/conf/machine/rock-5b.conf b/conf/machine/rock-5b.conf
index d137108..dc5fabc 100644
--- a/conf/machine/rock-5b.conf
+++ b/conf/machine/rock-5b.conf
@@ -7,6 +7,6 @@  require conf/machine/include/rk3588.inc
 
 PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-dev"
 KERNEL_DEVICETREE = "rockchip/rk3588-rock-5b.dtb"
-MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
 
 UBOOT_MACHINE = "rock5b-rk3588_defconfig"
diff --git a/conf/machine/rock-pi-e.conf b/conf/machine/rock-pi-e.conf
index 517956c..3f83675 100644
--- a/conf/machine/rock-pi-e.conf
+++ b/conf/machine/rock-pi-e.conf
@@ -6,6 +6,6 @@ 
 require conf/machine/include/rk3328.inc
 
 KERNEL_DEVICETREE = "rockchip/rk3328-rock-pi-e.dtb"
-MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
 
 UBOOT_MACHINE = "rock-pi-e-rk3328_defconfig"
diff --git a/conf/machine/rock-pi-s.conf b/conf/machine/rock-pi-s.conf
index 79ea73c..590e972 100644
--- a/conf/machine/rock-pi-s.conf
+++ b/conf/machine/rock-pi-s.conf
@@ -6,6 +6,6 @@ 
 require conf/machine/include/rk3308.inc
 
 KERNEL_DEVICETREE = "rockchip/rk3308-rock-pi-s.dtb"
-MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
 
 UBOOT_MACHINE = "rock-pi-s-rk3308_defconfig"