Re: [meta-hardening][PATCH] meta-hardening: Fix override syntax
On 2/14/22 09:05, Akshay Bhat wrote:
Patch looks fine.
thanks,
-armin
On Fri, Jan 21, 2022 at 11:33 AM Akshay Bhat <nodeax@...> wrote:Thanks for the ping. I didn't find this in my inbox but found it on lore mailing list.Commit 352e6498a missed updating the override syntax for thePing... any feedback on the patch? If not can it be applied? Thanks :)
"harden" distro override.
Fixes: 352e6498a ("meta-hardening: Convert to new override syntax")
Signed-off-by: Akshay Bhat <akshay.bhat@...>
---
<snip>
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@...
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,
toggle quoted message
Show quoted text
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 weI've been looking into those flags (and a few more) a while back when picking compiler flags to use for Oniro.
might want to consider enabling by default in security-flags.inc:
1) -fstack-clash-protection
2) -z noexecstack (or alternative mitigations)
-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: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.
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
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
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@...
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: [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:
<snip>
Ping... any feedback on the patch? If not can it be applied? Thanks :)
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@...>
---
<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
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:
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
<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:
Thanks,
Anuj
On Thu, 2022-02-10 at 16:30 +0000, Raj, Khem wrote:I think we should not block the release because of this issue.Can we then keep meta-agl for LTS and master only ? as it seemsYes, I got a reply from Scott/Jan-Simon saying to not test this on
that’s what it
is going to support
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
:/
Thanks,
Anuj
Re: [meta-mingw] [PATCH 1/2] mingw-w64: Upgrade runtime/headers/winpthreads to 9.0.0
On Sun, Feb 13, 2022 at 6:26 AM Richard Purdie
<richard.purdie@...> wrote:
<richard.purdie@...> wrote:
thanks, sent a fix for diffutils.
On Sat, 2022-02-12 at 10:42 -0800, Khem Raj wrote:Drop upstreamed fixes for rdtsc [1] __udivmoddi4[2]With these two patches and the binutils upgrade we see a new issue:
[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}"
https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/4733/steps/12/logs/stdio
Cheers,
Richard
Re: Building Yocto on M1 Mac
Robert Joslyn
On Feb 13, 2022, at 6:56 AM, Abhijeet Tripathi <abhijeettripathi3003@...> wrote:A Dockerfile like this works for me:
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: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.
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)?
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
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.
-a
[meta-security][PATCH 2/2] parsec-service: fix compile issue.
| 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
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
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
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:
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