package/distribution-registry: new package
v2 cover package/distribution-registry: new package
From: "Yann E. MORIN" <[email protected]>
Hello All!
This small series introduces distribution-registry, the reference implementation to host and distibute container images.
The series is three-fold:
1. introduce the common containers-image-config package, that provides default, sane, official configuration files shared by multiple tools from the containers ecosystem;
2. use those files for podman, instead of the custom, canned ones, and extend the skopeo runtime test to exercise using those files as well;
3. introduce distribution-registry itself, with a runtime test.
Changes v1 -> v2:
- rename using pkg-golang infra's variables
- fix flake8 warning in runtime test
Regards,
Yann E. MORIN.
The following changes since commit cb5d3daf644395e0b31e09974fe2f47f130b4f7c
package/grout: bump to 0.10.3 version (2025-06-18 22:21:29 +0200)
are available as patches in this mail series,
for you to apply patches up to e9de3252ae9bdf50b1c7f4a32dca00e45e85b921
package/distribution-registry: new package (2025-06-19 09:38:15 +0200)
----------------------------------------------------------------
Yann E. MORIN (3):
package/containers-image-config: new package package/skopeo: use containers-image-config files package/distribution-registry: new package
package/Config.in | 2 + package/containers-image-config/Config.in | 8 ++ .../containers-image-config.hash | 3 + .../containers-image-config.mk | 25 ++++++ package/distribution-registry/Config.in | 17 ++++ package/distribution-registry/config.yml | 13 +++ .../distribution-registry.hash | 3 + .../distribution-registry/distribution-registry.mk | 47 +++++++++++ .../distribution-registry.service | 10 +++ package/podman/Config.in | 1 + package/podman/podman.mk | 10 --- package/podman/policy.json | 7 -- package/podman/registries.conf | 1 - package/skopeo/Config.in | 1 + .../tests/package/test_distribution_registry.py | 96 ++++++++++++++++++++++ support/testing/tests/package/test_skopeo.py | 20 +++++ 16 files changed, 246 insertions(+), 18 deletions(-) create mode 100644 package/containers-image-config/Config.in create mode 100644 package/containers-image-config/containers-image-config.hash create mode 100644 package/containers-image-config/containers-image-config.mk create mode 100644 package/distribution-registry/Config.in create mode 100644 package/distribution-registry/config.yml create mode 100644 package/distribution-registry/distribution-registry.hash create mode 100644 package/distribution-registry/distribution-registry.mk create mode 100644 package/distribution-registry/distribution-registry.service delete mode 100644 package/podman/policy.json delete mode 100644 package/podman/registries.conf create mode 100644 support/testing/tests/package/test_distribution_registry.py
Signature · 24 lines
____________ .-----------------.--------------------: _ :------------------. | Yann E. MORIN | Real-Time Embedded | __/ ) | /"\ ASCII RIBBON | | | Software Designer | _/ - /' | \ / CAMPAIGN | | +33 638.411.245 '--------------------: (_ `--, | X AGAINST | | yann.morin (at) orange.com |_=" ,--' | / \ HTML MAIL | '--------------------------------------:______/_____:------------------' ____________________________________________________________________________________________________________ Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci. This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation. If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/3 package/containers-image-config: new package
From: "Yann E. MORIN" <[email protected]>
The container/image repository is the standards regpository that drives the image management in container tools, like podman or skopeo. Besides a Go library, it also prodvides the template configuration files used by those tools; those files can also serve as default ones.
Install those files instead of the canned ones we cary in podman, and change podman to use this new package too.
The registry file needs a fixup, as it by default does not allow searching unqualified images (i.e. those that do not contain a registry name) in a default registry, for security reasons. However, the Docker Hub is traditionally a registry that can be accessed without being specified, so we make that possible.
As was noted in ebbaac08e3f4 (package/podman: new package), "[p]roviding actual files is going to be use-case dependent, and interested parties will have to provide their own config files, e.g. in a rootfs overlay."
--- package/Config.in | 1 + package/containers-image-config/Config.in | 8 ++++++ .../containers-image-config.hash | 3 +++ .../containers-image-config.mk | 25 +++++++++++++++++++ package/podman/Config.in | 1 + package/podman/podman.mk | 10 -------- package/podman/policy.json | 7 ------ package/podman/registries.conf | 1 - 8 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 package/containers-image-config/Config.in create mode 100644 package/containers-image-config/containers-image-config.hash create mode 100644 package/containers-image-config/containers-image-config.mk delete mode 100644 package/podman/policy.json delete mode 100644 package/podman/registries.conf
package/Config.in +1 -0
@@ -2844,6 +2844,7 @@ menu "System tools" source "package/circus/Config.in" source "package/conmon/Config.in" source "package/containerd/Config.in" + source "package/containers-image-config/Config.in" source "package/coreutils/Config.in" source "package/cpulimit/Config.in" source "package/cpuload/Config.in"
package/containers-image-config/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_CONTAINERS_IMAGE_CONFIG + bool "containers-image-config" + help + Install default, minimalist configuration files used by the + various tools dealing with containers images, like podman, + skopeo... + + https://github.com/containers/image
package/containers-image-config/containers-image-config.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally computed: +sha256 afdbb1487571d4cc8974e11c72bc4e05043fb490cfc0581783789f414c64f87b containers-image-config-v5.35.0-git4.tar.gz +sha256 716a8b80635c394681e652823e1e42e411ad2d254e1f202403422d74f4b0b106 LICENSE
package/containers-image-config/containers-image-config.mk new file +25 -0
@@ -0,0 +1,25 @@ +################################################################################ +# +# containers-image-config +# +################################################################################ + +CONTAINERS_IMAGE_CONFIG_VERSION = v5.35.0 +CONTAINERS_IMAGE_CONFIG_SITE = https://github.com/containers/image +CONTAINERS_IMAGE_CONFIG_SITE_METHOD = git + +CONTAINERS_IMAGE_CONFIG_LICENSE = Apache-2.0 +CONTAINERS_IMAGE_CONFIG_LICENSE_FILES = LICENSE + +define CONTAINERS_IMAGE_CONFIG_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0644 \ + $(@D)/default-policy.json \ + $(TARGET_DIR)/etc/containers/policy.json + $(INSTALL) -D -m 0644 \ + $(@D)/registries.conf \ + $(TARGET_DIR)/etc/containers/registries.conf + $(SED) '/^# unqualified-search-registries = .*/s//unqualified-search-registries = ["docker.io"]/' \ + $(TARGET_DIR)/etc/containers/registries.conf +endef + +$(eval $(generic-package))
package/podman/Config.in +1 -0
@@ -12,6 +12,7 @@ config BR2_PACKAGE_PODMAN select BR2_PACKAGE_CA_CERTIFICATES # runtime select BR2_PACKAGE_CGROUPFS_V2_MOUNT if !BR2_PACKAGE_CGROUPFS_MOUNT && !BR2_INIT_SYSTEMD # runtime select BR2_PACKAGE_CONMON # runtime + select BR2_PACKAGE_CONTAINERS_IMAGE_CONFIG # runtime select BR2_PACKAGE_LIBGPGME select BR2_PACKAGE_LIBSECCOMP select BR2_PACKAGE_NETAVARK # runtime
package/podman/podman.mk +0 -10
@@ -99,16 +99,6 @@ define PODMAN_LINUX_CONFIG_FIXUPS $(PODMAN_LINUX_CONFIG_FIXUPS_BTRFS) endef -define PODMAN_CONFIG - $(Q)$(INSTALL) -D -m 0644 \ - $(PODMAN_PKGDIR)/policy.json \ - $(TARGET_DIR)/etc/containers/policy.json - $(Q)$(INSTALL) -D -m 0644 \ - $(PODMAN_PKGDIR)/registries.conf \ - $(TARGET_DIR)/etc/containers/registries.conf -endef -PODMAN_POST_INSTALL_TARGET_HOOKS += PODMAN_CONFIG - define PODMAN_HELPERS $(Q)mkdir -p $(TARGET_DIR)/usr/libexec/podman $(Q)ln -sf ../../bin/aardvark-dns $(TARGET_DIR)/usr/libexec/podman/aardvark-dns
package/podman/policy.json deleted +0 -7
@@ -1,7 +0,0 @@ -{ - "default": [ - { - "type": "insecureAcceptAnything" - } - ] -}
package/podman/registries.conf deleted +0 -1
@@ -1 +0,0 @@ -unqualified-search-registries = ["docker.io"]
Signature · 18 lines
2.34.1 ____________________________________________________________________________________________________________ Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci. This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation. If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH 1/3 v2] package/containers-image-config: new package
Quoted 16 lines · On 19/06/2025 09:39, [email protected] wrote:
From: "Yann E. MORIN" <[email protected]>
The container/image repository is the standards regpository that drives the image management in container tools, like podman or skopeo. Besides a Go library, it also prodvides the template configuration files used by those tools; those files can also serve as default ones.
Install those files instead of the canned ones we cary in podman, and change podman to use this new package too.
The registry file needs a fixup, as it by default does not allow searching unqualified images (i.e. those that do not contain a registry name) in a default registry, for security reasons. However, the Docker Hub is traditionally a registry that can be accessed without being specified, so we make that possible.
Quoted 6 lines
As was noted in
ebbaac08e3f4(package/podman: new package), "[p]roviding actual files is going to be use-case dependent, and interested parties will have to provide their own config files, e.g. in a rootfs overlay."Signed-off-by Yann E. MORIN <[email protected]>Cc Thomas Petazzoni <[email protected]>
Series applied to master, thanks.
While testing this series, I encountered a build issue which is not introduced by those changes, which is why I applied it.
The build issue can be reduced to:
cat >.config <<EOF
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_PASST=y
EOF
make olddefconfig
make passt
which fails in passt compilation with error:
In file included from vhost_user.h:14,
from passt.h:29,
from qrap.c:36:
virtio.h:13:10: fatal error: linux/vhost_types.h: No such file or
directory
13 | #include <linux/vhost_types.h>
| ^~~~~~~~~~~~~~~~~~~~~This error happens here:
https://passt.top/passt/tree/virtio.h?h=2025_02_17.a1e48a0#n13
This vhost_types.h header appeared in Kernel in v5.0. See:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b86713236e4bd6ea6c881a97711ae039fc4069b
So maybe passt needs a dependency on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0? I'm a bit surprised as the
https://passt.top/passt/about/ website mention a kernel 3.13 and 4.18 compatibility. So maybe it's an upstream bug which just needs to test for the presence of this header.
Could you have a look, please?
Best regards,
Julien.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH 1/3 v2] package/containers-image-config: new package
Julien, All,
On 2025-06-29 18:58 +0200, Julien Olivain spake thusly:
Quoted 6 lines · On 19/06/2025 09:39, [email protected] wrote:
Quoted 5 lines
From: "Yann E. MORIN" <[email protected]>
The container/image repository is the standards regpository that drives the image management in container tools, like podman or skopeo. Besides a Go library, it also prodvides the template configuration files used by those tools; those files can also serve as default ones.
[--SNIP--]
Quoted 1 line
Series applied to master, thanks.
\o/
Quoted 2 lines
While testing this series, I encountered a build issue which is not introduced by those changes, which is why I applied it.
[--SNIP--]
Quoted 7 lines
In file included from vhost_user.h:14,
from passt.h:29,
from qrap.c:36:
virtio.h:13:10: fatal error:linux/vhost_types.h: No such file or
directory13 | #include <linux/vhost_types.h> | ^~~~~~~~~~~~~~~~~~~~~
[--SNIP--]
Quoted 5 lines
So maybe passt needs a dependency on
BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0? I'm a bit surprised as the
https://passt.top/passt/about/ website mention a kernel 3.13 and 4.18 compatibility. So maybe it's an upstream bug which just needs to test for the presence of this header.
Nothing in passt/pasta is configurable; they just build everything. So if there's a bug, it's a documentation bug; they even mention a kernel 3.8 [0]. However, those requirements are, as I read them, runtime requirements, not build-time ones.
So I will send a patch to add a dependency on headers >= 5.0.
[0] https://passt.top/passt/about/#interfaces-and-environment
Regards,
Yann E. MORIN.
Signature · 23 lines
____________ .-----------------.--------------------: _ :------------------. | Yann E. MORIN | Real-Time Embedded | __/ ) | /"\ ASCII RIBBON | | | Software Designer | _/ - /' | \ / CAMPAIGN | | +33 638.411.245 '--------------------: (_ `--, | X AGAINST | | yann.morin (at) orange.com |_=" ,--' | / \ HTML MAIL | '--------------------------------------:______/_____:------------------' ____________________________________________________________________________________________________________ Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci. This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation. If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 2/3 package/skopeo: use containers-image-config files
In reply to [email protected]From: "Yann E. MORIN" <[email protected]>
... and extend the skopeo runtime test to make use of those.
--- package/skopeo/Config.in | 1 + support/testing/tests/package/test_skopeo.py | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+)
package/skopeo/Config.in +1 -0
@@ -8,6 +8,7 @@ config BR2_PACKAGE_SKOPEO depends on !BR2_STATIC_LIBS # lvm2 select BR2_PACKAGE_HOST_GO select BR2_PACKAGE_BTRFS_PROGS + select BR2_PACKAGE_CONTAINERS_IMAGE_CONFIG # runtime select BR2_PACKAGE_LIBGPGME select BR2_PACKAGE_LVM2 help
support/testing/tests/package/test_skopeo.py +20 -0
@@ -32,6 +32,20 @@ class TestSkopeo(infra.basetest.BRTest): bb_info = json.loads("".join(output)) self.assertEqual(bb_info["Name"], "docker.io/library/busybox") + # Then check we can retrieve the image from the default registry + # Copy all archs in the image to check we can enumerate those (inspect + # does not enumerate all archs) + self.assertRunOk( + "skopeo copy -a docker://busybox:latest oci-archive:busybox-latest.oci", + timeout=120, + ) + + # Check we can inspect a local OCI archive + self.assertRunOk( + "skopeo inspect oci-archive:busybox-latest.oci", + timeout=30, + ) + # Now, check we can reach an arbitrary registry: quay.io output, _ = self.emulator.run( "skopeo inspect docker://quay.io/quay/busybox:latest",
@@ -39,3 +53,9 @@ class TestSkopeo(infra.basetest.BRTest): ) skopeo_info = json.loads("".join(output)) self.assertEqual(skopeo_info["Name"], "quay.io/quay/busybox") + + # Finally check we can retrieve the image from an arbitrary registry + self.assertRunOk( + "skopeo copy docker://quay.io/quay/busybox:latest oci-archive:busybox-quay.io-latest.oci", + timeout=120, + )
Signature · 18 lines
2.34.1 ____________________________________________________________________________________________________________ Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci. This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation. If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 3/3 package/distribution-registry: new package
In reply to [email protected]From: "Yann E. MORIN" <[email protected]>
This package provides a reference, functional implementation of a registry for distributing container images. Formerly the Docker registry, it now also handles OCI images, so can be used to distribute all kinds of container related images: classic Docker images, OCI images, but also helms [0] and the likes, which are also packages as OCI images in fact.
The upstream name of the package is just "distribution" [1], but this is a bit too generic and unsearchable; distributions like Debian and Ubuntu traditionally provides it as the "docker-registry" package, but this is now misleading as it is not just for Docker anymore. So we decided to name it "distribution-registry": it contains the upstream name and will be searchable with the 'registry' part as well.
The built executable is named "registry", which is also a bit too generic. Again, for the same reasons as above, we name it "distribution-registry"; this also incidentally makes our golang-package infra "just work" and do the right thing when it installs the package.
The upstream package provides a wrapper Makefile to build the package, but it does not do more than our infra already does; the only little nit is that it allows updating the version file (with git infra et al.). We can just ignore that and update the version ourselves.
We also provide a minimalist configuration file: it exposes the registry to localhost only, as a security measure. This file will have to be overridden (e.g. in a rootfs-overlay) with proper authentication, and with further locally meaningful setup anyway.
Finally, we also implement a run-time test that validates that we can push and pull images to/from the registry. Since the registry is a big go package, it takes time to start, so wait for it a little bit (and yet a little bit more after it starts logging), and increase the timeouts for commands that deal with the registry.
For this simple test, the registry is directly exposed with plain HTTP, not HTTPS, so we must declare it as insecure, so that container tools can reach it without custom options (e.g. without using skopeo's --{src,dest}-tls-verify=false options).
We re-use skopeo to talk to the registry. This allows us to grab an image from the Docker hub registry, and push it to our local registry, then retrieve it back. Since we want to diffferentiate failures to grab the image from the Docker Hub [2], from failures to push to our registry, we do it in two steps: copy from Docker Hub to a local OCI image, then push that to our registry.
Since both distribution-registry and skopeo are big go-based, statically linked binaries, running both in the standard virtual machine does not
work: the 256MiB emulated in vexpress are not enough and cause segfaults when running both at once. The vexpress also only accepts at most 256MiB, so we must use another machine; we decided to use the same as is used by the podman teest case, which allows at least 1Gib, which is now enough.
[0] https://helm.sh/
[1] https://github.com/distribution/distribution
[2] in case we reach the 100-pulls-a-day limitation
---
Changes v1 -> v2:
- rename using the pkg-golan infra's _BIN_NAME and _INSTALL_BINS
- fix flake8 warning in runtime test
--- package/Config.in | 1 + package/distribution-registry/Config.in | 17 ++++ package/distribution-registry/config.yml | 13 +++ .../distribution-registry.hash | 3 + .../distribution-registry.mk | 47 +++++++++ .../distribution-registry.service | 10 ++ .../package/test_distribution_registry.py | 96 +++++++++++++++++++ 7 files changed, 187 insertions(+) create mode 100644 package/distribution-registry/Config.in create mode 100644 package/distribution-registry/config.yml create mode 100644 package/distribution-registry/distribution-registry.hash create mode 100644 package/distribution-registry/distribution-registry.mk create mode 100644 package/distribution-registry/distribution-registry.service create mode 100644 support/testing/tests/package/test_distribution_registry.py
package/Config.in +1 -0
@@ -2855,6 +2855,7 @@ menu "System tools" source "package/dcron/Config.in" source "package/ddrescue/Config.in" source "package/debianutils/Config.in" + source "package/distribution-registry/Config.in" source "package/docker-cli/Config.in" source "package/docker-cli-buildx/Config.in" source "package/docker-compose/Config.in"
package/distribution-registry/Config.in new file +17 -0
@@ -0,0 +1,17 @@ +config BR2_PACKAGE_DISTRIBUTION_REGISTRY + bool "distribution-registry" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + help + The toolkit to pack, ship, store, and deliver container + content. + + The goal of this project is to provide a simple, secure, and + scalable base for building a large scale registry solution or + running a simple private registry. It is a core library for + many registry operators including Docker Hub, GitHub Container + Registry, GitLab Container Registry and DigitalOcean Container + Registry, as well as the CNCF Harbor Project, and VMware + Harbor Registry. + + https://github.com/distribution/distribution
package/distribution-registry/config.yml new file +13 -0
@@ -0,0 +1,13 @@ +version: 0.1 +storage: + cache: + blobdescriptor: inmemory + filesystem: + rootdirectory: /var/lib/docker-registry + delete: + enabled: true +http: + addr: 127.0.0.1:5000 + net: tcp + headers: + X-Content-Type-Options: [nosniff]
package/distribution-registry/distribution-registry.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally computed +sha256 6330e6b625c0232b43cee8ea32800a660a7d7a0c79f4f53e4d9a8a6707138d46 distribution-registry-v3.0.0-git4-go2.tar.gz +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE
package/distribution-registry/distribution-registry.mk new file +47 -0
47 lines not on this page · raw message
package/distribution-registry/distribution-registry.service new file +10 -0
@@ -0,0 +1,10 @@ +[Unit] +Description=Distribution registry +After=network.target + +[Service] +User=distribution-registry +ExecStart=/usr/bin/distribution-registry serve /etc/docker/registry/config.yml + +[Install] +WantedBy=multi-user.target
support/testing/tests/package/test_distribution_registry.py new file +96 -0
96 lines not on this page · raw message
Signature · 18 lines
2.34.1 ____________________________________________________________________________________________________________ Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration, Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci. This message and its attachments may contain confidential or privileged information that may be protected by law; they should not be distributed, used or copied without authorisation. If you have received this email in error, please notify the sender and delete this message and its attachments. As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified. Thank you. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot