Pre-built inxware EHS Kernel archives — the event-handling core that
ert-components links against.
One directory per target ABI:
<arch-os-key>/kernel/libehs.a SODL v0
<arch-os-key>/kernel/libehs_ehrt1.a SODL v1 (eRT1 — use this for new work)
The EHS Kernel is proprietary, unlike the rest of the inxware runtime stack. These binaries may be used and distributed on up to ten devices, commercial or non-commercial, at no charge. Beyond that, a licence is required from inx limited or an authorised vendor. See LICENCE.md.
ert-components itself is published under the LGPL v3.0 and is unaffected by
these terms.
Check this repository out alongside ert-components, as a sibling:
your-workspace/
├── ert-components/
├── ert-kernels/ ← here
├── ert-build-support/
└── ert-contrib-middleware/
The build finds it automatically. ert-components resolves the path through
EHS_KERNEL_BASE, which defaults to ../ert-kernels; set that variable if you
keep it elsewhere. If this repository is absent the build falls back to the older
location inside ert-build-support, so an existing checkout keeps working.
Confirm which archive your target resolves to with:
./configure <target>
make chkconfig # prints the EHS KERNEL path it will linkThe directory name is the key ert-components derives as EHS_GNU_OS_ARCH —
<arch>-<os>[<target-lib-variant>], for example:
| Key | Target |
|---|---|
x86_64-linux-gnu-clang10_clang10 |
64-bit Linux, clang |
arm64-linux-gnu-clang19_debian13 |
64-bit ARM, Debian 13 |
xtensa-esp32s3_freertos |
ESP32-S3 / FreeRTOS |
arm-zephyr-cortexm4 |
Zephyr, Cortex-M4 |
arm_mbednano-arduino |
Arduino Nano 33 BLE |
You do not normally choose one by hand — the target's config.mk determines it.
These archives previously lived inside ert-build-support, alongside several
gigabytes of static cross-toolchains. They are ~47 MB, and they are the part that
actually changes: every commit to that repository over the preceding eighteen
months was a kernel refresh. Separating them means a kernel update no longer
obliges anyone to fetch a multi-gigabyte tree.
There is deliberately no git-LFS here. At this size, plain git is simpler and avoids the bandwidth costs that motivated the split.
Nothing in this repository is hand-edited — the archives are build output,
produced by inx and copied here. Issues about the kernel are welcome; changes
to how it is used belong in
ert-components.