btrfs: stop forcing the boot set uncompressed - #130
Open
Yury-MonZon wants to merge 1 commit into
Open
Conversation
The u-boot zstd import (1.5.7) lets u-boot read zstd-compressed btrfs extents, so the kernel/initrd/dtb/dtbo no longer need to be stored uncompressed for the bootloader to read them. Remove the compression=none forcing at every site: - flipper-bls.sh: drop the uncompress() helper (no callers left) - 55-flipper-initrd.install: drop the modules-dir property set and the vmlinuz rewrite; the initrd move is unchanged - debian-rk3576-img.yaml: drop the /boot compression=none property New boot files now inherit the filesystem default (compress=zstd). Incompressible payloads (vmlinuz, initrd) stay raw; the dtb/dtbo and the BLS loader entries compress.
alchark
approved these changes
Jul 21, 2026
alchark
left a comment
Collaborator
There was a problem hiding this comment.
LGTM, but merging depends on flipperdevices/u-boot#37 (via upstream ideally)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Stop forcing the boot set uncompressed now that U-Boot can read zstd-compressed btrfs extents.
flipper-bls.sh: drop theuncompress()helper (no callers left)55-flipper-initrd.install: drop the modules-dircompression=noneand the vmlinuz rewrite; the initrd move is unchangeddebian-rk3576-img.yaml: drop the/bootcompression=nonepropertyNew boot files inherit the filesystem default (
compress=zstd). Compressible files (dtb, dtbo, BLS loader entries) are stored zstd; vmlinuz/initrd stay raw since they are already image-compressed containers.Why
The forced-uncompress worked around U-Boot's old zstd failing to read small files that btrfs stores as inline extents (the dtbo overlays and loader entries went through the inline decode path). That is fixed by the u-boot zstd 1.5.7 import in flipperdevices/u-boot#37.
Validation (RK3576, on hardware)
Fresh build from this branch running u-boot with flipperdevices/u-boot#37:
compression=noneon any boot dir; dtb / dtbo / loader entries stored zstd@No-Graphicswith a compressed base dtb, a compressedrk3576-no-graphics.dtbo(read and applied), and compressed BLS loader entriesBoot log and full details in flipperdevices/u-boot#37.