Skip to content

packer: include lib/firmware from kernel package in root filesystem#99

Open
phaus wants to merge 2 commits intogokrazy:mainfrom
consolving:feature/include-lib-firmware
Open

packer: include lib/firmware from kernel package in root filesystem#99
phaus wants to merge 2 commits intogokrazy:mainfrom
consolving:feature/include-lib-firmware

Conversation

@phaus
Copy link
Copy Markdown

@phaus phaus commented Apr 18, 2026

Summary

  • Include lib/firmware/ from the kernel package directory in the root filesystem, alongside the existing lib/modules/ support.
  • Firmware files are only included if the lib/firmware/ directory exists in the kernel package; otherwise nothing changes.

Motivation

Linux drivers that load firmware at runtime (e.g. WiFi drivers like rtl8xxxu) need firmware blobs at /lib/firmware/. Currently, gokrazy only copies lib/modules/ from the kernel package into the root filesystem. There is no way to ship firmware blobs without this change.

The existing FirmwarePackage config field serves a different purpose (Raspberry Pi GPU bootloader blobs) and does not place files under /lib/firmware/.

Testing

Tested on a Banana Pi BPI-R1 (Allwinner A20) with RTL8192CU WiFi. Firmware blobs placed in the kernel package at lib/firmware/rtlwifi/ are correctly included in the root filesystem and loaded by the kernel at runtime.

root added 2 commits April 18, 2026 01:25
Older gokrazy instances do not expose the device-specific update
endpoint, returning HTTP 404. Previously this aborted the entire
OTA update before the A/B partition switch, leaving the device
stuck on the old root filesystem. Treat 404 the same as
ErrUpdateHandlerNotImplemented so the update completes.
@phaus phaus changed the title Feature/include lib firmware packer: include lib/firmware from kernel package in root filesystem Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant