Lines Matching +full:zephyr +full:- +full:bugs +full:-

1 .. _bin-blobs:
12 Zephyr supports downloading and using third-party binary blobs via its built-in
15 `upstream (vanilla) Zephyr <https://github.com/zephyrproject-rtos/zephyr>`_.
18 the support for binary blobs in forks or third-party distributions of Zephyr. In
19 fact, Zephyr’s build system supports arbitrary use cases related to blobs. This
21 therefore free to create Zephyr-based downstream software which uses binary
30 click-through or other EULA-like workflow when users fetch and install blobs.
35 Blobs must be hosted on the Internet and managed by third-party infrastructure.
39 The Zephyr Project does not host binary blobs in its Git repositories or
45 Blobs are fetched from official third-party sources by the :ref:`west blobs
46 <west-blobs>` command.
49 <modules-bin-blobs>` files included in separate Zephyr :ref:`module repositories
51 include a reference to a binary blob to the upstream Zephyr distribution, a
58 - An abstract description of the blob itself
59 - Version information
60 - A reference to vendor-provided documentation
61 - The blob’s :ref:`type <bin-blobs-types>`, which must be one of the allowed types
62 - A checksum for the blob, which ``west blobs`` checks after downloading.
65 - License text applicable to the blob or a reference to such text, in SPDX
68 See the :ref:`corresponding section <modules-bin-blobs>` for a more formal
71 The :ref:`west blobs <west-blobs>` command can be used to list metadata of
72 available blobs and to fetch blobs from user-selected modules.
81 Inclusion of binary blobs will taint the Zephyr build. The definition of
83 <https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html>`_ and,
84 in the context of Zephyr, a tainted image will be one that includes binary blobs
89 - One or more Kconfig options ``TAINT_BLOBS_*`` will be set to ``y``
90 - The Zephyr build system, during its configuration phase, will issue a warning.
92 - The ``west spdx`` command will include the tainted status in its output
93 - The kernel's default fatal error handler will also explicitly print out the
95 - The boot banner prints the kernel's tainted status
97 .. _bin-blobs-types:
102 The following binary blob types are acceptable in Zephyr:
111 * Miscellaneous binary data files. An example could be pre-trained neural
120 reasons on a case by case basis (see library-specific requirements below).
124 Precompiled library-specific requirements
139 distributed under a non-copyleft OSI approved license, that define the interface
148 * The blob must not depend on Zephyr APIs directly. In other words, it must have
149 been possible to build the binary without any Zephyr source code present at
150 all. This is required for loose coupling and maintainability, since Zephyr
153 provided by Zephyr (or an RTOS in general), an implementation of an OS
162 can be linked by a toolchain supported by the Zephyr Project. This is required
171 which the upstream Zephyr software distribution is open source. As an extreme
172 example, a target with a zephyr kernel clock driver that is just a porting layer
181 - :file:`samples/philosophers`
182 - :file:`tests/kernel`
186 for any target with upstream Zephyr support.
194 The Zephyr Project is not expected to be responsible for the maintenance and
196 Zephyr Project release team, and on a case-by-case basis:
198 - GitHub issues reported on the zephyr repository tracker that require use of
199 blobs to reproduce may not be treated as bugs
200 - Such issues may be closed as out of scope of the Zephyr project
203 without investigation. For example, the issue may be exposing a bug in a Zephyr
208 able to determine if a given issue is due to a bug in Zephyr or the blob itself,
213 of the Zephyr Project release team, module revisions referencing blobs may be
214 removed from :file:`zephyr/west.yml` at any time due to lack of responsiveness or
216 over bit-rot, security issues, etc.
227 .. _blobs-process:
238 issue in the Zephyr project issue tracking system on GitHub with details
243 #. Make sure to read through the :ref:`bin-blobs` section in
247 <new?assignees=&labels=RFC&template=008_bin-blobs.md&title=>` to open an issue