Date   

Re: [meta-hardening][PATCH] meta-hardening: Fix override syntax

Armin Kuster
 

On 2/14/22 09:05, Akshay Bhat wrote:
On Fri, Jan 21, 2022 at 11:33 AM Akshay Bhat <nodeax@...> wrote:
Commit 352e6498a missed updating the override syntax for the
"harden" distro override.

Fixes: 352e6498a ("meta-hardening: Convert to new override syntax")

Signed-off-by: Akshay Bhat <akshay.bhat@...>
---
Ping... any feedback on the patch? If not can it be applied? Thanks :)
<snip>
Thanks for the ping. I didn't find this in my inbox but found it on lore mailing list.

Patch looks fine.

thanks,
-armin


QA notification for completed autobuilder build (yocto-3.4.2.rc2)

Pokybuild User <pokybuild@...>
 

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


https://autobuilder.yocto.io/pub/releases/yocto-3.4.2.rc2


Build hash information:

bitbake: c039182c79e2ccc54fff5d7f4f266340014ca6e0
meta-agl: 1a8abc70c4f2339200b612d96d81c4eec3ac0519
meta-arm: 51b728a52bde7c613d5855afeac0fa6a31771bd2
meta-aws: c92344938ab4d37de8bd8b799186dbbe3019a069
meta-gplv2: f04e4369bf9dd3385165281b9fa2ed1043b0e400
meta-intel: 5a30dcefa54040dd05099549a56156a83263554c
meta-mingw: f5d761cbd5c957e4405c5d40b0c236d263c916a8
meta-openembedded: c05ae80ba680887ac924c21536091be7a1173427
oecore: 418a9c4c31615a9e3e011fc2b21fb7154bc6c93a
poky: e0ab08bb6a32916b457d221021e7f402ffa36b1a



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


Re: Additional hardening options

Bernhard Rosenkränzer <bero@...>
 

Hi,


On Wed, Jan 26, 2022 at 02:39 AM, Paul Eggleton wrote:
I've been looking into a couple of compiler flags for hardening that I think we
might want to consider enabling by default in security-flags.inc:
1) -fstack-clash-protection
2) -z noexecstack (or alternative mitigations)
I've been looking into those flags (and a few more) a while back when picking compiler flags to use for Oniro.

-Wl,-z,-noexecstack is unproblematic, -fstack-clash-protection adds a bit of overhead, but it isn't all that bad (typically in the 2% range).

I've been able to build working systems with both flags enabled.

My full report is at
https://forum.ostc-eu.org/t/compiler-flags-to-be-used-for-all-scenarios-os/94

ttyl
bero


Re: Building Yocto on M1 Mac

Robert Joslyn
 

On Feb 14, 2022, at 4:02 AM, Ross Burton <ross@...> wrote:

On Mon, 14 Feb 2022 at 00:17, Robert Joslyn
<robert.joslyn@...> wrote:
On my 2020 M1 MacBook Air (8 cores, 16 GB RAM, docker using 8 cores and 8 GB), the build took 84 minutes. My desktop with an AMD Ryzen 9 3950X (16 cores, 64 GB RAM) it takes 21 minutes.
Try doing the MBA build with the laptop suspended in the air on a
couple of pencils. As the MBA has no fan you might find that
increasing airflow around the laptop makes a big difference. And
giving the container more RAM/cores will help, obviously, there's no
reason to limit it to half the power.

Ross
Giving docker all 16 GB of memory made the build take 124 minutes. I assume this is due to the VM docker uses fighting for memory with the build and the host, slowing things down. I’m sure someone could find an optimal amount of memory to give the docker VM for best times.

I did these builds with the MBA on its side, which should be a little better than it just being flat on a desk (or sitting on pencils). A fan would also help, but lack of a fan is one of my favorite features! This was also done at room temperature, 68 F/20 C, I’m sure it’d be a bit faster if I went outside where it’s below freezing, but I’ll let someone else run that test :-D

The MBA is obviously not intended for this kind of workload, but it does at least work.

Robert


[meta-security-compliance][PATCH] scap-security-guide: Fix openembedded platform tests

Akshay Bhat
 

Update the installed_OS_is_openembedded check to drop the quotes
in the VERSION_ID string to match f451c68667cca of openembedded-core.
Without this fix, all tests are reported as "notapplicable".

Signed-off-by: Akshay Bhat <akshay.bhat@...>
---
...is_openembedded-Update-pattern-match.patch | 30 +++++++++++++++++++
.../scap-security-guide_git.bb | 1 +
2 files changed, 31 insertions(+)
create mode 100644 meta-security-compliance/recipes-openscap/scap-security-guide/files/0001-installed_OS_is_openembedded-Update-pattern-match.patch

