android_packages_modules_Vi.../microdroid/payload
Charisee 668224f6a1 Change request for Rust v1.68.0
error: this `impl` can be derived
  --> packages/modules/Virtualization/microdroid/payload/config/src/lib.rs:90:1
   |
90 | / impl Default for TaskType {
91 | |     fn default() -> TaskType {
92 | |         TaskType::Executable
93 | |     }
94 | | }
   | |_^

bug: 270756468
Test: test_compiler.py
Change-Id: Ibad99d63b88efa8a20e6f618abe7b86159139234
2023-03-03 07:33:19 +00:00
..
config Change request for Rust v1.68.0 2023-03-03 07:33:19 +00:00
include/microdroid
metadata Initial work to make VM config file optional 2022-09-29 13:41:19 +01:00
src/com/android/virt Replace mk_payload with a Java utility 2023-02-15 22:47:40 +09:00
Android.bp Remove unused mk_payload 2023-02-24 07:15:50 +09:00
README.md Remove unused mk_payload 2023-02-24 07:15:50 +09:00
metadata.cc Initial work to make VM config file optional 2022-09-29 13:41:19 +01:00
metadata.proto Replace mk_payload with a Java utility 2023-02-15 22:47:40 +09:00
mk_payload.cc Initial work to make VM config file optional 2022-09-29 13:41:19 +01:00

README.md

Microdroid Payload

Payload disk is a composite disk image referencing host APEXes and an APK so that microdroid mounts/activates APK/APEXes and executes a binary within the APK.

Payload disk is created by VirtualizationService Service when starting a VM.

Partitions

Payload disk has 1 + N(number of APEX/APK payloads) partitions.

The first partition is a "payload-metadata" partition which describes other partitions. And APEXes and an APK are following as separate partitions.

For now, the order of partitions are important.

  • partition 1: Metadata partition
  • partition 2 ~ n: APEX payloads
  • partition n+1, n+2: APK payload and its idsig

It's subject to change in the future, though.

Metadata partition

Metadata partition provides description of the other partitions and the location for VM payload configuration.

The partition is a protobuf message prefixed with the size of the message.

offset size description
0 4 Header. unsigned int32: body length(L) in big endian
4 L Body. A protobuf message. schema

Payload partitions

Each payload partition presents APEX or APK passed from the host.

The size of a payload partition must be a multiple of 4096 bytes.