Repository navigation
fix: make custom boot animation survive OTA repacking - #107
Merged
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 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. Comment |
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.
Problem
The custom boot-animation selection can validate and reach the patch helper but still disappear from the installed OTA.
The local adapter currently writes directly into
ext_fs["system"].tree. The pinned helper/AFSR path is metadata-driven: new files need to be created through the helper'sExtFs.mkdir()/ExtFs.open()API so filesystem metadata and SELinux labels are updated alongside the unpacked tree. GrapheneOS does not need to already contain the exact target file, so a direct tree-only addition can be omitted when the image is repacked.There are two adjacent Android compatibility issues:
Fix
Keep the soft-fork boundary in ModOS; do not modify or fork the pinned helper.
productext image from the existing helper API.ExtFs.mkdir()andExtFs.open(), so AFSR metadata/tree/labels stay synchronized./product/media/bootanimation.zip/product/media/bootanimation-dark.zip.tree, and verify both product targets receive the stored runtime archive.Soft-fork scope
This remains a thin ModOS-owned local adapter registered into the pinned helper at build time. No AVBRoot changes and no permanent fork-only adapter changes in
my-avbroot-setup.Related branch audit
Active PRs #96 and #97 both still carry the old tree-direct boot-animation adapter. The same focused fix is being propagated to their head branches so they do not reintroduce the bug if merged later.
PR #96's updater-removal adapter was also reviewed for the same AFSR metadata hazard; it explicitly preflights tree/metadata agreement and removes both the tree file and metadata entry, so no correction is needed there.