diff --git a/meta-security-compliance/recipes-openscap/scap-security-guide/files/0001-installed_OS_is_openembedded-Update-pattern-match.patch b/meta-security-compliance/recipes-openscap/scap-security-guide/files/0001-installed_OS_is_openembedded-Update-pattern-match.patch
new file mode 100644
index 0000000..61d9206
--- /dev/null
+++ b/meta-security-compliance/recipes-openscap/scap-security-guide/files/0001-installed_OS_is_openembedded-Update-pattern-match.patch
@@ -0,0 +1,30 @@
+From d943e41d64da6af89a6b8224110299ad88747497 Mon Sep 17 00:00:00 2001
+From: Akshay Bhat <akshay.bhat@...>
+Date: Mon, 14 Feb 2022 13:00:31 -0500
+Subject: [PATCH] installed_OS_is_openembedded: Update pattern match
+
+The VERSION_ID string is no longer quoted with f451c68667cca of
+openembedded-core. Update the pattern match check in
+installed_OS_is_openembedded to match the same.
+
+Signed-off-by: Akshay Bhat <akshay.bhat@...>
+---
+ shared/checks/oval/installed_OS_is_openembedded.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shared/checks/oval/installed_OS_is_openembedded.xml b/shared/checks/oval/installed_OS_is_openembedded.xml
+index 01df16b43..eaf9f2b10 100644
+--- a/shared/checks/oval/installed_OS_is_openembedded.xml
++++ b/shared/checks/oval/installed_OS_is_openembedded.xml
+@@ -23,7 +23,7 @@
+ </ind:textfilecontent54_test>
+ <ind:textfilecontent54_object id="obj_openembedded" version="1" comment="Check OpenEmbedded version">
+ <ind:filepath>/etc/os-release</ind:filepath>
+- <ind:pattern operation="pattern match">^VERSION_ID=\"nodistro\.[0-9].$</ind:pattern>
++ <ind:pattern operation="pattern match">^VERSION_ID=nodistro\.[0-9]$</ind:pattern>
+ <ind:instance datatype="int">1</ind:instance>
+ </ind:textfilecontent54_object>
+
+--
+2.25.1
+
diff --git a/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_git.bb b/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_git.bb
index ddde5cc..f493ea8 100644
--- a/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_git.bb
+++ b/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_git.bb
@@ -9,6 +9,7 @@ SRC_URI = "git://github.com/akuster/scap-security-guide.git;branch=oe-0.1.44;;pr
file://0003-fix-remaining-getchildren-and-getiterator-functions.patch \
file://0001-Fix-platform-spec-file-check-tests-in-installed-OS-d.patch \
file://0002-Fix-missing-openembedded-from-ssg-constants.py.patch \
+ file://0001-installed_OS_is_openembedded-Update-pattern-match.patch \
"
PV = "0.1.44+git${SRCPV}"

--
2.25.1


QA notification for completed autobuilder build (yocto-3.4.2.rc2)

Richard Purdie
 

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


https://autobuilder.yocto.io/pub/releases/yocto-3.4.2.rc2


Build hash information:

bitbake: c039182c79e2ccc54fff5d7f4f266340014ca6e0
meta-agl: 1a8abc70c4f2339200b612d96d81c4eec3ac0519
meta-arm: 51b728a52bde7c613d5855afeac0fa6a31771bd2
meta-aws: c92344938ab4d37de8bd8b799186dbbe3019a069
meta-gplv2: f04e4369bf9dd3385165281b9fa2ed1043b0e400
meta-intel: 5a30dcefa54040dd05099549a56156a83263554c
meta-mingw: f5d761cbd5c957e4405c5d40b0c236d263c916a8
meta-openembedded: c05ae80ba680887ac924c21536091be7a1173427
oecore: 418a9c4c31615a9e3e011fc2b21fb7154bc6c93a
poky: e0ab08bb6a32916b457d221021e7f402ffa36b1a



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


Upgrading bbappend files #devtool #bitbake

ksmanjunath681@...
 

Hi,
i am trying to update bbappend files only with SRCREV, SRCBRANCH and SRC_URI defined 
in bbappend files using devtool .What should i follow

Thanks & regards,
Manjunath


Re: [meta-hardening][PATCH] meta-hardening: Fix override syntax

Akshay Bhat <akshay.bhat@...>
 

On Fri, Jan 21, 2022 at 11:33 AM Akshay Bhat <nodeax@...> wrote:

Commit 352e6498a missed updating the override syntax for the
"harden" distro override.

Fixes: 352e6498a ("meta-hardening: Convert to new override syntax")

Signed-off-by: Akshay Bhat <akshay.bhat@...>
---
Ping... any feedback on the patch? If not can it be applied? Thanks :)
<snip>


#yocto #vcgencmd #raspberrypi #yocto #vcgencmd #raspberrypi

safouane maaloul <maaloulsafouane@...>
 

Hello everyone, i hope you are doing well. i am using the command vcgencmd with an image yocto on a raspberry pi zero. I get it by adding the userland recipe. I can get the camera status with the command (vcgencmd get_camera) but i can't use it to get the cpu temperature with the command (vcgencmd mesure_temp). Do you have any idea how to fix that ?

Best regards,

Safouane


Re: Building Yocto on M1 Mac

Abhijeet Tripathi
 



On Mon, Feb 14, 2022 at 1:29 AM Josef Holzmayr <jester@...> wrote:
Howdy!

On 13. Feb 2022, at 19:04, Alexander Kanavin <alex.kanavin@...> wrote:

Even if you do manage to start a build, performance won't be great.
Yocto, by design, builds the entire stack from source, so a lot of CPU
cores is essential. Don't spend your time waiting, get an
appropriately specced Linux workstation, or an account on a Linux
server that your organization might have for the purpose.

While that is perfectly true from the pure technical facts, I have to add that building in Parallels on a M1 is ok-ish. You have to crank up the VM way beyond the defaults, to something like 6-8core, 16+X GB RAM, but then it’s bearable for the occasional user. When you can’t get your hands on a proper environment, its certainly an option.

Greetz
I agree that a powerful Linux workstation will really help but right nowI do not have access to any of it.
I Will try to check if I can get one, but in the meantime I would like to start on my Mac so that I can continue my learning.

Thanks,
Abhijeet


Alex

On Sun, 13 Feb 2022 at 15:56, Abhijeet Tripathi
<abhijeettripathi3003@...> wrote:


On Sun, Feb 13, 2022 at 7:09 PM Anders Montonen <Anders.Montonen@...> wrote:

Hi,

On 13 Feb 2022, at 14:24, Abhijeet Tripathi <abhijeettripathi3003@...> wrote:

Hello yocto-devs,

I'm new to the yocto project and trying to set up a build environment on my M1 Mac which is arm64 architecture.

I'm following the steps as mentioned in below link:
https://github.com/crops/docker-win-mac-docs/wiki/Mac-Instructions

But it is always pulling up containers based on amd64 architecture. Are there any updated steps/link to set up a build environment specific to M1 Mac(arm64)?


Looking at Docker Hub, none of the published Crops containers are built for ARM64. You can try building the containers yourself, making sure to pick base distros that are available for ARM64.

Note that there are plenty of reports of Docker performing poorly on Macs, probably because of the file system implementation. You may be better off using a full VM via e.g. UTM.


I initially started with UTM but the problem with virtual machines is that we can only use half the resources of the machine.
This makes the builds slower, so I was looking at the container way.

Can you point me to any documentation which I can use to build customized containers for yocto builds?

Thanks,
Abhijeet



-a









Re: Building Yocto on M1 Mac

Abhijeet Tripathi
 



On Mon, Feb 14, 2022 at 5:32 PM Ross Burton <ross@...> wrote:
On Mon, 14 Feb 2022 at 00:17, Robert Joslyn
<robert.joslyn@...> wrote:
> On my 2020 M1 MacBook Air (8 cores, 16 GB RAM, docker using 8 cores and 8 GB), the build took 84 minutes. My desktop with an AMD Ryzen 9 3950X (16 cores, 64 GB RAM) it takes 21 minutes.

Try doing the MBA build with the laptop suspended in the air on a
couple of pencils.  As the MBA has no fan you might find that
increasing airflow around the laptop makes a big difference.  And
giving the container more RAM/cores will help, obviously, there's no
reason to limit it to half the power.

Ross

Thanks for the pointers, let me try it out on my Mac.
Will try to use max cpu cores and RAM to boost the performance a bit.

Regards,
Abhijeet


Re: Building Yocto on M1 Mac

Ross Burton <ross@...>
 

On Mon, 14 Feb 2022 at 00:17, Robert Joslyn
<robert.joslyn@...> wrote:
On my 2020 M1 MacBook Air (8 cores, 16 GB RAM, docker using 8 cores and 8 GB), the build took 84 minutes. My desktop with an AMD Ryzen 9 3950X (16 cores, 64 GB RAM) it takes 21 minutes.
Try doing the MBA build with the laptop suspended in the air on a
couple of pencils. As the MBA has no fan you might find that
increasing airflow around the laptop makes a big difference. And
giving the container more RAM/cores will help, obviously, there's no
reason to limit it to half the power.

Ross


Re: [tsc] 3.4.2 rc1 QA

Anuj Mittal
 

On Thu, 2022-02-10 at 16:32 +0000, Richard Purdie wrote:
On Thu, 2022-02-10 at 16:30 +0000, Raj, Khem wrote:
Can we then keep meta-agl for LTS and master only ? as it seems
that’s what it
is going to support
Yes, I got a reply from Scott/Jan-Simon saying to not test this on
honister
going forward so I'll make that change. That shouldn't therefore
block this
going into QA, just a question of the sstate issues.

If we did block on those, I'm not sure when we'd have them fixed by
:/
I think we should not block the release because of this issue.

Thanks,

Anuj


Re: [meta-mingw] [PATCH 1/2] mingw-w64: Upgrade runtime/headers/winpthreads to 9.0.0

Khem Raj
 

On Sun, Feb 13, 2022 at 6:26 AM Richard Purdie
<richard.purdie@...> wrote:

On Sat, 2022-02-12 at 10:42 -0800, Khem Raj wrote:
Drop upstreamed fixes for rdtsc [1] __udivmoddi4[2]

