Skip to content

Bump Hailo-8 driver/firmware to v4.23.0 and add Hailo-10H support#4690

Draft
mikehailodev wants to merge 1 commit into
home-assistant:devfrom
mikehailodev:feature/hailo-10h-and-bump
Draft

Bump Hailo-8 driver/firmware to v4.23.0 and add Hailo-10H support#4690
mikehailodev wants to merge 1 commit into
home-assistant:devfrom
mikehailodev:feature/hailo-10h-and-bump

Conversation

@mikehailodev
Copy link
Copy Markdown

@mikehailodev mikehailodev commented May 7, 2026

Hailo-8/8L (hailo_pci kernel module):

  • Bump hailo-pci driver from v4.21.0 to v4.23.0
  • Bump hailo8-firmware from 4.21.0 to 4.23.0
  • Keep mmap_read_lock patch (still needed for v4.23.0)

Hailo-10H (hailo1x_pci kernel module, NEW):

  • Add hailo10h-pci driver package (v5.3.0, master branch)
  • Add hailo10h-firmware package (v5.3.0, multi-stage boot firmware)
  • Firmware installed to /lib/firmware/hailo/hailo10h/

Both driver families coexist: hailo_pci (v4.x, hailo8 branch) handles Hailo-8/8R/8L devices, hailo1x_pci (v5.x, master branch) handles Hailo-10H/15L/12L devices. They produce different kernel modules and bind to different PCI device IDs.

Upstream driver repo: https://github.com/hailo-ai/hailort-drivers

  • hailo8 branch (v4.x): Hailo-8/8R/8L
  • master branch (v5.x): Hailo-10H/15L/12L

Note: This merge should be coordinated with the corresponding Frigate PR (unified Hailo detector with dual-HailoRT support). HailoRT requires an exact version match between kernel driver and userspace library - if the OS ships driver v4.23.0 before Frigate bundles HailoRT v4.23.0, the detector will gracefully disable due to version mismatch. The Frigate PR maintains full backwards compatibility with existing user configurations (no config changes required).

Disclosure: Contributed by Hailo. We're happy to address review feedback and coordinate merge timing.

Summary by CodeRabbit

Release Notes

  • New Features

    • Added support for Hailo-10H firmware and PCIe driver across multiple platform configurations.
  • Updates

    • Updated Hailo firmware version to 4.23.0.
    • Updated Hailo PCI driver to v4.23.0.

Copy link
Copy Markdown

@home-assistant home-assistant Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @mikehailodev

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 7, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 0fa0b9ed-9360-4158-b858-3f5d85cde4ab

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR adds support for Hailo-10H PCIe devices by introducing new buildroot external packages for Hailo10H firmware and a PCI kernel driver, updates existing Hailo package versions from 4.21.0 to 4.23.0, and enables these new packages across multiple device configurations.

Changes

Hailo-10H Device Support Integration

Layer / File(s) Summary
New Package Declarations
buildroot-external/package/hailo10h-firmware/Config.in, buildroot-external/package/hailo10h-pci/Config.in
Two new Buildroot Kconfig entries define BR2_PACKAGE_HAILO10H_FIRMWARE and BR2_PACKAGE_HAILO10H_PCI options with dependencies and help text.
New Package Build Definitions
buildroot-external/package/hailo10h-firmware/hailo10h-firmware.mk, hailo10h-firmware.hash, buildroot-external/package/hailo10h-pci/hailo10h-pci.mk, hailo10h-pci.hash
Makefile and hash entries define version (5.3.0), source locations, extract/install commands, and license metadata for both new Hailo10H packages.
Build System Integration
buildroot-external/Config.in
Main Config.in now sources the two new package configuration files and reorders hailo-pci entry within the package configuration list.
Related Package Version Updates
buildroot-external/package/hailo-pci/hailo-pci.mk, hailo-pci.hash, buildroot-external/package/hailo8-firmware/hailo8-firmware.mk, hailo8-firmware.hash
hailo-pci and hailo8-firmware versions are bumped from 4.21.0 to 4.23.0, with corresponding hash values updated.
Device Configuration Enablement
buildroot-external/configs/generic_aarch64_defconfig, generic_x86_64_defconfig, ova_defconfig, rpi5_64_defconfig, yellow_defconfig
Five defconfig files are updated to enable BR2_PACKAGE_HAILO10H_FIRMWARE=y and BR2_PACKAGE_HAILO10H_PCI=y alongside existing Hailo package selections. rpi5_64_defconfig switches from generic BR2_PACKAGE_HAILO_PCI to specific BR2_PACKAGE_HAILO10H_PCI.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 Buildroot now blooms with Hailo-10H,
New firmware and drivers in harmony dance,
Five devices now ready for Hailo's advance,
Version bumps bring stability's sweet glance!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately summarizes the main changes: bumping Hailo-8 driver/firmware to v4.23.0 and adding new Hailo-10H support, which are the primary objectives reflected across all modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sairon sairon marked this pull request as ready for review May 7, 2026 10:47
@sairon sairon marked this pull request as draft May 7, 2026 10:47
@mikehailodev
Copy link
Copy Markdown
Author

mikehailodev commented May 7, 2026

