<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-openembedded.git/meta-oe/classes, branch wrynose</title>
<subtitle>Mirror of git.openembedded.org/meta-openembedded</subtitle>
<id>https://git.enea.com/cgit/linux/meta-openembedded.git/atom?h=wrynose</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-openembedded.git/atom?h=wrynose'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/'/>
<updated>2026-03-05T06:26:02+00:00</updated>
<entry>
<title>signing.bbclass: add signing_create_uri_pem helper function</title>
<updated>2026-03-05T06:26:02+00:00</updated>
<author>
<name>Fabian Pflug</name>
<email>f.pflug@pengutronix.de</email>
</author>
<published>2026-03-04T15:31:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=8b9b789542bdc76fbeb73f150ab75e4f9f7d2086'/>
<id>urn:sha1:8b9b789542bdc76fbeb73f150ab75e4f9f7d2086</id>
<content type='text'>
The PKCS#11 provider has a mechanism [1] to support older applications
which have not yet migrated to the OSSL_STORE API [2]. It works by
encoding the 'pkcs11:' URI into a PEM file and passing that to an
application as a file. From the application's perspective it loads the
private key from a file, but OpenSSL will transparently use select the
provider to access it via PKCS#11 instead.

Instead of upstream's Python-based tool [3] (which would pull in
asn1crypto as a dependency), we just generate the ASN.1 for the PEM
using OpenSSL's 'asn1parse -genconf'.

It has been tested with RAUC, U-Boot's mkimage (for signed FITs) and
NXP's CST.

[1] https://github.com/latchset/pkcs11-provider/blob/main/docs/provider-pkcs11.7.md#use-in-older-applications-uris-in-pem-files
[2] https://docs.openssl.org/master/man7/ossl_store/
[3] https://github.com/latchset/pkcs11-provider/blob/main/tools/uri2pem.py

Signed-off-by: Jan Luebbe &lt;jlu@pengutronix.de&gt;
Signed-off-by: Fabian Pflug &lt;f.pflug@pengutronix.de&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>signing.bbclass: add support for OpenSSL PKCS#11 provider</title>
<updated>2026-03-05T06:26:02+00:00</updated>
<author>
<name>Fabian Pflug</name>
<email>f.pflug@pengutronix.de</email>
</author>
<published>2026-03-04T15:31:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=f75a2ab194ee2ea0dd7572669fa3b052f2da36f9'/>
<id>urn:sha1:f75a2ab194ee2ea0dd7572669fa3b052f2da36f9</id>
<content type='text'>
OpenSSL 4.0 will drop support for engines and use providers instead.

To access SoftHSM and other PKCS#11 modules via the provider API, we
rely on https://github.com/latchset/pkcs11-provider, which is already
available as via pkcs11-provider recipe.

We enable this provider by using a specific OpenSSL config when signing.
This means that recipes inheriting this class can decide whether they
want to use the engine or provider to access the key.

SoftHSM seems to produce broken keys when calling the C_CopyObject, so
disable caching in the provider for now.

Signed-off-by: Jan Luebbe &lt;jlu@pengutronix.de&gt;
Signed-off-by: Fabian Pflug &lt;f.pflug@pengutronix.de&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>signing.bbclass: remove trailing white space</title>
<updated>2026-03-05T06:26:02+00:00</updated>
<author>
<name>Jan Luebbe</name>
<email>jlu@pengutronix.de</email>
</author>
<published>2026-03-04T15:31:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=40a1825c95333fbf114c41966d68339e12cf208a'/>
<id>urn:sha1:40a1825c95333fbf114c41966d68339e12cf208a</id>
<content type='text'>
Signed-off-by: Jan Luebbe &lt;jlu@pengutronix.de&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>meta-oe: image: optionally remove RAW image after sparse image creation</title>
<updated>2025-09-15T16:55:16+00:00</updated>
<author>
<name>AshishKumar Mishra</name>
<email>emailaddress.ashish@gmail.com</email>
</author>
<published>2025-09-14T15:40:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=f5246b7df447ac76ec04c6e5add398862d1c9ccd'/>
<id>urn:sha1:f5246b7df447ac76ec04c6e5add398862d1c9ccd</id>
<content type='text'>
When creating sparse images, the RAW image is no longer needed in
some workflows such as Android and CI pipelines. These RAW images
can be multi-GB artifacts and consume significant disk space.

This change introduces a configuration option
`DELETE_RAWIMAGE_AFTER_SPARSE_CMD` which, when set to "1",
removes the RAW image after sparse image generation.

This reduces disk usage in builds where sparse images are the
final deliverables and RAW images are not required.

Default behavior is unchanged: RAW images are kept unless the
variable is explicitly enabled:

    DELETE_RAWIMAGE_AFTER_SPARSE_CMD = "1"   # Delete RAW image
    DELETE_RAWIMAGE_AFTER_SPARSE_CMD = "0"   # Default behavior

Signed-off-by: AshishKumar Mishra &lt;emailaddress.ashish@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>image_types_verity.bbclass: remove breaking unit suffix from machine-readable verity parameters</title>
<updated>2025-09-02T15:57:41+00:00</updated>
<author>
<name>Bastian Krause</name>
<email>bst@pengutronix.de</email>
</author>
<published>2025-09-02T09:57:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=86f2dee0146ebd79852452ef7174ce9099857968'/>
<id>urn:sha1:86f2dee0146ebd79852452ef7174ce9099857968</id>
<content type='text'>
Since cryptsetup 2.8.0 [1], "veritysetup format" prints " [bytes]"
suffixes for "Data block size" and "Hash block size" parameters:

  UUID:
  Hash type:              1
  Data blocks:            34655
  Data block size:        4096 [bytes]
  Hash blocks:            275
  Hash block size:        4096 [bytes]
  Hash algorithm:         sha256
  Salt:                   8a8d8d807bd9838a80397a13b3bc13c55780ff1677ee4489366b17dab1b29316
  Root hash:              bd85312151dc5c69efce943038e0ac4b92e14d8954cce5d3cc90513837f854bf

This output is directly converted to a shell sourcable form in
"${DEPLOY_DIR_IMAGE}/&lt;IMAGE_LINK_NAME&gt;.verity-params" used to
create the desired block device via "dmsetup" during runtime. The unit
suffix becomes part of the VERITY_DATA_BLOCK_SIZE and
VERITY_HASH_BLOCK_SIZE variables, breaking its consumers:

  /init: /verity-params: line 4: [bytes]: not found
  /init: /verity-params: line 6: [bytes]: not found
  verity root hash: bd85312151dc5c69efce943038e0ac4b92e14d8954cce5d3cc90513837f854bf
  [    3.323577] device-mapper: table: 253:0: verity: Invalid data device block size (-EINVAL)
  [    3.323595] device-mapper: ioctl: error adding target to table
  [    3.345301] /dev/dm-0: Can't lookup blockdev

Fix this by removing the unit suffixes from the values.

Ideally veritysetup should support machine-readable output, but that did
not spark joy on the maintainer's side [2] (at least in veritysetup
itself).

[1] commit f8788f34 ("Mark all sizes in status and dump output in the
correct units.")
[2] https://gitlab.com/cryptsetup/cryptsetup/-/issues/638

Signed-off-by: Bastian Krause &lt;bst@pengutronix.de&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>signing.bbclass: create env with 0x600</title>
<updated>2025-08-20T14:35:07+00:00</updated>
<author>
<name>Johannes Schneider</name>
<email>johannes.schneider@leica-geosystems.com</email>
</author>
<published>2025-08-20T10:11:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=c092b3adc58b8b2fec3fbec93dce0fb62b60507c'/>
<id>urn:sha1:c092b3adc58b8b2fec3fbec93dce0fb62b60507c</id>
<content type='text'>
The env file holds the PKCS#11 uris, which include the pin to access
the database - in plaintext. Directly create the file (after it has
been remove) with the proper 'user RW only' permissions, to give only
the build-user access to this somewhat "security sensitive" file.

Note that the softhsm/sqlite3.db* is already 0x600.

Signed-off-by: Johannes Schneider &lt;johannes.schneider@leica-geosystems.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>gitpkgv.bbclass: inspect repository in UNPACKDIR</title>
<updated>2025-08-18T14:50:01+00:00</updated>
<author>
<name>Gyorgy Sarvari</name>
<email>skandigraun@gmail.com</email>
</author>
<published>2025-08-18T05:18:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=157d2fede274721e0b620bc3c4636ac1badb082c'/>
<id>urn:sha1:157d2fede274721e0b620bc3c4636ac1badb082c</id>
<content type='text'>
When BB_GIT_SHALLOW = "1" is used, the unpacked gir repository doesn't
exist in the download folder, and the class isn't able to inspect the
details of the repository.

Instead inspect the repository it the UNPACKDIR.

Beside this, since BitBake fetcher performs an actual initial shallow
clone of the repository when this feature is enabled, it is not possible
to determine the exact number of commits. Add a warning about this.

Reported-by: WXbet &lt;WXbet@proton.me&gt;
Signed-off-by: Gyorgy Sarvari &lt;skandigraun@gmail.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>signing.bbclass: make PEM loading compatible with OpenSC 0.26.0</title>
<updated>2025-07-02T16:48:26+00:00</updated>
<author>
<name>Enrico Jörns</name>
<email>ejo@pengutronix.de</email>
</author>
<published>2025-07-02T06:09:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=2d1d128a41abb698874e2d0b8e59cb5ae0416937'/>
<id>urn:sha1:2d1d128a41abb698874e2d0b8e59cb5ae0416937</id>
<content type='text'>
With https://github.com/OpenSC/OpenSC/pull/3174 which is part of 0.26.0,
OpenSC does not support reading the (DER-converted) object data from
stdin anymore.

However, OpenSC/pkcs11-tool also supports reading PEM files directly.
This we can use for simply replacing and simplifying the stdin piping in
signing_import_cert_from_pem().

Only for password-protected files we still have to use OpenSSL for
conversion, since OpenSC/pkcs11-tool currently doesn't have a mechanism
for providing passwords.
For these cases, we store the converted PEM into a simple temporary
file. This handling is sufficient, since SoftHSM import should be used
for example keys only and SoftHSM also doesn't protect the keys in any
way. Keys which actually need to be protected are stored in HSMs and
accessed via their PKCS#11 URIs.

Signed-off-by: Enrico Jörns &lt;ejo@pengutronix.de&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>signing.bbclass: remove signing_import_cert_chain_from_pem</title>
<updated>2025-06-28T18:04:25+00:00</updated>
<author>
<name>Johannes Schneider</name>
<email>johannes.schneider@leica-geosystems.com</email>
</author>
<published>2025-06-27T12:18:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=a1dd1906048d6a83061515ae00871e8f804297da'/>
<id>urn:sha1:a1dd1906048d6a83061515ae00871e8f804297da</id>
<content type='text'>
With the now available set|get|has_ca functions to establish a CA link
between roles during their import, the
signing_import_cert_chain_from_pem can now be removed.  As it had the
shortcoming of dynamically creating roles, which are harder to handle
then the manually/specifically setup CA roles.

This effectively reverts:
a825b853634 signing.bbclass: add certificate ca-chain handling

Reviewed-by: Jan Luebbe &lt;jlu@pengutronix.de&gt;
Signed-off-by: Johannes Schneider &lt;johannes.schneider@leica-geosystems.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>signing.bbclass: add signing_extract_cert helpers</title>
<updated>2025-06-28T18:04:25+00:00</updated>
<author>
<name>Johannes Schneider</name>
<email>johannes.schneider@leica-geosystems.com</email>
</author>
<published>2025-06-27T12:18:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=d1b6f528a56084f156bcdb9baa61c08beb2db0ae'/>
<id>urn:sha1:d1b6f528a56084f156bcdb9baa61c08beb2db0ae</id>
<content type='text'>
Add extract-cert wrapping helper functions, to easily extract
certificates again that had been previously imported into the softhsm.

Reviewed-by: Jan Luebbe &lt;jlu@pengutronix.de&gt;
Signed-off-by: Johannes Schneider &lt;johannes.schneider@leica-geosystems.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
</feed>
