Date   

Yocto Technical Team Minutes, Engineering Sync, for Feb 16 2021

Trevor Woerner
 

Yocto Technical Team Minutes, Engineering Sync, for Feb 16 2021
archive: https://docs.google.com/document/d/1ly8nyhO14kDNnFcW2QskANXW3ZT7QwKC5wWVDg9dDH4/edit

== disclaimer ==
Best efforts are made to ensure the below is accurate and valid. However,
errors sometimes happen. If any errors or omissions are found, please feel
free to reply to this email with any corrections.

== attendees ==
Trevor Woerner, Trevor Woerner, Stephen Jolly, John Kaldas, Peter
Kjellerstedt, Jan-Simon Möller, Armin Kuster, Alexandre Belloni, Steve
Sakoman, Mark Morton, Randy MacLeod, Michael Halstead, Scott Murray, Joshua
Watt, Yi Fan Yu, Richard Purdie, Jon Mason, Bruce Ashfield, Tim Orling,
Paul Barker

== notes ==
- 3.2.2 started building
- glibc-2.33 caused build issues in containers
- YP has a reputation that it isn’t reproducible (?), we’re better than
99% reproducible
- fixed a number of reproducibility issues in many recipes, still some remain
- automatic update helper ran, please fixup any issues before -m3 (start of
March)
- added umask (helps with reproducibility)
- still have some autobuilder (AB) issues, please take a look

== general ==
RP: lots of churn due to unintative update and extended tarball issue

RP: the state of pseudo is worrying

RP: lots of low-hanging fruit wrt reproducibility issues
https://autobuilder.yocto.io/pub/repro-fail/2021-2-15-rp/rp/
I’ve removed some of the larger ones
Peter: what’s the status of RPM?
JPEW: there’s a fundamental problem with reproducibility wrt RPM
RP: we’re not going to focus on RPM yet
JPEW: you could use ptests and see what happens
RP: reproducibility was originally a project that was started with debs, so
debs supports reproducibility the best (so far). there’s no good reason
why RPMs can’t work, but we assume the non-reproducibility issues with
RPMs has something to do with RPM, and not the build itself

Randy: high priority valgrind bug, traced to glibc upgrade, traced down to
a select(2) call, could look at reverting a patch or two and see what
happens
RP: we might need to take it upstream
Randy: we’ll verity whether or not we need to get upstream involved. do you
want a patch to skip it, or wait
RP: if we had a patch we could move the bug from high priority to med or low

RP: the next high pri bug is ARM libevent. seems to happen more frequently on
ARM for some reason
JonM: i’ll take a look after the call

Randy: rust: rebasing my patches, build running now, if it works i’ll send
them to the list.
Randy: looked briefly at fetcher changes (from Andreas), will get to it later
today or tomorrow (it’s not how the Rust community is doing it, so
we’ll have to see if that’s okay)

RP: 1804 builder 3 has an issue (missing git user email)
MichaelH: oops, i missed that on IRC. i’ll take a look
RP: there’s a missing git module, wondering why the bring-up didn’t
notice/install it

Steve: kernel CVEs
Steve: on the weekly CVS reports we whitelist linux-yocto (Bruce applies
them but they’re not upstream so it gets missed) i disabled that
whitelisting and found over 60 CVEs just in Dunfell. do we want to
continue whitelisting them?
Armin: typically kernel CVEs say “every possible version” they almost
never lock the version down, so i doubt it’s actually 60. creates a lot
of work because the list isn’t precise and many could be non-issues for
a specific kernel version. Bruce does keep up-to-date, so he brings in a
lot of the fixes (from upstream)
Bruce: i agree with Armin
Bruce: if we bring the fixes into our repositories too early, and then
they’re applied upstream, it causes even more work, so ideally it would
be preferable to wait until they hit upstream and pull them in that way
RP: i like the feedback we’re getting from the automated CVE messages going
to the mailing list, but we’re not sure, as a public project, whether we
should continue whitelisting the kernel-specific ones
AlexB: there’s an overflow issue with some of the older kernels (sub-version
number going above 255)
Scott: so things like uname might report “wrong” info
Bruce: i don’t have major concerns, as a project the best we can do is
keeping in sync with upstream (and let the vendor trees do their own
thing)
RP: we have ~50 reported against master. i think it would be great wrt how
we’re seen externally to keep up to date with these things
SteveS: as a first step we should probably turn on the visibility
RP: it might be depressing to see the count suddenly jump so high as we turn
this on
ScottM: maybe report, but keep separate?
RP: maybe SteveS could look at the tooling to see if we could list them
separately
JonM: maybe report a little this month, some more next, and then more; add
them gradually?
RP: in any case i think we need to get this list out there; preferably in a
way that doesn’t tarnish our reputation
SteveS: I can do a one-off to the mailing list and we can talk about it there

Stephen: 3.1.6 should be built next week, do you think dunfell will be ready
for a build next week?
SteveS: I’d prefer to wait a week or so, i think more pseudo stuff will be
trickling in
RP: 1st of March is feature freeze for m3, so we either try to slot dunfell in
now, or after
SteveS: thoughts on pseudo?
RP: older glibcs are in a reasonable state, the problems we’re seeing are
with 2.33 and uninative. so as long as we stay away from glibc-2.33 i
think we’ll be fine
SteveS: the other issue are the python3 changes that are rippling through
meta-oe
RP: hopefully we’ll get through their review. my feeling is that we’ll end
up merging those, so we should be able to try the build early next week
SteveS: if they pass Armin’s testing, they could be merged in
RP: let’s aim for next week

RP: there are quite a few reproducibility issues on master now, but they seem
“safe”
SteveS: i’d like to wait on those, and do them after a next build
RP: i’ve traced things down and feel better about a number of them, so i
think they’re okay
SteveS: okay, we’ll aim for next week

TimO: a cryptography module for python now needs rust to build
TimO: i’ve been playing with qemu images under libvirt, it doesn’t come
up, but i think it can be solved with the qemu manager. would it be okay
to add the agent into core, or be a bbappend in meta-virt
RP: dependencies?
TimO: not much
RP: sounds good for core
Saul: point me at it
TimO: it’s in poky-contrib, i’ll point you at it when i'm done

Saul: LTS 2022/2024 are we still targeting “every 2 years” as stated on the
wiki?
RP: it’s a decision to be made by the YP member companies. the TSC will
flag this at the next members meeting: 1) when to start next LTS 2) what
happens to the current LTS at that point? funding will influence those
decisions. no answer yet
Saul: it’s a ways off, but some would like to be able to plan