@sairon

  1. CLA is being handled by our corporate admin - we are working on it.
  2. Draft status will be released once we will submit the adjacent Frigate PR.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@buildroot-external/package/hailo10h-firmware/hailo10h-firmware.mk`:
- Around line 7-10: The HAILO10H firmware package sets HAILO10H_FIRMWARE_LICENSE
= PROPRIETARY but is missing HAILO10H_FIRMWARE_REDISTRIBUTE = NO, causing
Buildroot to treat the firmware tarball as redistributable; add the variable
HAILO10H_FIRMWARE_REDISTRIBUTE = NO to the hailo10h-firmware.mk file (next to
HAILO10H_FIRMWARE_LICENSE) so Buildroot’s legal-info skips archiving the
proprietary source, and apply the same change for the corresponding
hailo8-firmware.mk package (use the package-specific prefix
HAILO8_FIRMWARE_REDISTRIBUTE = NO).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 7e7a298c-2e9e-4804-a987-78d81c14666a

📥 Commits

Reviewing files that changed from the base of the PR and between 4929fdd and 9b239a6.

📒 Files selected for processing (16)
  • buildroot-external/Config.in
  • buildroot-external/configs/generic_aarch64_defconfig
  • buildroot-external/configs/generic_x86_64_defconfig
  • buildroot-external/configs/ova_defconfig
  • buildroot-external/configs/rpi5_64_defconfig
  • buildroot-external/configs/yellow_defconfig
  • buildroot-external/package/hailo-pci/hailo-pci.hash
  • buildroot-external/package/hailo-pci/hailo-pci.mk
  • buildroot-external/package/hailo10h-firmware/Config.in
  • buildroot-external/package/hailo10h-firmware/hailo10h-firmware.hash
  • buildroot-external/package/hailo10h-firmware/hailo10h-firmware.mk
  • buildroot-external/package/hailo10h-pci/Config.in
  • buildroot-external/package/hailo10h-pci/hailo10h-pci.hash
  • buildroot-external/package/hailo10h-pci/hailo10h-pci.mk
  • buildroot-external/package/hailo8-firmware/hailo8-firmware.hash
  • buildroot-external/package/hailo8-firmware/hailo8-firmware.mk

Comment on lines +7 to +10
HAILO10H_FIRMWARE_VERSION = 5.3.0
HAILO10H_FIRMWARE_LICENSE = PROPRIETARY
HAILO10H_FIRMWARE_SOURCE = hailo10h_fw.tar.gz
HAILO10H_FIRMWARE_SITE = https://hailo-hailort.s3.eu-west-2.amazonaws.com/Hailo10H/$(HAILO10H_FIRMWARE_VERSION)/FW
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check whether hailo8-firmware.mk sets REDISTRIBUTE = NO for comparison,
# and confirm hailo10h-firmware.mk is missing it.
rg -n "REDISTRIBUTE" --type=make

Repository: home-assistant/operating-system

Length of output: 57


🏁 Script executed:

# Locate the firmware package files
fd -type f -name "*firmware.mk" | head -20

Repository: home-assistant/operating-system

Length of output: 246


🏁 Script executed:

# Also check the directory structure to understand the layout
fd -type d -name "buildroot-external" | head -5

Repository: home-assistant/operating-system

Length of output: 246


🏁 Script executed:

# Locate the firmware package files
fd -t f "firmware.mk"

Repository: home-assistant/operating-system

Length of output: 203


🏁 Script executed:

# Check the buildroot-external directory structure
fd -t d "buildroot-external"

Repository: home-assistant/operating-system

Length of output: 95


🏁 Script executed:

# Read hailo10h-firmware.mk to check current state
cat buildroot-external/package/hailo10h-firmware/hailo10h-firmware.mk

Repository: home-assistant/operating-system

Length of output: 872


🏁 Script executed:

# Read hailo8-firmware.mk to check if it has REDISTRIBUTE = NO
cat buildroot-external/package/hailo8-firmware/hailo8-firmware.mk

Repository: home-assistant/operating-system

Length of output: 908


Add HAILO10H_FIRMWARE_REDISTRIBUTE = NO for this proprietary package.

Per Buildroot's own legal-info documentation, "the source code for packages that set _REDISTRIBUTE = NO will not be saved" when running make legal-info. Without this declaration, Buildroot will attempt to archive the proprietary firmware tarball from the S3 bucket into the legal-info sources directory — incorrectly treating it as redistributable content.

The standard Buildroot pattern for proprietary packages is to pair LICENSE = PROPRIETARY with REDISTRIBUTE = NO. Note that hailo8-firmware.mk also lacks this declaration and has the same vulnerability.

🛡️ Proposed fix
 HAILO10H_FIRMWARE_VERSION = 5.3.0
 HAILO10H_FIRMWARE_LICENSE = PROPRIETARY
+HAILO10H_FIRMWARE_REDISTRIBUTE = NO
 HAILO10H_FIRMWARE_SOURCE = hailo10h_fw.tar.gz
 HAILO10H_FIRMWARE_SITE = https://hailo-hailort.s3.eu-west-2.amazonaws.com/Hailo10H/$(HAILO10H_FIRMWARE_VERSION)/FW
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
HAILO10H_FIRMWARE_VERSION = 5.3.0
HAILO10H_FIRMWARE_LICENSE = PROPRIETARY
HAILO10H_FIRMWARE_SOURCE = hailo10h_fw.tar.gz
HAILO10H_FIRMWARE_SITE = https://hailo-hailort.s3.eu-west-2.amazonaws.com/Hailo10H/$(HAILO10H_FIRMWARE_VERSION)/FW
HAILO10H_FIRMWARE_VERSION = 5.3.0
HAILO10H_FIRMWARE_LICENSE = PROPRIETARY
HAILO10H_FIRMWARE_REDISTRIBUTE = NO
HAILO10H_FIRMWARE_SOURCE = hailo10h_fw.tar.gz
HAILO10H_FIRMWARE_SITE = https://hailo-hailort.s3.eu-west-2.amazonaws.com/Hailo10H/$(HAILO10H_FIRMWARE_VERSION)/FW
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@buildroot-external/package/hailo10h-firmware/hailo10h-firmware.mk` around
lines 7 - 10, The HAILO10H firmware package sets HAILO10H_FIRMWARE_LICENSE =
PROPRIETARY but is missing HAILO10H_FIRMWARE_REDISTRIBUTE = NO, causing
Buildroot to treat the firmware tarball as redistributable; add the variable
HAILO10H_FIRMWARE_REDISTRIBUTE = NO to the hailo10h-firmware.mk file (next to
HAILO10H_FIRMWARE_LICENSE) so Buildroot’s legal-info skips archiving the
proprietary source, and apply the same change for the corresponding
hailo8-firmware.mk package (use the package-specific prefix
HAILO8_FIRMWARE_REDISTRIBUTE = NO).

