Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Android super.img (Dynamic Partitions) format #349

Merged
merged 1 commit into from
Oct 30, 2020

Conversation

tchebb
Copy link
Contributor

@tchebb tchebb commented Oct 16, 2020

The metadata stored by Android at the beginning of a "super" partition, which is what it calls a disk partition that holds one or more Dynamic Partitions. Dynamic Partitions do more or less the same thing that LVM does on Linux, allowing Android to map ranges of non-contiguous extents to a single logical device. This metadata holds that mapping.

sample.zip contains a sample file (super_truncated.img) that I obtained by extracting only the header portion of a "super" partition provided as part of an official Android emulator image.

filesystem/android_super.ksy Outdated Show resolved Hide resolved
filesystem/android_super.ksy Outdated Show resolved Hide resolved
filesystem/android_super.ksy Outdated Show resolved Hide resolved
filesystem/android_super.ksy Outdated Show resolved Hide resolved
filesystem/android_super.ksy Outdated Show resolved Hide resolved
@tchebb tchebb force-pushed the add-android-super branch from 2a00526 to 76ce6ef Compare October 17, 2020 18:55
@tchebb
Copy link
Contributor Author

tchebb commented Oct 17, 2020

Thanks for the review, and congrats on the 0.9 release! I've taken most of your suggestions and also added some shiny new little-endian bit fields to parse various flag fields.

@tchebb tchebb force-pushed the add-android-super branch from 76ce6ef to 5cfd39e Compare October 17, 2020 19:52
@tchebb tchebb force-pushed the add-android-super branch from 5cfd39e to ac5e80c Compare October 17, 2020 22:45
@tchebb tchebb force-pushed the add-android-super branch from ac5e80c to c1fda75 Compare October 18, 2020 09:09
@tchebb
Copy link
Contributor Author

tchebb commented Oct 23, 2020

@generalmimon just in case you missed my last push, this should be ready to review again now with all comments addressed. No rush, though!

filesystem/android_super.ksy Show resolved Hide resolved
filesystem/android_super.ksy Show resolved Hide resolved
filesystem/android_super.ksy Outdated Show resolved Hide resolved
filesystem/android_super.ksy Show resolved Hide resolved
@tchebb tchebb force-pushed the add-android-super branch 3 times, most recently from 473fcbb to e446d85 Compare October 30, 2020 00:26
The metadata stored by Android at the beginning of a "super" partition,
which is what it calls a disk partition that holds one or more Dynamic
Partitions. Dynamic Partitions do more or less the same thing that LVM
does on Linux, allowing Android to map ranges of non-contiguous extents
to a single logical device. This metadata holds that mapping.

Signed-off-by: Thomas Hebb <[email protected]>
@tchebb tchebb force-pushed the add-android-super branch from e446d85 to 6e48d09 Compare October 30, 2020 01:09
Copy link
Member

@generalmimon generalmimon left a comment

Choose a reason for hiding this comment

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

@tchebb Thanks for the contribution, merging in!

@generalmimon generalmimon merged commit 448b7e2 into kaitai-io:master Oct 30, 2020
@tchebb tchebb deleted the add-android-super branch October 30, 2020 17:43
generalmimon added a commit to kaitai-io/kaitai_struct_compiler that referenced this pull request Jul 2, 2022
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.

3 participants