TimO: are we still doing a devday?
TrevorW: i’d like to plan something
RP: thanks. i’d like to see something. i’m worried about the hole we have
in advocacy. the advocacy mailing list is a good place to have that talk.
make sure to loop in people like Nico, AWaffa, DReyna,
RP: i could find the right people at LF if we need to setup a registration
(payment)
TimO: i really miss those round-table OED{E|A}Ms that we used to have
TrevorW: it’d be great to have a round-table on a Sato replacement
TimO: also a gui tester (dogtail?)
TrevorW: the big thing will be advertising
RP: LF and Nico can help with that

TimO: when the next OEHH?
TrevorW: next wednesday, feb 24th


Re: Regarding Mender integration

U RAVI KUMAR <uppadaravi2511@...>
 

hello everyone,

I have an issue while integrating the mender in yocto.
getting  error while adding  INHERIT +=" mender-full" in the local.conf file .Can anyone pls help me out in solving this issue.


On Fri, Feb 12, 2021 at 9:03 PM U RAVI KUMAR via lists.yoctoproject.org <uppadaravi2511=gmail.com@...> wrote:
Hello folks,

I have some issues while integrating the mender on the yocto project.I have included meta-mener-core,meta-mender-raspberrypi layers.And iam getting the following error:

ERROR: u-boot-1_2020.07-r0 do_patch: Command Error: 'quilt --quiltrc /home/ravi_uppada/work/vm/sato/poky/build/tmp/work/raspberrypi4_64-poky-linux/u-boot/1_2020.07-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0  Output:
Applying patch 0001-configs-rpi-enable-mender-requirements.patch
patching file configs/rpi_0_w_defconfig
Hunk #1 FAILED at 19.
1 out of 2 hunks FAILED -- rejects in file configs/rpi_0_w_defconfig
patching file configs/rpi_2_defconfig
Hunk #1 FAILED at 19.
1 out of 2 hunks FAILED -- rejects in file configs/rpi_2_defconfig
patching file configs/rpi_3_32b_defconfig
Hunk #1 FAILED at 20.
1 out of 2 hunks FAILED -- rejects in file configs/rpi_3_32b_defconfig
patching file configs/rpi_3_b_plus_defconfig
Hunk #1 FAILED at 20.
1 out of 2 hunks FAILED -- rejects in file configs/rpi_3_b_plus_defconfig
patching file configs/rpi_3_defconfig
Hunk #1 FAILED at 20.
1 out of 2 hunks FAILED -- rejects in file configs/rpi_3_defconfig
patching file configs/rpi_4_32b_defconfig
Hunk #1 FAILED at 16.
Hunk #2 succeeded at 45 (offset 12 lines).
1 out of 2 hunks FAILED -- rejects in file configs/rpi_4_32b_defconfig
patching file configs/rpi_4_defconfig
Hunk #1 FAILED at 16.
Hunk #2 succeeded at 45 (offset 12 lines).
1 out of 2 hunks FAILED -- rejects in file configs/rpi_4_defconfig
patching file configs/rpi_arm64_defconfig
Hunk #1 FAILED at 17.
Hunk #2 succeeded at 43 (offset 1 line).
1 out of 2 hunks FAILED -- rejects in file configs/rpi_arm64_defconfig
patching file configs/rpi_defconfig
Hunk #1 FAILED at 19.
1 out of 2 hunks FAILED -- rejects in file configs/rpi_defconfig
patching file env/Kconfig
Hunk #1 succeeded at 55 (offset 6 lines).
patching file include/configs/rpi.h
Hunk #1 succeeded at 97 (offset 17 lines).
Patch 0001-configs-rpi-enable-mender-requirements.patch does not apply (enforce with -f)
ERROR: Logfile of failure stored in: /home/ravi_uppada/work/vm/sato/poky/build/tmp/work/raspberrypi4_64-poky-linux/u-boot/1_2020.07-r0/temp/log.do_patch.5091
ERROR: Task (/home/ravi_uppada/work/vm/sato/poky/meta/recipes-bsp/u-boot/u-boot_2020.07.bb:do_patch) failed with exit code '1'



Have added in the path : /DIRECTORY_BUILD/sato/poky/layers/meta-mender/meta-mender-core/recipes-bsp/u-boot
 Have added the lines in this file : u-boot_%.bbappend.

Please help me out this.I have been trying this from very long.Please address this issue.

Thanks,
RAVI_UPPADA




QA notification for completed autobuilder build (yocto-3.2.2.rc1)

Pokybuild User <pokybuild@...>
 

A build flagged for QA (yocto-3.2.2.rc1) was completed on the autobuilder and is available at:


https://autobuilder.yocto.io/pub/releases/yocto-3.2.2.rc1


Build hash information:

bitbake: 0a3bf681530bd63fc0036ca81ef868ab53fde56c
meta-arm: aa63e31b6edb5197764c21434219050ab51f0fbd
meta-gplv2: 6e8e969590a22a729db1ff342de57f2fd5d02d43
meta-intel: 1d866c58534eb1d317b7a674c6e6c57ab9594fb0
meta-kernel: f793168bd19af3d8c5a260dd35f387ed9a31794b
meta-mingw: 352d8b0aa3c7bbd5060a4cc2ebe7c0e964de4879
oecore: ebaaee50cb3ac75112827f935c48affaf622ce7f
poky: d5d6286a66f46f4523e35e0e3f20cd7396195fdc



This is an automated message from the Yocto Project Autobuilder
Git: git://git.yoctoproject.org/yocto-autobuilder2
Email: richard.purdie@linuxfoundation.org