[1] https://sourceforge.net/p/mingw-w64/mingw-w64/ci/6a0e9165008f731bccadfc41a59719cf7c8efc02/
[2] https://sourceforge.net/p/mingw-w64/mingw-w64/ci/ab0fa5ad3c67d634fd7754d9473d1bb7051f9bf0/

Signed-off-by: Khem Raj <raj.khem@...>
---
...rincs-Check-for-__builtin_ia32_rdtsc.patch | 33 ------------
.../0001-winpthreads-Add-__udivmoddi4.patch | 52 -------------------
recipes-devtools/mingw-w64/mingw-w64.inc | 4 +-
...b => nativesdk-mingw-w64-headers_9.0.0.bb} | 0
...b => nativesdk-mingw-w64-runtime_9.0.0.bb} | 2 -
... nativesdk-mingw-w64-winpthreads_9.0.0.bb} | 2 -
6 files changed, 1 insertion(+), 92 deletions(-)
delete mode 100644 recipes-devtools/mingw-w64/files/0001-intrincs-Check-for-__builtin_ia32_rdtsc.patch
delete mode 100644 recipes-devtools/mingw-w64/files/0001-winpthreads-Add-__udivmoddi4.patch
rename recipes-devtools/mingw-w64/{nativesdk-mingw-w64-headers_8.0.0.bb => nativesdk-mingw-w64-headers_9.0.0.bb} (100%)
rename recipes-devtools/mingw-w64/{nativesdk-mingw-w64-runtime_8.0.0.bb => nativesdk-mingw-w64-runtime_9.0.0.bb} (88%)
rename recipes-devtools/mingw-w64/{nativesdk-mingw-w64-winpthreads_8.0.0.bb => nativesdk-mingw-w64-winpthreads_9.0.0.bb} (87%)

diff --git a/recipes-devtools/mingw-w64/files/0001-intrincs-Check-for-__builtin_ia32_rdtsc.patch b/recipes-devtools/mingw-w64/files/0001-intrincs-Check-for-__builtin_ia32_rdtsc.patch
deleted file mode 100644
index ce4ba81..0000000
--- a/recipes-devtools/mingw-w64/files/0001-intrincs-Check-for-__builtin_ia32_rdtsc.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 346de7591f58015d111f4d4f3b001382c04d5557 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@...>
-Date: Tue, 13 Apr 2021 18:44:25 -0700
-Subject: [PATCH] intrincs: Check for __builtin_ia32_rdtsc
-
-on modern gcc ( >=4.6 ) __rdtsc function is implemented using
-special builtin function called __builtin_ia32_rdtsc, its actually
-a define in gcc, so __has_builtin check fails for __rdtsc even
-though it is defined to imply __builtin_ia32_rdtsc(), therefore
-check for existence of __builtin_ia32_rdtsc as well
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@...>
----
- mingw-w64-crt/intrincs/rdtsc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mingw-w64-crt/intrincs/rdtsc.c b/mingw-w64-crt/intrincs/rdtsc.c
-index bf9c03b..df04711 100644
---- a/mingw-w64-crt/intrincs/rdtsc.c
-+++ b/mingw-w64-crt/intrincs/rdtsc.c
-@@ -11,7 +11,7 @@
- #define __has_builtin(x) 0
- #endif
-
--#if !__has_builtin(__rdtsc)
-+#if !__has_builtin(__rdtsc) && !__has_builtin(__builtin_ia32_rdtsc)
- unsigned __int64 __rdtsc(void)
- {
- #ifdef _WIN64
---
-2.31.1
-
diff --git a/recipes-devtools/mingw-w64/files/0001-winpthreads-Add-__udivmoddi4.patch b/recipes-devtools/mingw-w64/files/0001-winpthreads-Add-__udivmoddi4.patch
deleted file mode 100644
index 3eb298e..0000000
--- a/recipes-devtools/mingw-w64/files/0001-winpthreads-Add-__udivmoddi4.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 3b0af7327446ae179dc93b6a6ab1074251d348d0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@...>
-Date: Fri, 30 Apr 2021 16:50:36 -0700
-Subject: [PATCH] winpthreads: Add __udivmoddi4
-
-Newer GCC ( 11.1.0+ ) is generating calls to __udivmoddi4 on i686
-architecture, therefore provide an implementation to avoid undefined
-references
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@...>
----
- .../winpthreads/src/libgcc/dll_math.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c b/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
-index aeec068..d170967 100644
---- a/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
-+++ b/mingw-w64-libraries/winpthreads/src/libgcc/dll_math.c
-@@ -121,6 +121,7 @@ u_quad_t __udivdi3(u_quad_t a, u_quad_t b);
- u_quad_t __umoddi3(u_quad_t a, u_quad_t b);
- int __ucmpdi2(u_quad_t a, u_quad_t b);
- quad_t __divmoddi4(quad_t a, quad_t b, quad_t *rem);
-+u_quad_t __udivmoddi4(u_quad_t a, u_quad_t b, u_quad_t *rem);
-
- #endif /* !_LIBKERN_QUAD_H_ */
-
-@@ -573,7 +574,20 @@ __divmoddi4(a, b, rem)
- return (negq ? -uq : uq);
- }
-
-+/*
-+ * Divide two unsigned quads.
-+ * This function is new in GCC 7.
-+ */
-+u_quad_t
-+__udivmoddi4(a, b, rem)
-+ u_quad_t a, b, *rem;
-+{
-+ u_quad_t q = __udivdi3(a, b);
-+ if (rem)
-+ *rem = a - b * q;
-+ return q;
-+}
-+
- #else
- static int __attribute__((unused)) dummy;
- #endif /*deined (_X86_) && !defined (__x86_64__)*/
--
---
-2.31.1
-
diff --git a/recipes-devtools/mingw-w64/mingw-w64.inc b/recipes-devtools/mingw-w64/mingw-w64.inc
index d40d4a5..322fb79 100644
--- a/recipes-devtools/mingw-w64/mingw-w64.inc
+++ b/recipes-devtools/mingw-w64/mingw-w64.inc
@@ -5,9 +5,7 @@ COMPATIBLE_HOST = ".*-mingw.*"