Copy link
Copy Markdown
Member

@sairon sairon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the contribution! There are some linter nits which need to be addressed but formally it looks sound otherwise. The biggest issue is that it doesn't build for ova:

>>> hailo10h-pci v5.3.0 Building kernel module(s)
GIT_DIR=. PATH="/build/output_ova/host/bin:/build/output_ova/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" PKG_CONFIG="/build/output_ova/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/build/output_ova/host/lib/pkgconfig:/build/output_ova/host/share/pkgconfig" BR_BINARIES_DIR=/build/output_ova/images /usr/bin/make -j33 -C /build/output_ova/build/linux-6.18.26 HOSTCC="/build/output_ova/host/bin/ccache /usr/bin/gcc -O2 -isystem /build/output_ova/host/include -L/build/output_ova/host/lib -Wl,-rpath,/build/output_ova/host/lib" ARCH=x86_64 KCFLAGS="-Wno-attribute-alias" INSTALL_MOD_PATH=/build/output_ova/target CROSS_COMPILE="/build/output_ova/host/bin/x86_64-buildroot-linux-gnu-" WERROR=0 REGENERATE_PARSERS=1 DEPMOD=/build/output_ova/host/sbin/depmod INSTALL_MOD_STRIP=1  PWD=/build/output_ova/build/hailo10h-pci-v5.3.0/linux/pcie M=/build/output_ova/build/hailo10h-pci-v5.3.0/linux/pcie modules
make[2]: Entering directory '/build/output_ova/build/linux-6.18.26'
make[3]: Entering directory '/build/output_ova/build/hailo10h-pci-v5.3.0/linux/pcie'
  CC [M]  src/pcie.o
  CC [M]  src/fops.o
  CC [M]  src/sysfs.o
  CC [M]  src/nnc.o
  CC [M]  src/soc.o
  CC [M]  ../../common/fw_validation.o
  CC [M]  ../../common/fw_operation.o
  CC [M]  ../../common/pcie_common.o
  CC [M]  ../../common/vdma_common.o
  CC [M]  ../../common/hailo_resource.o
  CC [M]  ../utils/logs.o
  CC [M]  ../vdma/vdma.o
  CC [M]  ../vdma/memory.o
  CC [M]  ../vdma/monitor.o
  CC [M]  ../vdma/ioctl.o
