Skip to content

eve-core: enable EROFS + DM_VERITY for split-rootfs#248

Draft
eriknordmark wants to merge 1 commit into
lf-edge:eve-kernel-amd64-v6.12.49-genericfrom
eriknordmark:split-erofs-verity
Draft

eve-core: enable EROFS + DM_VERITY for split-rootfs#248
eriknordmark wants to merge 1 commit into
lf-edge:eve-kernel-amd64-v6.12.49-genericfrom
eriknordmark:split-erofs-verity

Conversation

@eriknordmark

Copy link
Copy Markdown

The split-rootfs feature delivers EVE's non-critical services in a separate
Extension image — an EROFS filesystem, dm-verity protected — that
extsloader opens with veritysetup and mounts read-only at /persist/exts.
The stock eve-core_defconfig enables neither EROFS nor dm-verity, so on a
stock-kernel build the Extension cannot mount; an OTA to a split image then
fails the extension-readiness check and the device rolls back to the previous
image.

This enables the three options the feature needs in arch/x86/configs/eve-core_defconfig:

  • CONFIG_EROFS_FS and CONFIG_EROFS_FS_ZIP — the Extension is built
    lz4hc-compressed (mkfs.erofs -zlz4hc), so the ZIP/decompression support is
    required to mount it.
  • CONFIG_DM_VERITY — the device-mapper base (CONFIG_MD, CONFIG_BLK_DEV_DM)
    and SHA-256 were already present.

Validated end-to-end on amd64/QEMU: with this kernel, extsloader reaches
ready, the verity device opens and the EROFS extension mounts, and an OTA from
an old (300 MB-partition) image to the split/universal image passes the
extension-readiness gate instead of rolling back.

amd64 (eve-core_defconfig) only; the arm64 equivalent is a follow-up.
Opening as draft alongside the in-progress split-rootfs EVE work.

🤖 Generated with Claude Code

Add CONFIG_EROFS_FS=y, CONFIG_EROFS_FS_ZIP=y (LZ4 decompression for the
lz4hc-compressed Extension image) and CONFIG_DM_VERITY=y so extsloader can
veritysetup-open and mount the split-rootfs Extension. Device-mapper base
(CONFIG_MD, CONFIG_BLK_DEV_DM) and CRYPTO_SHA256 were already present.

Signed-off-by: eriknordmark <erik@zededa.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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