Since there's no two separate mount namespace, we don't need to
"enter_default_mount_ns".
Bug: 185991357
Test: MicrodroidHostTestCases
Change-Id: I0bea5ef51da95c378ade1288c36d4cab91266ab2
These nodes are not meaningful in Microdroid, but added here in order to
satisfy the existing code that tries to put a PID to one of the cpusets.
Bug: 193118995
Test: run microdroid. Check if errors like the below are not shown:
couldn't write 152 to /dev/cpuset/system-background/tasks
Change-Id: Ibafb25355936ef21b6517c5707d093d25fc2d247
com.android.sdkext is to decide the extension SDK level of the device
and set system properties so that apps can query it.
In microdroid we don't support it yet. So remove it from the mandatory
system APEX list.
Bug: 193118107
Test: MicrodroidHostTestCases
Change-Id: I1e913b0826d78f06439ec37889e390ef97c4623a
KeyMint in microdroid will initially be a specialized version of the
software KeyMint reference implementation. Begin this specialization by
removing the services that aren't needed within VMs.
Bug: 190578423
Test: atest MicrodroidHostTestCases
Change-Id: I6eee95944ccc555656868dad193f29b83ebf46a4
In microdroid, APK and its idsig is used to dm-verity mount before
zipfuse mounts it into a filesystem.
Bug: 190343842
Test: MicrodroidHostTestCases
Change-Id: Icd48fb823eabc087c0266e46f9b3d302e90fd208
No longer needed now init listens for property changes on a
separate thread.
Bug: 186580823
Test: Cuttlefish boots successfully
Test: atest MicrodroidHostTestCases
Change-Id: I4953e1f9e596db6e8b5ecc49a05cbf4375b7f6c4
For security reason, we will use tmpfs for /data. It should contain only
small, temporary files for now.
vold is removed as it's redundant now. MicrodroidTestCase's boot marker
is also updated because logd reinit won't happen if vold is removed.
Bug: 185767624
Test: atest MicrodroidHostTestCases
Change-Id: I3f60d5dfad2519b6d593a3f514bb50c50019b526
For now, the default implementation will be used. In the future,
microdroid-specific keymint HAL will be implemented.
Bug: 185767624
Test: atest MicrodroidHostTestCases
Test: mount userdata.img and see files encrypted
Change-Id: I593e659b60d6b33b153f8d614395755e83e597de
These are for encrypting /data partition. Also vintf related xmls are
added for the services.
Bug: 185767624
Bug: 188013319
Test: boot microdroid
Change-Id: Ie511e2b4f3565fef181cc57588c2e107182f1961
In microdroid, init enters "default" mount namespace from the beginning
and every process starts in it.
Bug: 185991357
Test: MicrodroidHostTestCases
Change-Id: I36262de8a6ff3bcf452e27c21716cfffe84d6d72
It is started by init in microdroid and executes a command specified in
a VM payload config.
Bug: 189301496
Test: MicrodroidHostTestCases
(in a microdroid, run /system/bin/microdroid_manager manulally)
Change-Id: I85c7e370d4a0dcf58b4aafbe6e9fba73e69c2a44
zipfuse now runs in microdroid as a service. The source zip file path
and the mount point are fixed to /dev/block/by-name/microdroid-apk and
/mnt/apk, respectively.
To support that, microdroid_payload.json is amended to add
MicrodroidTestAppk.apk to the payload.img file. This eventually should
be done dynamically by the virt manager.
Bug: 186377508
Test: atest MicrodroidHostTestCases
Change-Id: I7a031ad442995dbd3cdc00a51a0e939c1589a7b2
/data/anr is technically also redundant, but we have to fix tombstoned
to fix it. Leaving it as-is is simpler.
Bug: 185210957
Test: boot microdroid and run debuggerd
Change-Id: Ib8411143761109c94d3d476cf69679f06086849e
Many programs need /data (especially /data/local/tmp) to properly work.
This change adds a basic unencrypted ext4 userdata partition to
microdroid. Eventually microdroid will support userdata encryption so
only VM can access /data.
Bug: 185767624
Test: atest MicrodroidHostTestCases
Test: log in to microdroid and test writing to /data
Change-Id: I115a8083ad6741fea9dedd61eca7194b1b5e5712
Host apexes are passed to microdroid via the payload composite image.
The payload composite image can be created by either
mk_payload_signature/mk_cdisk or mk_payload.
For now, microdroid expects two APEXes from the host:
- com.android.adbd
- com.android.sdkext
The exact set of host apexes for microdroid is TBD. The current set is
only for demonstration.
Bug: 181093750
Test: MicrodroidTestCase
Change-Id: I7fe33fe03ac94799a4e109b83286bfb39e44b882
Previously, we ran only 'apexd-bootstrap' because 'apexd' crashes due to
the lack of /data/apex in microdroid.
Now apexd runs in "vm" mode. In vm mode, apexd only activates built-in
apexes and block apexes. No data apexes, no session handling.
Bug: 179342589
Test: MicrodroidTestCase
Change-Id: I8c6a16c3b08010fcb008d822d0ba0e311c0a9985
Now init_rc is packaged, so we don't need to define services in
microdroid's init.rc. The exception is adb, which is meant to be in
APEX.
Bug: 181747401
Test: boot and see logd, servicemanager, and apex-bootstrap work
Change-Id: I177bec881a595b30983b9e67d9f76c0865ff3863
The following system properties are forcibly set to make adbd function.
ro.apex.updatable=true : otherwise, apexd doesn't activate critical
APEXes like the runtime APEX
ro.adb.secure=0 : to bypass the adb authentication
ro.debuggable=1 : to be able to use ro.adb.secure=0
This change also updates README.md file for the instruction to use adb.
Bug: 181728474
Test: adb shell works towards microdroid. See microdroid/README.md
Change-Id: Ica405e8bd4d2d1ef03e545aef5ed07ddc4bea34c
This adds a minimized init.rc and services to microdroid, so microdroid
can boot and adb can work.
Bug: 179340780
Test: boot with manually added selinux stuffs and apexd session patch
Change-Id: I42ae13f3f2ac9ca22ed646564867da3931824682