SRC_URI = "${SOURCEFORGE_MIRROR}/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${PV}.tar.bz2"

-SRC_URI[sha256sum] = "44c740ea6ab3924bc3aa169bad11ad3c5766c5c8459e3126d44eabb8735a5762"
+SRC_URI[sha256sum] = "1929b94b402f5ff4d7d37a9fe88daa9cc55515a6134805c104d1794ae22a4181"

UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/"
UPSTREAM_CHECK_REGEX = "mingw-w64-v(?P<pver>(\d+[\.\-_]*)+)\.tar"
-
-
diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_8.0.0.bb b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_9.0.0.bb
similarity index 100%
rename from recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_8.0.0.bb
rename to recipes-devtools/mingw-w64/nativesdk-mingw-w64-headers_9.0.0.bb
diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_8.0.0.bb b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_9.0.0.bb
similarity index 88%
rename from recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_8.0.0.bb
rename to recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_9.0.0.bb
index 02132c1..e2ca6a5 100644
--- a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_8.0.0.bb
+++ b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-runtime_9.0.0.bb
@@ -2,8 +2,6 @@ DESCRIPTION = "Runtime libraries from MinGW-w64 project"

require mingw-w64.inc

-SRC_URI += "file://0001-intrincs-Check-for-__builtin_ia32_rdtsc.patch;striplevel=2"
-
S = "${WORKDIR}/mingw-w64-v${PV}/mingw-w64-crt"
B = "${WORKDIR}/build-${TARGET_SYS}"

diff --git a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_8.0.0.bb b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_9.0.0.bb
similarity index 87%
rename from recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_8.0.0.bb
rename to recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_9.0.0.bb
index 38092dc..fb7e54e 100644
--- a/recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_8.0.0.bb
+++ b/recipes-devtools/mingw-w64/nativesdk-mingw-w64-winpthreads_9.0.0.bb
@@ -2,8 +2,6 @@ DESCRIPTION = "Winpthreads runtime libraries from MinGW-w64 project"

require mingw-w64.inc

-SRC_URI += "file://0001-winpthreads-Add-__udivmoddi4.patch;striplevel=3"
-
S = "${WORKDIR}/mingw-w64-v${PV}/mingw-w64-libraries/winpthreads"
B = "${WORKDIR}/build-${TARGET_SYS}"
With these two patches and the binutils upgrade we see a new issue:

https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/4733/steps/12/logs/stdio
thanks, sent a fix for diffutils.

Cheers,

Richard


Re: Building Yocto on M1 Mac

Robert Joslyn
 

On Feb 13, 2022, at 6:56 AM, Abhijeet Tripathi <abhijeettripathi3003@...> wrote:


On Sun, Feb 13, 2022 at 7:09 PM Anders Montonen <Anders.Montonen@...> wrote:
Hi,

On 13 Feb 2022, at 14:24, Abhijeet Tripathi <abhijeettripathi3003@...> wrote:

Hello yocto-devs,

I'm new to the yocto project and trying to set up a build environment on my M1 Mac which is arm64 architecture.

I'm following the steps as mentioned in below link:
https://github.com/crops/docker-win-mac-docs/wiki/Mac-Instructions

But it is always pulling up containers based on amd64 architecture. Are there any updated steps/link to set up a build environment specific to M1 Mac(arm64)?
Looking at Docker Hub, none of the published Crops containers are built for ARM64. You can try building the containers yourself, making sure to pick base distros that are available for ARM64.

Note that there are plenty of reports of Docker performing poorly on Macs, probably because of the file system implementation. You may be better off using a full VM via e.g. UTM.

I initially started with UTM but the problem with virtual machines is that we can only use half the resources of the machine.
This makes the builds slower, so I was looking at the container way.

Can you point me to any documentation which I can use to build customized containers for yocto builds?

Thanks,
Abhijeet
A Dockerfile like this works for me:

FROM ubuntu:20.04

ARG DEBIAN_FRONTEND=noninteractive
ENV LANG=en_US.UTF-8

RUN apt-get update \
&& apt-get -y install \
locales \
sudo \
vim-tiny \
&& sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen \
&& locale-gen \
&& apt-get -y install \
binutils \
build-essential \
chrpath \
cpio \
diffstat \
gawk \
git \
lz4 \
python3 \
python3-distutils \
wget \
zstd \
&& rm -rf /var/lib/apt/lists/*

RUN useradd -m -G sudo --uid=1000 -s /bin/bash yocto
RUN install -d -o yocto -g yocto /yocto
USER yocto

Save that to a file called “Dockerfile”. You can build a container called “yocto” with:
docker build -t yocto .

You can run this with something like:
docker run —rm —mount type=volume,src=yocto,dst=/yocto -it yocto

Once in the container, go to /yocto to do work within a Docker volume. I have an M1 MacBook Air and can use this container to run builds. As others have said, it’s not fast, but it does work if it’s what you have. Normally I don’t do builds on the MacBook, I usually ssh into my Linux desktop and do my work there.

You got me curious though, so I did a quick comparison of building on my MacBook Air and my desktop. Using the container built with that Dockerfile, I ran this sequence (the download is separate to avoid download time, which is highly variable):

git clone https://git.yoctoproject.org/poky.git -b honister
cd poky
. oe-init-build-env
bitbake core-image-minimal —runonly=fetch
rm -rf tmp/ sstate-cache/
time bitbake core-image-minimal

On my 2020 M1 MacBook Air (8 cores, 16 GB RAM, docker using 8 cores and 8 GB), the build took 84 minutes. My desktop with an AMD Ryzen 9 3950X (16 cores, 64 GB RAM) it takes 21 minutes.

Docker performance has always been bad for me on MacOS, so it wouldn’t surprise me if it’s faster to use a normal VM than docker (which uses a VM internally too).

Robert


Re: Building Yocto on M1 Mac

Anders Montonen
 


On 13 Feb 2022, at 21:59, Josef Holzmayr <jester@...> wrote:

Howdy!

On 13. Feb 2022, at 19:04, Alexander Kanavin <alex.kanavin@...> wrote:

Even if you do manage to start a build, performance won't be great.
Yocto, by design, builds the entire stack from source, so a lot of CPU
cores is essential. Don't spend your time waiting, get an
appropriately specced Linux workstation, or an account on a Linux
server that your organization might have for the purpose.

While that is perfectly true from the pure technical facts, I have to add that building in Parallels on a M1 is ok-ish. You have to crank up the VM way beyond the defaults, to something like 6-8core, 16+X GB RAM, but then it’s bearable for the occasional user. When you can’t get your hands on a proper environment, its certainly an option.

Just to give some numbers, building a Dunfell core-image-minimal for the Beaglebone, with a pre-populated DL_DIR took 36 minutes in a Linux VM on a M1 Max Macbook Pro (8 cores, 16GB RAM allocated), and 21 minutes on my 5900X desktop (12/24 cores/threads, 64GB RAM).

-a


[meta-security][PATCH 2/2] parsec-service: fix compile issue.

Armin Kuster
 

| thread 'main' panicked at 'Failed to find tss2-sys library.: Command { command: "\"pkg-config\" \"--libs\" \"--cflags\" \"tss2-sys\" \"tss2-sys >= 2.3.3\"", cause: Os { code: 2, kind: NotFound, message: "No such file or directory" } }', /home/akuster/oss/clean/poky/build/tmp-glibc/work/cortexa57-oe-linux/parsec-service/0.8.1-r0/cargo_home/bitbake/tss-esapi-sys-0.2.0/build.rs:62:10

add inherit pkgconfig

Signed-off-by: Armin Kuster <akuster808@...>
---
.../recipes-parsec/parsec-service/parsec-service_0.8.1.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb b/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb
index 9161872..1cbf2bd 100644
--- a/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb
+++ b/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb
@@ -23,7 +23,7 @@ PACKAGECONFIG[TS] = "trusted-service-provider,,libts,libts"
PARSEC_FEATURES = "${@d.getVar('PACKAGECONFIG_CONFARGS',True).strip().replace(' ', ',')}"
CARGO_BUILD_FLAGS += " --features ${PARSEC_FEATURES}"

-inherit systemd
+inherit pkgconfig systemd
SYSTEMD_SERVICE:${PN} = "parsec.service"

inherit update-rc.d
--
2.25.1


[meta-security][PATCH 1/2] tpm2-tss: update to 3.1.0

Armin Kuster
 

Drop 001-configure.ac-fix-compatibility-with-autoconf-2.70.patch which is included in update.

Signed-off-by: Armin Kuster <akuster808@...>
---
...fix-compatibility-with-autoconf-2.70.patch | 48 -------------------
.../tpm2-tss/tpm2-tss/fixup_hosttools.patch | 26 ++++++++++
.../{tpm2-tss_3.0.3.bb => tpm2-tss_3.1.0.bb} | 16 +++++--
3 files changed, 38 insertions(+), 52 deletions(-)
delete mode 100644 meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch
create mode 100644 meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fixup_hosttools.patch
rename meta-tpm/recipes-tpm2/tpm2-tss/{tpm2-tss_3.0.3.bb => tpm2-tss_3.1.0.bb} (88%)

diff --git a/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch b/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch
deleted file mode 100644
index cae2e76..0000000
--- a/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 03cca78d24d716eec792f86f5b0bc69886fad981 Mon Sep 17 00:00:00 2001
-From: Patrick McCarty <patrick.mccarty@...>
-Date: Fri, 18 Dec 2020 01:54:05 +0000
-Subject: [PATCH] configure.ac: fix compatibility with autoconf 2.70
-
-With autoconf 2.70, not quoting the second argument to one of the AS_IF
-macro expansions leads to generation of invalid shell code affecting the
-first nested ERROR_IF_NO_PROG expansion.
-
-The invalid shell code leads to an error resembling:
-
- ./configure: line 18826: syntax error near unexpected token `newline'
- ./configure: line 18826: ` '''
-
-Fix the issue by quoting the second argument to the affected AS_IF,
-similar to the quoting found elsewhere in configure.ac.
-
-Signed-off-by: Patrick McCarty <patrick.mccarty@...>
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster808@...>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: tpm2-tss-3.0.3/configure.ac
-===================================================================
---- tpm2-tss-3.0.3.orig/configure.ac
-+++ tpm2-tss-3.0.3/configure.ac
-@@ -279,7 +279,7 @@ AC_ARG_ENABLE([integration],
- [build and execute integration tests])],,
- [enable_integration=no])
- AS_IF([test "x$enable_integration" = "xyes"],
-- AS_IF([test "$HOSTOS" = "Linux"],
-+ [AS_IF([test "$HOSTOS" = "Linux"],
- [ERROR_IF_NO_PROG([ss])],
- [ERROR_IF_NO_PROG([sockstat])])
- ERROR_IF_NO_PROG([echo])
-@@ -328,7 +328,7 @@ AS_IF([test "x$enable_integration" = "xy
- [AC_MSG_ERROR([No simulator executable found in PATH for testing TCTI.])])
- AC_SUBST([INTEGRATION_TCTI], [$integration_tcti])
- AC_SUBST([INTEGRATION_ARGS], [$integration_args])
-- AC_SUBST([ENABLE_INTEGRATION], [$enable_integration]))
-+ AC_SUBST([ENABLE_INTEGRATION], [$enable_integration])])
- AM_CONDITIONAL([ENABLE_INTEGRATION],[test "x$enable_integration" = "xyes"])
- #
- # sanitizer compiler flags
diff --git a/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fixup_hosttools.patch b/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fixup_hosttools.patch
new file mode 100644
index 0000000..b5579e1
--- /dev/null
+++ b/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fixup_hosttools.patch
@@ -0,0 +1,26 @@
+revert configure: add checks for all tools used by make install
+
+Not appropriate for cross build env.
+
+Upstream-Status: OE [inappropriate]
+Signed-off-by: Armin Kuster <akuster808@...>
+
+Index: tpm2-tss-3.1.0/configure.ac
+===================================================================
+--- tpm2-tss-3.1.0.orig/configure.ac
++++ tpm2-tss-3.1.0/configure.ac
+@@ -471,14 +471,6 @@ AM_CONDITIONAL(SYSD_SYSUSERS, test "x$sy
+ AC_CHECK_PROG(systemd_tmpfiles, systemd-tmpfiles, yes)
+ AM_CONDITIONAL(SYSD_TMPFILES, test "x$systemd_tmpfiles" = "xyes")
+ # Check all tools used by make install
+-AS_IF([test "$HOSTOS" = "Linux"],
+- [ERROR_IF_NO_PROG([groupadd])
+- ERROR_IF_NO_PROG([useradd])
+- ERROR_IF_NO_PROG([id])
+- ERROR_IF_NO_PROG([chown])
+- ERROR_IF_NO_PROG([chmod])
+- ERROR_IF_NO_PROG([mkdir])
+- ERROR_IF_NO_PROG([setfacl])])
+
+ AC_SUBST([PATH])
+
diff --git a/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb b/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.1.0.bb
similarity index 88%
rename from meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb
rename to meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.1.0.bb
index 1a36a5b..e0f2d09 100644
--- a/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb
+++ b/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.1.0.bb
@@ -7,9 +7,10 @@ SECTION = "tpm"
DEPENDS = "autoconf-archive-native libgcrypt openssl"

SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz \
- file://0001-configure.ac-fix-compatibility-with-autoconf-2.70.patch \
- "
-SRC_URI[sha256sum] = "78392be7309baf47f51b122f566ac915fd4d1760ea78571cba2e1484f9b5be17"
+ file://fixup_hosttools.patch \
+ "
+
+SRC_URI[sha256sum] = "8900a6603f74310b749b65f23c3461cde6e2a23a5f61058b21004c25f9cf19e8"

inherit autotools pkgconfig systemd extrausers

@@ -18,14 +19,19 @@ PACKAGECONFIG[oxygen] = ",--disable-doxygen-doc, "
PACKAGECONFIG[fapi] = "--enable-fapi,--disable-fapi,curl json-c "

EXTRA_OECONF += "--enable-static --with-udevrulesdir=${nonarch_base_libdir}/udev/rules.d/"
+EXTRA_OECONF += "--runstatedir=/run"
EXTRA_OECONF:remove = " --disable-static"

-
EXTRA_USERS_PARAMS = "\
useradd -p '' tss; \
groupadd tss; \
"

+do_install:append() {
+ # Remove /run as it is created on startup
+ rm -rf ${D}/run
+}
+
PROVIDES = "${PACKAGES}"
PACKAGES = " \
${PN} \
@@ -75,6 +81,8 @@ FILES:libtss2-staticdev = "${libdir}/libtss*a"

FILES:${PN} = "\
${libdir}/udev \
+ /var/lib/tpm2-tss \
+ /var/run \
${nonarch_base_libdir}/udev \
${sysconfdir}/tmpfiles.d \
${sysconfdir}/tpm2-tss \
--
2.25.1


Re: Building Yocto on M1 Mac

Josef Holzmayr
 

Howdy!

On 13. Feb 2022, at 19:04, Alexander Kanavin <alex.kanavin@...> wrote:

Even if you do manage to start a build, performance won't be great.
Yocto, by design, builds the entire stack from source, so a lot of CPU
cores is essential. Don't spend your time waiting, get an
appropriately specced Linux workstation, or an account on a Linux
server that your organization might have for the purpose.

While that is perfectly true from the pure technical facts, I have to add that building in Parallels on a M1 is ok-ish. You have to crank up the VM way beyond the defaults, to something like 6-8core, 16+X GB RAM, but then it’s bearable for the occasional user. When you can’t get your hands on a proper environment, its certainly an option.

Greetz


Alex

On Sun, 13 Feb 2022 at 15:56, Abhijeet Tripathi
<abhijeettripathi3003@...> wrote:


On Sun, Feb 13, 2022 at 7:09 PM Anders Montonen <Anders.Montonen@...> wrote:

Hi,

On 13 Feb 2022, at 14:24, Abhijeet Tripathi <abhijeettripathi3003@...> wrote:

Hello yocto-devs,

I'm new to the yocto project and trying to set up a build environment on my M1 Mac which is arm64 architecture.

I'm following the steps as mentioned in below link:
https://github.com/crops/docker-win-mac-docs/wiki/Mac-Instructions

But it is always pulling up containers based on amd64 architecture. Are there any updated steps/link to set up a build environment specific to M1 Mac(arm64)?


Looking at Docker Hub, none of the published Crops containers are built for ARM64. You can try building the containers yourself, making sure to pick base distros that are available for ARM64.

Note that there are plenty of reports of Docker performing poorly on Macs, probably because of the file system implementation. You may be better off using a full VM via e.g. UTM.


I initially started with UTM but the problem with virtual machines is that we can only use half the resources of the machine.
This makes the builds slower, so I was looking at the container way.

Can you point me to any documentation which I can use to build customized containers for yocto builds?

Thanks,
Abhijeet



-a









Re: Building Yocto on M1 Mac

Alexander Kanavin
 

Even if you do manage to start a build, performance won't be great.
Yocto, by design, builds the entire stack from source, so a lot of CPU
cores is essential. Don't spend your time waiting, get an
appropriately specced Linux workstation, or an account on a Linux
server that your organization might have for the purpose.

Alex

On Sun, 13 Feb 2022 at 15:56, Abhijeet Tripathi
<abhijeettripathi3003@...> wrote:


On Sun, Feb 13, 2022 at 7:09 PM Anders Montonen <Anders.Montonen@...> wrote:

Hi,

On 13 Feb 2022, at 14:24, Abhijeet Tripathi <abhijeettripathi3003@...> wrote:

Hello yocto-devs,

I'm new to the yocto project and trying to set up a build environment on my M1 Mac which is arm64 architecture.

I'm following the steps as mentioned in below link:
https://github.com/crops/docker-win-mac-docs/wiki/Mac-Instructions

But it is always pulling up containers based on amd64 architecture. Are there any updated steps/link to set up a build environment specific to M1 Mac(arm64)?


Looking at Docker Hub, none of the published Crops containers are built for ARM64. You can try building the containers yourself, making sure to pick base distros that are available for ARM64.

Note that there are plenty of reports of Docker performing poorly on Macs, probably because of the file system implementation. You may be better off using a full VM via e.g. UTM.

I initially started with UTM but the problem with virtual machines is that we can only use half the resources of the machine.
This makes the builds slower, so I was looking at the container way.

Can you point me to any documentation which I can use to build customized containers for yocto builds?

Thanks,
Abhijeet



-a