Yocto Project Status WW07`21

Stephen Jolley
 

Current Dev Position: YP 3.3 M3 development

Next Deadline: 1st March 2021 YP 3.3 M3 build 

 

Next Team Meetings:

 

Key Status/Updates:

  • YP 3.2.2 is currently building.
  • We’ve been upgrading uninative and buildtools-extended-tarball however glibc 2.33 has caused issues with build in containers and with pseudo. Hopefully these issues are now resolved or worked around with the latest patches.
  • There is apparently a reputation that Yocto Project is not reproducible. It’s builds are! We now have an live status report on our website for this: https://www.yoctoproject.org/reproducible-build-results/ showing the status live from the autobuilder (thanks Joshua and Michael)
  • Given the above, we’ve managed to improve the reproducible selftest by separating to its own autobuilder target and showing which exclusions are no longer needed.
  • We have also fixed reproducibility issues in a number of recipes. There are still some low hanging issues in the current exclusion list.
  • The AUH (Automatic Upgrade Helper) has run and was relatively successful, please help us get the version upgrades in before M3 builds on the 1st.
  • We’ve changed the default umask applying to tasks in builds to make it easier to avoid reproducibility issues (bitbake now has a BB_DEFAULT_UMASK variable).
  • Intermittent autobuilder issues continue to occur. You can see the list of failures we’re continuing to see by searching for the “AB-INT” tag in bugzilla: https://bugzilla.yoctoproject.org/buglist.cgi?quicksearch=AB-INT

 

Ways to contribute:

 

YP 3.3 Milestone Dates:

  • YP 3.3 M3 build date 2021/03/01
  • YP 3.3 M3 Release date 2021/03/12
  • YP 3.3 M4 build date 2021/04/05
  • YP 3.3 M4 Release date 2021/04/30

 

Planned upcoming dot releases:

  • YP 3.2.2 is building.
  • YP 3.2.2 release date 2021/02/19
  • YP 3.1.6 build date 2021/02/22
  • YP 3.1.6 release date 2021/03/05
  • YP 3.2.3 build date 2021/03/15
  • YP 3.2.3 release date 2021/03/26
  • YP 3.1.7 build date 2021/03/29
  • YP 3.1.7 release date 2021/04/09

 

Tracking Metrics:

 

The Yocto Project’s technical governance is through its Technical Steering Committee, more information is available at:

https://wiki.yoctoproject.org/wiki/TSC

 

The Status reports are now stored on the wiki at: https://wiki.yoctoproject.org/wiki/Weekly_Status

 

[If anyone has suggestions for other information you’d like to see on this weekly status update, let us know!]

 

Thanks,

 

Stephen K. Jolley

Yocto Project Program Manager

(    Cell:                (208) 244-4460

* Email:              sjolley.yp.pm@...

 


[meta-zephyr][PATCH V2 15/15] README.txt: Fix small typo in email subject prefix

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
README.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.txt b/README.txt
index ce5338b..5a0ccc7 100644
--- a/README.txt
+++ b/README.txt
@@ -116,4 +116,4 @@ the patches are identifable.
Git can be configured to send mails appropriately when using git send-email:

$ git config --local sendemail.to yocto@lists.yoctoproject.org
-$ git config --local format.subjectPrefix meta-zephy][PATCH
+$ git config --local format.subjectPrefix meta-zephyr][PATCH
--
2.30.1


[meta-zephyr][PATCH V2 14/15] zephyr-kernel-src: Upgrade 2.5.0-rc3 to rc4

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
...rnel-src-2.5.0-rc3.inc => zephyr-kernel-src-2.5.0-rc4.inc} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename recipes-kernel/zephyr-kernel/{zephyr-kernel-src-2.5.0-rc3.inc => zephyr-kernel-src-2.5.0-rc4.inc} (86%)

diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc3.inc b/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc4.inc
similarity index 86%
rename from recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc3.inc
rename to recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc4.inc
index 4ee9883..b8aa4dc 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc3.inc
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc4.inc
@@ -1,5 +1,5 @@
SRCREV_FORMAT = "default_cmsis"
-SRCREV_default = "v2.5.0-rc3"
+SRCREV_default = "v2.5.0-rc4"
SRCREV_cmsis = "c3bd2094f92d574377f7af2aec147ae181aa5f8e"
SRCREV_nordic = "f3434da6446380fcdd426dbe2866af21d0d549b6"
SRCREV_stm32 = "cc8731dba4fd9c57d7fe8ea6149828b89c2bd635"
@@ -7,4 +7,4 @@ SRCREV_open-amp = "de1b85a13032a2de1d8b6695ae5f800b613e739d"
SRCREV_libmetal = "9d4ee2c3cfd5f49861939447990f3b7d7bf9bf94"
SRCREV_tinycrypt = "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"

-PV = "2.5.0-rc3+git${SRCPV}"
+PV = "2.5.0-rc4+git${SRCPV}"
--
2.30.1


[meta-zephyr][PATCH V2 13/15] zephyr-flash-pyocd.bbclass: Implement configurable probe IDs to program

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Implement logic to configure what probes to program based on the
PYOCD_FLASH_IDS variable:
1. by default program all attached probes
2. change default behaviour by listing the probe IDs to flash

CONNECT_TIMEOUT_SECONDS was also renamed to maintain consistency with
the PYOCD_FLASH_IDS variable.

One can query the IDs using `pyocd list`.

The value of PYOCD_FLASH_IDS can also be injected into the datastore
using BB_ENV_EXTRAWHITE.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
README.txt | 9 +++++
classes/zephyr-flash-pyocd.bbclass | 61 ++++++++++++++++++++----------
2 files changed, 50 insertions(+), 20 deletions(-)

diff --git a/README.txt b/README.txt
index bda872b..ce5338b 100644
--- a/README.txt
+++ b/README.txt
@@ -67,6 +67,15 @@ dfu-util and/or pyocd need to be installed in your system. If you observe
permission errors or the flashing process seem to hang, follow those instructions:
https://github.com/pyocd/pyOCD/tree/master/udev

+By default, pyocd tries to flash all the attached probes. This behaviour can be
+customised by defining the PYOCD_FLASH_IDS variable as a space-separated list
+of IDs. Once that is set, the tool will only try to program these IDs. You can
+query for the IDs by running `pyocd list` on your host while having the probes
+attached. Besides setting this variable through the build's configuration or
+metadata, you can also inject its value from command line with something like:
+
+ $ PYOCD_FLASH_IDS='<ID1> <ID2> <ID3>' BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE PYOCD_FLASH_IDS" bitbake <TARGET> -c flash_usb
+
Building and Running Zephyr Tests
=================================
Presently only toolchains for ARM, x86, IAMCU and Nios2 are supported.
diff --git a/classes/zephyr-flash-pyocd.bbclass b/classes/zephyr-flash-pyocd.bbclass
index 4d24e6a..a873be4 100644
--- a/classes/zephyr-flash-pyocd.bbclass
+++ b/classes/zephyr-flash-pyocd.bbclass
@@ -1,4 +1,5 @@
-CONNECT_TIMEOUT_SECONDS ?= "30"
+PYOCD_CONNECT_TIMEOUT_SECONDS ?= "30"
+PYOCD_FLASH_IDS ?= "all"

python do_flash_usb() {
try:
@@ -7,26 +8,46 @@ python do_flash_usb() {
except ImportError:
bb.fatal("Flashing with pyocd needs the relevant python package. Make sure your host provides it or consult your distribution packages for how to install this prerequisite.")

- timeout = int(d.getVar('CONNECT_TIMEOUT_SECONDS'))
+ try:
+ timeout = int(d.getVar('PYOCD_CONNECT_TIMEOUT_SECONDS'))
+ except ValueError:
+ bb.fatal(f"PYOCD_CONNECT_TIMEOUT_SECONDS was set to an invalid value: {d.getVar('PYOCD_CONNECT_TIMEOUT_SECONDS')}.")
image = f"{d.getVar('DEPLOY_DIR_IMAGE')}/{d.getVar('PN')}.elf"
- bb.plain(f"Attempting to flash {image} to board {d.getVar('BOARD')}")
-
- # Try to connect to a probe with a timeout
- now = 0
- step = 3
- while True:
- session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True)
- if session:
- break
- if now >= timeout:
- bb.fatal("Timeout while trying to connect to a probe. Make sure the target device is connected and the udev is configured accordingly. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.")
- bb.warn("Can't connect to the probe. Retrying in %d seconds..." % step)
- time.sleep(step)
- now += step
-
- with session:
- FileProgrammer(session).program(image)
- session.board.target.reset()
+ ids = d.getVar('PYOCD_FLASH_IDS')
+
+ # Compute the list of IDs to program
+ if ids == 'all':
+ ids = []
+ for probe in ConnectHelper.get_all_connected_probes(blocking=False):
+ ids.append(probe.unique_id)
+ if not ids:
+ bb.fatal("No probe detected. Make sure your target is connected.")
+ else:
+ ids = ids.split()
+ if not ids:
+ bb.fatal("No probe requested for programming. Make sure PYOCD_FLASH_IDS is set.")
+
+ # Program each ID
+ for id in ids:
+ bb.plain(f"Attempting to flash {os.path.basename(image)} to board {d.getVar('BOARD')} [{id}]")
+
+ # Try to connect to a probe with a timeout
+ now = 0
+ step = 3
+ while True:
+ session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True, unique_id=id)
+ if session:
+ break
+ if now >= timeout:
+ bb.fatal(f"Timeout while trying to connect to probe ID: {id}. Make sure the target device is connected and the udev is configured accordingly. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.")
+ bb.warn(f"Can't connect to the probe ID: {id}. Retrying in {step} seconds...")
+ time.sleep(step)
+ now += step
+
+ # Program the selected probe
+ with session:
+ FileProgrammer(session).program(image)
+ session.board.target.reset()
}

addtask do_flash_usb after do_deploy
--
2.30.1


[meta-zephyr][PATCH V2 12/15] zephyr-flash-pyocd.bbclass: Handle import error for pyocd modules

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
classes/zephyr-flash-pyocd.bbclass | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/classes/zephyr-flash-pyocd.bbclass b/classes/zephyr-flash-pyocd.bbclass
index df3b631..4d24e6a 100644
--- a/classes/zephyr-flash-pyocd.bbclass
+++ b/classes/zephyr-flash-pyocd.bbclass
@@ -1,8 +1,11 @@
CONNECT_TIMEOUT_SECONDS ?= "30"

python do_flash_usb() {
- from pyocd.core.helpers import ConnectHelper
- from pyocd.flash.file_programmer import FileProgrammer
+ try:
+ from pyocd.core.helpers import ConnectHelper
+ from pyocd.flash.file_programmer import FileProgrammer
+ except ImportError:
+ bb.fatal("Flashing with pyocd needs the relevant python package. Make sure your host provides it or consult your distribution packages for how to install this prerequisite.")

timeout = int(d.getVar('CONNECT_TIMEOUT_SECONDS'))
image = f"{d.getVar('DEPLOY_DIR_IMAGE')}/{d.getVar('PN')}.elf"
--
2.30.1


[meta-zephyr][PATCH V2 11/15] zephyr-flash-pyocd.bbclass: Flash the first probe found with a timeout

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Currently the code flashes the firmware in a blocking way. If the host
is not configured accordingly (for example in terms of permissions),
this would hang undefinitely. This can easily confuse users and in order
to avoid this, the patch changes to unblocking session creation and
opening call, wrapping the tries in some relevant logging. The timeout
can be defined with `CONNECT_TIMEOUT_SECONDS` which defaults to 30
seconds.

Also, by default, when multiple probes are attached, the session call
will return a selection choice. This would obviously break under bitbake
with an exception:
Exception: EOFError: EOF when reading a line
Avoid this by selecting the first found probe.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
classes/zephyr-flash-pyocd.bbclass | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/classes/zephyr-flash-pyocd.bbclass b/classes/zephyr-flash-pyocd.bbclass
index eca30c9..df3b631 100644
--- a/classes/zephyr-flash-pyocd.bbclass
+++ b/classes/zephyr-flash-pyocd.bbclass
@@ -1,11 +1,27 @@
+CONNECT_TIMEOUT_SECONDS ?= "30"
+
python do_flash_usb() {
from pyocd.core.helpers import ConnectHelper
from pyocd.flash.file_programmer import FileProgrammer

+ timeout = int(d.getVar('CONNECT_TIMEOUT_SECONDS'))
image = f"{d.getVar('DEPLOY_DIR_IMAGE')}/{d.getVar('PN')}.elf"
bb.plain(f"Attempting to flash {image} to board {d.getVar('BOARD')}")

- with ConnectHelper.session_with_chosen_probe() as session:
+ # Try to connect to a probe with a timeout
+ now = 0
+ step = 3
+ while True:
+ session = ConnectHelper.session_with_chosen_probe(blocking=False, return_first=True)
+ if session:
+ break
+ if now >= timeout:
+ bb.fatal("Timeout while trying to connect to a probe. Make sure the target device is connected and the udev is configured accordingly. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.")
+ bb.warn("Can't connect to the probe. Retrying in %d seconds..." % step)
+ time.sleep(step)
+ now += step
+
+ with session:
FileProgrammer(session).program(image)
session.board.target.reset()
}
--
2.30.1


[meta-zephyr][PATCH V2 10/15] zephyr-peripheral-hr: Add recipe for BT HR sample

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb

diff --git a/recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb b/recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb
new file mode 100644
index 0000000..e6ef7b8
--- /dev/null
+++ b/recipes-kernel/zephyr-kernel/zephyr-peripheral-hr.bb
@@ -0,0 +1,5 @@
+include zephyr-sample.inc
+
+ZEPHYR_SRC_DIR = "${S}/samples/bluetooth/peripheral_hr"
+
+ZEPHYR_MODULES_append = "\;${S}/modules/crypto/tinycrypt"
--
2.30.1


[meta-zephyr][PATCH V2 09/15] Use an include file for the common parts of the sample recipes

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb | 16 ++--------------
.../zephyr-kernel/zephyr-helloworld.bb | 13 +------------
.../zephyr-kernel/zephyr-kernel-test.bb | 4 ----
.../zephyr-kernel/zephyr-kernel-test.inc | 2 --
.../zephyr-kernel/zephyr-peripheral-esp.bb | 17 +++--------------
.../zephyr-kernel/zephyr-philosophers.bb | 13 +------------
recipes-kernel/zephyr-kernel/zephyr-sample.inc | 13 +++++++++++++
7 files changed, 20 insertions(+), 58 deletions(-)
create mode 100644 recipes-kernel/zephyr-kernel/zephyr-sample.inc

diff --git a/recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb b/recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb
index ec6b13e..c66c7ec 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb
+++ b/recipes-kernel/zephyr-kernel/zephyr-hci-uart.bb
@@ -1,17 +1,5 @@
-require zephyr-kernel.inc
-require zephyr-kernel-common.inc
-inherit deploy
-
-COMPATIBLE_MACHINE = "(96b-nitrogen)"
+include zephyr-sample.inc

ZEPHYR_SRC_DIR = "${S}/samples/bluetooth/hci_uart"
-ZEPHYR_BASE = "${S}"
-
-OECMAKE_SOURCEPATH = "${ZEPHYR_SRC_DIR}"

-do_deploy () {
- install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT} ${DEPLOYDIR}/${PN}.elf
-}
-
-addtask deploy after do_compile
-do_install[noexec] = "1"
+COMPATIBLE_MACHINE = "(96b-nitrogen)"
diff --git a/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb b/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb
index 84db068..ac5ce62 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb
+++ b/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb
@@ -1,14 +1,3 @@
-require zephyr-kernel.inc
-require zephyr-kernel-common.inc
-inherit deploy
+include zephyr-sample.inc

ZEPHYR_SRC_DIR = "${S}/samples/hello_world"
-ZEPHYR_BASE = "${S}"
-OECMAKE_SOURCEPATH = "${ZEPHYR_SRC_DIR}"
-
-do_deploy () {
- install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT} ${DEPLOYDIR}/${PN}.elf
-}
-
-addtask deploy after do_compile
-do_install[noexec] = "1"
diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-test.bb b/recipes-kernel/zephyr-kernel/zephyr-kernel-test.bb
index 46d93f0..2918d2d 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-kernel-test.bb
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-test.bb
@@ -2,7 +2,3 @@ require zephyr-image.inc
require zephyr-kernel-test.inc

BBCLASSEXTEND = '${@" ".join(["zephyrtest:" + x for x in d.getVar("ZEPHYRTESTS", True).split()])}'
-
-
-
-
diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-test.inc b/recipes-kernel/zephyr-kernel/zephyr-kernel-test.inc
index a1e62af..b6b4766 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-kernel-test.inc
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-test.inc
@@ -2,11 +2,9 @@ ZEPHYRTESTS_remove = "fifo fpu_sharing lifo mbox mem_heap mem_pool \
mem_protect mem_slab msgq mutex pipe profiling sched semaphore \
stack threads tickless timer workq"

-
# Exclude tests which does not build for various reasons
ZEPHYRTESTS_remove = "gen_isr_table spinlock smp mp"

-
# test_context will fail because QEMU for ARM does not emulate CortexM3 BASEPRI register
#ZEPHYRTESTS_remove_arm += ""

diff --git a/recipes-kernel/zephyr-kernel/zephyr-peripheral-esp.bb b/recipes-kernel/zephyr-kernel/zephyr-peripheral-esp.bb
index 24f030a..8be90d1 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-peripheral-esp.bb
+++ b/recipes-kernel/zephyr-kernel/zephyr-peripheral-esp.bb
@@ -1,16 +1,5 @@
-require zephyr-kernel.inc
-require zephyr-kernel-common.inc
-inherit deploy
+include zephyr-sample.inc

-ZEPHYR_SAMPLE_NAME="samples/bluetooth/peripheral_esp"
-ZEPHYR_SRC_DIR = "${S}/${ZEPHYR_SAMPLE_NAME}"
-ZEPHYR_BASE = "${S}"
-OECMAKE_SOURCEPATH = "${ZEPHYR_SRC_DIR}"
-ZEPHYR_MODULES_append = "\;${S}/modules/crypto/tinycrypt"
-
-do_deploy () {
- install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT} ${DEPLOYDIR}/${PN}.elf
-}
+ZEPHYR_SRC_DIR = "${S}/samples/bluetooth/peripheral_esp"

-addtask deploy after do_compile
-do_install[noexec] = "1"
+ZEPHYR_MODULES_append = "\;${S}/modules/crypto/tinycrypt"
diff --git a/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb b/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb
index b8262ca..a2afb57 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb
+++ b/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb
@@ -1,14 +1,3 @@
-require zephyr-kernel.inc
-require zephyr-kernel-common.inc
-inherit deploy
+include zephyr-sample.inc

ZEPHYR_SRC_DIR = "${S}/samples/philosophers"
-ZEPHYR_BASE = "${S}"
-OECMAKE_SOURCEPATH = "${ZEPHYR_SRC_DIR}"
-
-do_deploy () {
- install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT} ${DEPLOYDIR}/${PN}.elf
-}
-
-addtask deploy after do_compile
-do_install[noexec] = "1"
diff --git a/recipes-kernel/zephyr-kernel/zephyr-sample.inc b/recipes-kernel/zephyr-kernel/zephyr-sample.inc
new file mode 100644
index 0000000..f7621d1
--- /dev/null
+++ b/recipes-kernel/zephyr-kernel/zephyr-sample.inc
@@ -0,0 +1,13 @@
+require zephyr-kernel-src.inc
+require zephyr-kernel-common.inc
+inherit deploy
+
+ZEPHYR_BASE = "${S}"
+OECMAKE_SOURCEPATH = "${ZEPHYR_SRC_DIR}"
+
+do_install[noexec] = "1"
+
+do_deploy () {
+ install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT} ${DEPLOYDIR}/${PN}.elf
+}
+addtask deploy after do_compile
--
2.30.1


[meta-zephyr][PATCH V2 08/15] zephyr-kernel.inc: Remove include file

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

This file has little advantage and can be easily replaced by just
directly including the src include file.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
recipes-kernel/zephyr-kernel/zephyr-image.inc | 2 +-
recipes-kernel/zephyr-kernel/zephyr-kernel.inc | 4 ----
2 files changed, 1 insertion(+), 5 deletions(-)
delete mode 100644 recipes-kernel/zephyr-kernel/zephyr-kernel.inc

diff --git a/recipes-kernel/zephyr-kernel/zephyr-image.inc b/recipes-kernel/zephyr-kernel/zephyr-image.inc
index e8b8871..c77692d 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-image.inc
+++ b/recipes-kernel/zephyr-kernel/zephyr-image.inc
@@ -1,4 +1,4 @@
-require zephyr-kernel.inc
+require zephyr-kernel-src.inc
require zephyr-kernel-common.inc

inherit testimage
diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel.inc b/recipes-kernel/zephyr-kernel/zephyr-kernel.inc
deleted file mode 100644
index 903973d..0000000
--- a/recipes-kernel/zephyr-kernel/zephyr-kernel.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-inherit zephyr-kernel-src
-
-S = "${WORKDIR}/git"
--
2.30.1


[meta-zephyr][PATCH V2 07/15] zephyr-kernel-common.inc: Reformat EXTRA_OECMAKE

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

This will improve diffs readability in the future.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc b/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc
index abc55ba..330fe59 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc
@@ -13,7 +13,16 @@ ZEPHYR_SYSROOT="${STAGING_DIR_TARGET}"

ZEPHYR_MAKE_OUTPUT = "zephyr.elf"

-EXTRA_OECMAKE = " -DZEPHYR_BASE=${S} -DZEPHYR_GCC_VARIANT=yocto -DBOARD=${BOARD} -DARCH=${ARCH} -DCROSS_COMPILE=${CROSS_COMPILE} -DZEPHYR_SYSROOT=${ZEPHYR_SYSROOT} -DZEPHYR_TOOLCHAIN_VARIANT=yocto -DEXTRA_CPPFLAGS=${CPPFLAGS}"
+EXTRA_OECMAKE = "\
+ -DZEPHYR_BASE=${S} \
+ -DZEPHYR_GCC_VARIANT=yocto \
+ -DBOARD=${BOARD} \
+ -DARCH=${ARCH} \
+ -DCROSS_COMPILE=${CROSS_COMPILE} \
+ -DZEPHYR_SYSROOT=${ZEPHYR_SYSROOT} \
+ -DZEPHYR_TOOLCHAIN_VARIANT=yocto \
+ -DEXTRA_CPPFLAGS=${CPPFLAGS} \
+ "

ZEPHYR_MODULES = ""
ZEPHYR_MODULES_append_arm = "\;${S}/modules/cmsis"
--
2.30.1


[meta-zephyr][PATCH V2 06/15] zephyr-kernel-common.inc: Fix configuration CPPFLAGS warning

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Configure warns when CPPFLAGS is provided as environment variable and
expects its value to be passed to cmake. This patch does that to
surpress the warning.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc b/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc
index 5313030..abc55ba 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-common.inc
@@ -13,8 +13,7 @@ ZEPHYR_SYSROOT="${STAGING_DIR_TARGET}"

ZEPHYR_MAKE_OUTPUT = "zephyr.elf"

-
-EXTRA_OECMAKE = " -DZEPHYR_BASE=${S} -DZEPHYR_GCC_VARIANT=yocto -DBOARD=${BOARD} -DARCH=${ARCH} -DCROSS_COMPILE=${CROSS_COMPILE} -DZEPHYR_SYSROOT=${ZEPHYR_SYSROOT} -DZEPHYR_TOOLCHAIN_VARIANT=yocto"
+EXTRA_OECMAKE = " -DZEPHYR_BASE=${S} -DZEPHYR_GCC_VARIANT=yocto -DBOARD=${BOARD} -DARCH=${ARCH} -DCROSS_COMPILE=${CROSS_COMPILE} -DZEPHYR_SYSROOT=${ZEPHYR_SYSROOT} -DZEPHYR_TOOLCHAIN_VARIANT=yocto -DEXTRA_CPPFLAGS=${CPPFLAGS}"

ZEPHYR_MODULES = ""
ZEPHYR_MODULES_append_arm = "\;${S}/modules/cmsis"
@@ -26,7 +25,6 @@ EXTRA_OECMAKE_append = " -DZEPHYR_MODULES=${ZEPHYR_MODULES}"

export ZEPHYR_BASE="${S}"

-
DEPENDS += "gperf-native python3-pyelftools-native python3-pyyaml-native python3-pykwalify-native"
CROSS_COMPILE = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}"

@@ -51,3 +49,8 @@ OE_TERMINAL_EXPORTS += "ZEPHYR_SYSROOT"
OE_TERMINAL_EXPORTS += "ZEPHYR_GCC_VARIANT"

IMAGE_FSTYPES = "elf bin"
+
+do_configure_prepend() {
+ # Zephyr expects CPPFLAGS as cmake argument as and ignores env variables.
+ unset CPPFLAGS
+}
--
2.30.1


[meta-zephyr][PATCH V2 05/15] zephyr-kernel-src-2.5.0-rc3.inc: Add support for zephyr kernel version 2.5.0-rc3

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

This version can be selected defining
PREFERRED_VERSION_zephyr-kernel ??= "2.5.0-rc3"

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
.../zephyr-kernel/zephyr-kernel-src-2.5.0-rc3.inc | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc3.inc

diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc3.inc b/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc3.inc
new file mode 100644
index 0000000..4ee9883
--- /dev/null
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.5.0-rc3.inc
@@ -0,0 +1,10 @@
+SRCREV_FORMAT = "default_cmsis"
+SRCREV_default = "v2.5.0-rc3"
+SRCREV_cmsis = "c3bd2094f92d574377f7af2aec147ae181aa5f8e"
+SRCREV_nordic = "f3434da6446380fcdd426dbe2866af21d0d549b6"
+SRCREV_stm32 = "cc8731dba4fd9c57d7fe8ea6149828b89c2bd635"
+SRCREV_open-amp = "de1b85a13032a2de1d8b6695ae5f800b613e739d"
+SRCREV_libmetal = "9d4ee2c3cfd5f49861939447990f3b7d7bf9bf94"
+SRCREV_tinycrypt = "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"
+
+PV = "2.5.0-rc3+git${SRCPV}"
--
2.30.1


[meta-zephyr][PATCH V2 04/15] zephyr-kernel-src: Restructure recipe

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

* Restructure recipe to use include files as opposed to a bbclass. The
latter is unnatural when defining versions, sources etc.
* Make the zephyr-kernel-src follow the version as defined by
PREFERRED_VERSION_zephyr-kernel.
* Make the setup of the zephyr-kernel-src.inc extensible for multiple
versions.

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
classes/zephyr-kernel-src.bbclass | 37 -------------------
.../zephyr-kernel/zephyr-kernel-src-2.4.0.inc | 10 +++++
...kernel-src_2.4.bb => zephyr-kernel-src.bb} | 9 +----
.../zephyr-kernel/zephyr-kernel-src.inc | 20 ++++++++++
4 files changed, 32 insertions(+), 44 deletions(-)
delete mode 100644 classes/zephyr-kernel-src.bbclass
create mode 100644 recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.4.0.inc
rename recipes-kernel/zephyr-kernel/{zephyr-kernel-src_2.4.bb => zephyr-kernel-src.bb} (80%)
create mode 100644 recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc

diff --git a/classes/zephyr-kernel-src.bbclass b/classes/zephyr-kernel-src.bbclass
deleted file mode 100644
index c6c8d61..0000000
--- a/classes/zephyr-kernel-src.bbclass
+++ /dev/null
@@ -1,37 +0,0 @@
-#Set relevant variables based on Zephyr kernel version
-
-PREFERRED_VERSION_zephyr-kernel ??= "2.4.0"
-
-SRCREV_FORMAT = "default_cmsis"
-SRCREV_default = "7a3b253ced7333f5c0269387a7f3ed1dee69739d"
-SRCREV_cmsis = "542b2296e6d515b265e25c6b7208e8fea3014f90"
-SRCREV_nordic = "d8a6ea9695ddf792bb18bb6035c13b1daac5d79c"
-SRCREV_stm32 = "f0e11398128ac9abdff713da5d3035e6c96e9b86"
-SRCREV_open-amp = "de1b85a13032a2de1d8b6695ae5f800b613e739d"
-SRCREV_libmetal = "9d4ee2c3cfd5f49861939447990f3b7d7bf9bf94"
-SRCREV_tinycrypt = "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"
-
-SRC_URI = "git://github.com/zephyrproject-rtos/zephyr.git;protocol=https;branch=v2.4-branch;name=default \
- git://github.com/zephyrproject-rtos/cmsis.git;protocol=https;destsuffix=git/modules/cmsis;name=cmsis \
- git://github.com/zephyrproject-rtos/hal_nordic.git;protocol=https;destsuffix=git/modules/hal/nordic;name=nordic \
- git://github.com/zephyrproject-rtos/hal_stm32.git;protocol=https;destsuffix=git/modules/hal/stm32;name=stm32 \
- git://github.com/zephyrproject-rtos/open-amp.git;protocol=https;destsuffix=git/modules/lib/open-amp;name=open-amp \
- git://github.com/zephyrproject-rtos/libmetal.git;protocol=https;destsuffix=git/modules/hal/libmetal;name=libmetal \
- git://github.com/zephyrproject-rtos/tinycrypt.git;protocol=https;destsuffix=git/modules/crypto/tinycrypt;name=tinycrypt \
- file://0001-cmake-add-yocto-toolchain.patch \
- "
-
-PV = "2.4.0+git${SRCPV}"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
-
-ZEPHYR_TEST_SRCDIR = "tests/legacy/kernel/"
-
-python () {
- src_pn = d.getVar('PREFERRED_VERSION_zephyr-kernel', True)
- if src_pn == '2.4.0':
- return
- else:
- bb.error("Unsupported Zephyr kernel version requested")
-}
diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.4.0.inc b/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.4.0.inc
new file mode 100644
index 0000000..d1ef80e
--- /dev/null
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.4.0.inc
@@ -0,0 +1,10 @@
+SRCREV_FORMAT = "default_cmsis"
+SRCREV_default = "7a3b253ced7333f5c0269387a7f3ed1dee69739d"
+SRCREV_cmsis = "542b2296e6d515b265e25c6b7208e8fea3014f90"
+SRCREV_nordic = "d8a6ea9695ddf792bb18bb6035c13b1daac5d79c"
+SRCREV_stm32 = "f0e11398128ac9abdff713da5d3035e6c96e9b86"
+SRCREV_open-amp = "de1b85a13032a2de1d8b6695ae5f800b613e739d"
+SRCREV_libmetal = "9d4ee2c3cfd5f49861939447990f3b7d7bf9bf94"
+SRCREV_tinycrypt = "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"
+
+PV = "2.4.0+git${SRCPV}"
diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-src_2.4.bb b/recipes-kernel/zephyr-kernel/zephyr-kernel-src.bb
similarity index 80%
rename from recipes-kernel/zephyr-kernel/zephyr-kernel-src_2.4.bb
rename to recipes-kernel/zephyr-kernel/zephyr-kernel-src.bb
index 8e8b5b8..210cfa7 100644
--- a/recipes-kernel/zephyr-kernel/zephyr-kernel-src_2.4.bb
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-src.bb
@@ -1,16 +1,12 @@
+include zephyr-kernel-src.inc

-inherit zephyr-kernel-src
-inherit cmake
-
-S = "${WORKDIR}/git"
+ZEPHYR_TEST_SRCDIR = "tests/legacy/kernel/"

IMAGE_NO_MANIFEST = "1"
INHIBIT_DEFAULT_DEPS = "1"

do_configure[noexec] = "1"
do_compile[noexec] = "1"
-
-
do_install () {
kerneldir=${D}/usr/src/zephyr
install -d $kerneldir
@@ -21,4 +17,3 @@ PACKAGES = "${PN}"
FILES_${PN} = "/usr/src/zephyr"

SYSROOT_DIRS += "/usr/src/zephyr"
-
diff --git a/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc b/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc
new file mode 100644
index 0000000..2dcde74
--- /dev/null
+++ b/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc
@@ -0,0 +1,20 @@
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
+
+# Default to a stable version
+PREFERRED_VERSION_zephyr-kernel ??= "2.4.0"
+include zephyr-kernel-src-${PREFERRED_VERSION_zephyr-kernel}.inc
+
+inherit cmake
+
+SRC_URI = "\
+ git://github.com/zephyrproject-rtos/zephyr.git;protocol=https;branch=master;name=default \
+ git://github.com/zephyrproject-rtos/cmsis.git;protocol=https;destsuffix=git/modules/cmsis;name=cmsis \
+ git://github.com/zephyrproject-rtos/hal_nordic.git;protocol=https;destsuffix=git/modules/hal/nordic;name=nordic \
+ git://github.com/zephyrproject-rtos/hal_stm32.git;protocol=https;destsuffix=git/modules/hal/stm32;name=stm32 \
+ git://github.com/zephyrproject-rtos/open-amp.git;protocol=https;destsuffix=git/modules/lib/open-amp;name=open-amp \
+ git://github.com/zephyrproject-rtos/libmetal.git;protocol=https;destsuffix=git/modules/hal/libmetal;name=libmetal \
+ git://github.com/zephyrproject-rtos/tinycrypt.git;protocol=https;destsuffix=git/modules/crypto/tinycrypt;name=tinycrypt \
+ file://0001-cmake-add-yocto-toolchain.patch \
+ "
+S = "${WORKDIR}/git"
--
2.30.1


[meta-zephyr][PATCH V2 03/15] Cleanup superflous new lines

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
classes/zephyrtest.bbclass | 2 --
conf/distro/zephyr.conf | 1 -
conf/machine/include/tune-arc.inc | 1 -
conf/machine/include/tune-iamcu.inc | 1 -
conf/machine/include/tune-nios2.inc | 1 -
5 files changed, 6 deletions(-)

diff --git a/classes/zephyrtest.bbclass b/classes/zephyrtest.bbclass
index 3acc4c3..248fd15 100644
--- a/classes/zephyrtest.bbclass
+++ b/classes/zephyrtest.bbclass
@@ -51,5 +51,3 @@ python testdata_clean() {
}

addtask do_testdata_write before do_build after do_deploy
-
-
diff --git a/conf/distro/zephyr.conf b/conf/distro/zephyr.conf
index a98da32..6ecd421 100644
--- a/conf/distro/zephyr.conf
+++ b/conf/distro/zephyr.conf
@@ -1,4 +1,3 @@
-
DISTRO = "zephyr"
DISTRO_NAME = "Zephyr"
DISTRO_VERSION = "1.0"
diff --git a/conf/machine/include/tune-arc.inc b/conf/machine/include/tune-arc.inc
index 4bb6f4f..ff841e7 100644
--- a/conf/machine/include/tune-arc.inc
+++ b/conf/machine/include/tune-arc.inc
@@ -18,4 +18,3 @@ AVAILTUNES += "no-sdata"
TUNEVALID[nodata] = "ARC no-delete-null-pointer-checks"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-delete-null-pointer-checks', ' -fno-delete-null-pointer-checks', '', d)}"
AVAILTUNES += "no-delete-null-pointer-checks"
-
diff --git a/conf/machine/include/tune-iamcu.inc b/conf/machine/include/tune-iamcu.inc
index 6935375..20a93a6 100644
--- a/conf/machine/include/tune-iamcu.inc
+++ b/conf/machine/include/tune-iamcu.inc
@@ -9,4 +9,3 @@ TUNE_ARCH = "i586"
TUNEVALID[iamcu] = "Intel MCU"

PACKAGE_EXTRA_ARCHS_tune-iamcu = "iamcu"
-
diff --git a/conf/machine/include/tune-nios2.inc b/conf/machine/include/tune-nios2.inc
index c74326d..e8662eb 100644
--- a/conf/machine/include/tune-nios2.inc
+++ b/conf/machine/include/tune-nios2.inc
@@ -1,4 +1,3 @@
-
# Nios2 Architecture Definition

DEFAULTTUNE ?= "nios2"
--
2.30.1


[meta-zephyr][PATCH V2 02/15] zephyr-flash-pyocd.bbclass: Add missing do_flash_usb dependency on do_deploy

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
classes/zephyr-flash-pyocd.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/classes/zephyr-flash-pyocd.bbclass b/classes/zephyr-flash-pyocd.bbclass
index 04500af..eca30c9 100644
--- a/classes/zephyr-flash-pyocd.bbclass
+++ b/classes/zephyr-flash-pyocd.bbclass
@@ -10,7 +10,7 @@ python do_flash_usb() {
session.board.target.reset()
}

-addtask do_flash_usb
+addtask do_flash_usb after do_deploy

do_flash_usb[nostamp] = "1"
do_flash_usb[vardepsexclude] = "BB_ORIGENV"
--
2.30.1


[meta-zephyr][PATCH V2 01/15] zephyr-flash-dfu.bbclass: Add missing do_flash_usb dependency on do_deploy

Andrei Gherzan
 

From: Andrei Gherzan <andrei.gherzan@huawei.com>

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
---
classes/zephyr-flash-dfu.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/classes/zephyr-flash-dfu.bbclass b/classes/zephyr-flash-dfu.bbclass
index 32f589a..b4f3d49 100644
--- a/classes/zephyr-flash-dfu.bbclass
+++ b/classes/zephyr-flash-dfu.bbclass
@@ -59,7 +59,7 @@ python do_flash_usb() {
bb.utils.unlockfile(lock)
}

-addtask do_flash_usb
+addtask do_flash_usb after do_deploy

do_flash_usb[nostamp] = "1"
do_flash_usb[vardepsexclude] = "BB_ORIGENV"
--
2.30.1


do compile error while installing openjdk-8 (meta-java) #dunfell #yocto

Vijay Rakesh Munganda
 

Hi,

I'm trying to install openjdk-8 from meta-java layer, but I got below error while installing it. Please anyone help me with this error.

| g++: error: unrecognized command line option ‘-fmacro-prefix-map=/home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0=/usr/src/debug/openjdk-8/272-r0’
| /home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b10/hotspot/make/linux/makefiles/adlc.make:228: recipe for target '../generated/adfiles/dict2.o' failed
| make[6]: *** [../generated/adfiles/dict2.o] Error 1
| g++: error: unrecognized command line option ‘-fmacro-prefix-map=/home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0=/usr/src/debug/openjdk-8/272-r0’
| /home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b10/hotspot/make/linux/makefiles/adlc.make:228: recipe for target '../generated/adfiles/formsopt.o' failed
| make[6]: *** [../generated/adfiles/formsopt.o] Error 1
| /home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b10/hotspot/make/linux/makefiles/top.make:91: recipe for target 'ad_stuff' failed
| make[5]: *** [ad_stuff] Error 2
| /home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b10/hotspot/make/linux/Makefile:284: recipe for target 'product' failed
| make[4]: *** [product] Error 2
| Makefile:230: recipe for target 'generic_build2' failed
| make[3]: *** [generic_build2] Error 2
| Makefile:177: recipe for target 'product' failed
| make[2]: *** [product] Error 2
| HotspotWrapper.gmk:44: recipe for target '/home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0/build/hotspot/_hotspot.timestamp' failed
| make[1]: *** [/home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0/build/hotspot/_hotspot.timestamp] Error 2
| /home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0/jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b10//make/Main.gmk:109: recipe for target 'hotspot-only' failed
| make: *** [hotspot-only] Error 2
| WARNING: /home/bl-docker/rity/bsp/tmp/work/aarch64-poky-linux/openjdk-8/272-r0/temp/run.do_compile.27188:1 exit 1 from 'exit 1'
|
ERROR: Task (/home/bl-docker/rity/src/meta-java/recipes-core/openjdk/openjdk-8_272.bb:do_compile) failed with exit code '1'

Thanks & Regards,
Vijay Rakesh.

1541 - 1560 of 53861