yocto.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
From: "Stephen Chen" <stephen@radxa.com>
To: Khem Raj <raj.khem@gmail.com>,yocto@lists.yoctoproject.org
Subject: Re: [yocto] [meta-rockchip] [PATCH] use MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to add kernel-modules
Date: Wed, 03 Jan 2024 22:18:38 -0800	[thread overview]
Message-ID: <11912.1704349118416328574@lists.yoctoproject.org> (raw)
In-Reply-To: <CAMKF1sqP0413+63ZgDzyCH8ZNqPfwkPALTRwEsfNieDti5SXbQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 10107 bytes --]

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
>> 
>> 
> 
>

[-- Attachment #2: Type: text/html, Size: 10742 bytes --]

  reply	other threads:[~2024-01-04  6:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-19 11:23 [meta-rockchip] [PATCH] use MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS to add kernel-modules Stephen Chen
2024-01-03 21:27 ` Trevor Woerner
2024-01-04  4:20   ` [yocto] " Stephen Chen
2024-01-04  4:40     ` Khem Raj
2024-01-04  6:18       ` Stephen Chen [this message]
2024-01-04  6:33         ` Khem Raj
2024-01-04  6:45           ` Stephen Chen
2024-01-07  3:53             ` Trevor Woerner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11912.1704349118416328574@lists.yoctoproject.org \
    --to=stephen@radxa.com \
    --cc=raj.khem@gmail.com \
    --cc=yocto@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).