../vdma/monitor.c: In function 'hailo_vdma_monitor_stop':
../vdma/monitor.c:53:5: error: implicit declaration of function 'del_timer_sync' [-Werror=implicit-function-declaration]
   53 |     del_timer_sync(&monitor->timer);
      |     ^~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[5]: *** [/build/output_ova/build/linux-6.18.26/scripts/Makefile.build:287: ../vdma/monitor.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [/build/output_ova/build/linux-6.18.26/Makefile:2021: .] Error 2
make[3]: *** [/build/output_ova/build/linux-6.18.26/Makefile:248: __sub-make] Error 2
make[3]: Leaving directory '/build/output_ova/build/hailo10h-pci-v5.3.0/linux/pcie'
make[2]: *** [Makefile:248: __sub-make] Error 2
make[2]: Leaving directory '/build/output_ova/build/linux-6.18.26'
make[1]: *** [package/pkg-generic.mk:274: /build/output_ova/build/hailo10h-pci-v5.3.0/.stamp_built] Error 2
make[1]: Leaving directory '/build/buildroot'
make: *** [Makefile:42: default] Error 2

The driver will need some changes for 6.18 kernel, as del_timer_sync is not defined there. It builds fine for Raspberry Pi which is still on 6.12 but it will be switching to 6.18 soon too.

I'm not able to test it myself, as I don't have AI HAT 2/Hailo 10H available. Have you done some testing, and if so, on what setup?

@sairon
Copy link
Copy Markdown
Member

sairon commented May 7, 2026

del_timer_sync is an alias to timer_delete_sync since this commit in 6.2, removed in 6.15. So it can be simply replaced or conditionally used for 6.2 onward. The driver builds with for 6.18 with that change.

Hailo-8/8L (hailo_pci kernel module):
- Bump hailo-pci driver from v4.21.0 to v4.23.0
- Bump hailo8-firmware from 4.21.0 to 4.23.0
- Keep mmap_read_lock patch (still needed for v4.23.0)

Hailo-10H (hailo1x_pci kernel module, NEW):
- Add hailo10h-pci driver package (v5.3.0, master branch)
- Add hailo10h-firmware package (v5.3.0, multi-stage boot firmware)
- Firmware installed to /lib/firmware/hailo/hailo10h/
- Patch del_timer_sync -> timer_delete_sync for Linux 6.16+ compat

Both driver families coexist: hailo_pci (v4.x, hailo8 branch) handles
Hailo-8/8R/8L devices, hailo1x_pci (v5.x, master branch) handles Hailo-10H/15L/12L
devices. They produce different kernel modules and bind to different PCI device IDs.

Upstream driver repo: https://github.com/hailo-ai/hailort-drivers
- hailo8 branch (v4.x): Hailo-8/8R/8L
- master branch (v5.x): Hailo-10H/15L/12L

Fixes:
- Fix hailo10h-pci build on Linux 6.18 (del_timer_sync removed in 6.16)
- Add HAILO10H_FIRMWARE_REDISTRIBUTE = NO for proprietary package
- Fix check-package linter warnings (headers, help text wrapping)
@mikehailodev mikehailodev force-pushed the feature/hailo-10h-and-bump branch from 9b239a6 to fbed70d Compare May 7, 2026 11:18
Copy link
Copy Markdown

@home-assistant home-assistant Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @mikehailodev

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@mikehailodev
Copy link
Copy Markdown
Author

del_timer_sync is an alias to timer_delete_sync since this commit in 6.2, removed in 6.15. So it can be simply replaced or conditionally used for 6.2 onward. The driver builds with for 6.18 with that change.

Thanks for the review @sairon!

All feedback addressed in the force-pushed commit:

Linux 6.18 build fix - Added patch replacing del_timer_sync → timer_delete_sync (unconditional, since HAOS targets ≥6.12). Confirmed it's a direct alias since 6.2, removed in 6.15.

Linter nits - Fixed check-package warnings: added standard 80-hash headers to .mk files, wrapped Config.in help text to ≤62 chars.

HAILO10H_FIRMWARE_REDISTRIBUTE = NO - Added per Buildroot convention for proprietary packages.

Testing: Tested on Raspberry Pi 5 + Hailo-10H (AI HAT+)

@mikehailodev mikehailodev reopened this May 7, 2026
Copy link
Copy Markdown

@home-assistant home-assistant Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @mikehailodev

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@mikehailodev
Copy link
Copy Markdown
Author

@sairon We'd like to send you a Hailo-10H module so you can test directly. Could you reach me via private message on the Hailo Community Forum (Michael) We'll coordinate shipping. Thanks,
https://community.hailo.ai/

Copy link
Copy Markdown
Member

@sairon sairon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, this will need more changes :( The hailo10h-firmware package is too bloated to even fit to the rootfs partition on ova target (x86-64 will be even worse):

part hassos-system0 size (268435456) too small for /build/output_ova/images/rootfs.erofs (294191104)

The biggest contributor is the image-fs file which is almost 100M:

$ ls -lah output_ova/target/usr/lib/firmware/hailo/hailo10h
total 108M
drwxr-xr-x 2 builder builder 4.0K May  7 10:53 .
drwxr-xr-x 3 builder builder 4.0K May  7 11:13 ..
-rw-r--r-- 1 builder builder 2.6K May  7 10:53 customer_certificate.bin
-rw-r--r-- 1 builder builder  11M May  7 10:53 fitImage
-rw-r--r-- 1 builder builder  96M May  7 10:53 image-fs
-rw-r--r-- 1 builder builder 199K May  7 10:53 scu_fw.bin
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-0.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-1.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-10.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-11.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-12.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-13.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-14.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-3.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-4.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-5.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-6.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-9.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-default.dtb.signed
-rw-r--r-- 1 builder builder  86K May  7 10:53 u-boot-spl.bin

Any chance it could be slimmed down?

@mikehailodev
Copy link
Copy Markdown
Author

Actually, this will need more changes :( The hailo10h-firmware package is too bloated to even fit to the rootfs partition on ova target (x86-64 will be even worse):

part hassos-system0 size (268435456) too small for /build/output_ova/images/rootfs.erofs (294191104)

The biggest contributor is the image-fs file which is almost 100M:

$ ls -lah output_ova/target/usr/lib/firmware/hailo/hailo10h
total 108M
drwxr-xr-x 2 builder builder 4.0K May  7 10:53 .
drwxr-xr-x 3 builder builder 4.0K May  7 11:13 ..
-rw-r--r-- 1 builder builder 2.6K May  7 10:53 customer_certificate.bin
-rw-r--r-- 1 builder builder  11M May  7 10:53 fitImage
-rw-r--r-- 1 builder builder  96M May  7 10:53 image-fs
-rw-r--r-- 1 builder builder 199K May  7 10:53 scu_fw.bin
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-0.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-1.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-10.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-11.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-12.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-13.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-14.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-3.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-4.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-5.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-6.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-9.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-default.dtb.signed
-rw-r--r-- 1 builder builder  86K May  7 10:53 u-boot-spl.bin

Any chance it could be slimmed down?

I just tried to build OVA and saw it too - on it...

@mikehailodev
Copy link
Copy Markdown
Author

Actually, this will need more changes :( The hailo10h-firmware package is too bloated to even fit to the rootfs partition on ova target (x86-64 will be even worse):

part hassos-system0 size (268435456) too small for /build/output_ova/images/rootfs.erofs (294191104)

The biggest contributor is the image-fs file which is almost 100M:

$ ls -lah output_ova/target/usr/lib/firmware/hailo/hailo10h
total 108M
drwxr-xr-x 2 builder builder 4.0K May  7 10:53 .
drwxr-xr-x 3 builder builder 4.0K May  7 11:13 ..
-rw-r--r-- 1 builder builder 2.6K May  7 10:53 customer_certificate.bin
-rw-r--r-- 1 builder builder  11M May  7 10:53 fitImage
-rw-r--r-- 1 builder builder  96M May  7 10:53 image-fs
-rw-r--r-- 1 builder builder 199K May  7 10:53 scu_fw.bin
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-0.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-1.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-10.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-11.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-12.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-13.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-14.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-3.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-4.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-5.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-6.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-9.dtb.signed
-rw-r--r-- 1 builder builder  29K May  7 10:53 u-boot-default.dtb.signed
-rw-r--r-- 1 builder builder  86K May  7 10:53 u-boot-spl.bin

Any chance it could be slimmed down?

I just tried to build OVA and saw it too - on it...

@sairon Am I correct here? Total space is 256MB, 189MB already used and 67MB left, and we're bringing in FW of size 108MB. If we could theoretically slim it down to under 67MB - would that be acceptable? Thx

@sairon
Copy link
Copy Markdown
Member

sairon commented May 11, 2026

@mikehailodev I'm afraid that won't be enough - it would be still a problem on generic-x86-64 target, where we only have ~10M headroom (and some of it will be taken by #4611 in OS 18.0). Such big "firmware" is quite unprecedented compared to standard Linux drivers, does it really need to be present during probing or could the provisioning be delayed to later stage?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants