blob: 4775f0c517ae123743c17807427c973b2e8c9d4c [file] [log] [blame]
Bob Badour2efc4762021-02-03 18:36:27 -08001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Victor Hsieh384bf6a2021-11-11 13:28:09 -08005microdroid_filesystem_images = [
6 "microdroid_super",
7 "microdroid_boot-5.10",
8 "microdroid_vendor_boot-5.10",
9 "microdroid_vbmeta",
10 "microdroid_vbmeta_bootconfig",
11]
12
Jiyong Parkda119cb2020-12-07 15:58:23 +090013apex {
14 name: "com.android.virt",
15
16 // TODO(jiyong): make it updatable
Mathew Inwood9af36dd2021-02-16 14:43:40 +000017 updatable: false,
Jiyong Parkb6c45e72021-06-22 20:24:56 +090018 platform_apis: true,
Jiyong Parkda119cb2020-12-07 15:58:23 +090019
20 manifest: "manifest.json",
21
22 key: "com.android.virt.key",
23 certificate: ":com.android.virt.certificate",
Jooyung Han05063d12021-10-27 01:50:51 +090024 custom_sign_tool: "sign_virt_apex",
Jiyong Parkda119cb2020-12-07 15:58:23 +090025
Andrew Walbrandfc953d2021-06-10 13:59:56 +000026 // crosvm and virtualizationservice are only enabled for 64-bit targets on device
Jiyong Park2199f202020-12-07 15:58:47 +090027 arch: {
28 arm64: {
29 binaries: [
Jiyong Park69b39372021-01-05 23:14:46 +090030 "crosvm",
Andrew Walbrandfc953d2021-06-10 13:59:56 +000031 "virtualizationservice",
Jiyong Park69b39372021-01-05 23:14:46 +090032 ],
Victor Hsieh384bf6a2021-11-11 13:28:09 -080033 filesystems: microdroid_filesystem_images,
Jiyong Park69b39372021-01-05 23:14:46 +090034 },
35 x86_64: {
36 binaries: [
Jiyong Park2199f202020-12-07 15:58:47 +090037 "crosvm",
Andrew Walbrandfc953d2021-06-10 13:59:56 +000038 "virtualizationservice",
Jiyong Park2199f202020-12-07 15:58:47 +090039 ],
Victor Hsieh384bf6a2021-11-11 13:28:09 -080040 filesystems: microdroid_filesystem_images,
Jiyong Park2199f202020-12-07 15:58:47 +090041 },
42 },
Jiyong Park8d1eb7e2021-02-16 13:23:00 +090043 binaries: [
Victor Hsieh573c6492021-03-11 14:19:18 -080044 "fd_server",
Andrew Walbranea9fa482021-03-04 16:11:12 +000045 "vm",
Jiyong Park8d1eb7e2021-02-16 13:23:00 +090046 ],
Jiyong Park9b8253b2021-06-28 18:37:26 +090047 java_libs: [
48 "android.system.virtualmachine",
49 ],
Inseob Kimaa41e0a2021-08-31 10:00:42 +090050 jni_libs: [
51 "libvirtualmachine_jni",
52 ],
Jiyong Park753553b2021-07-12 21:21:09 +090053 apps: [
54 "android.system.virtualmachine.res",
55 ],
Inseob Kim72f06a32021-04-12 14:48:42 +090056 prebuilts: [
57 "com.android.virt.init.rc",
Jiyong Parke9b74d02021-06-21 14:39:12 +090058 "microdroid.json",
Inseob Kim72f06a32021-04-12 14:48:42 +090059 "microdroid_uboot_env",
60 "microdroid_bootloader",
Jooyung Han31b1c2b2021-10-27 03:35:42 +090061 "microdroid_bootloader.avbpubkey",
Jiyong Parkc2a49cc2021-10-15 00:02:12 +090062 "microdroid_bootconfig_normal",
63 "microdroid_bootconfig_app_debuggable",
64 "microdroid_bootconfig_full_debuggable",
Inseob Kim72f06a32021-04-12 14:48:42 +090065 ],
Jeff Vander Stoep63ab2382021-03-25 22:18:53 +010066 file_contexts: ":com.android.virt-file_contexts",
Jiyong Parkda119cb2020-12-07 15:58:23 +090067}
68
69apex_key {
70 name: "com.android.virt.key",
71 public_key: "com.android.virt.avbpubkey",
72 private_key: "com.android.virt.pem",
73}
74
75android_app_certificate {
76 name: "com.android.virt.certificate",
77 certificate: "com.android.virt",
78}
Jeff Vander Stoep63ab2382021-03-25 22:18:53 +010079
80prebuilt_etc {
81 name: "com.android.virt.init.rc",
Andrew Walbranf6bf6862021-05-21 12:41:13 +000082 src: "virtualizationservice.rc",
Jeff Vander Stoep63ab2382021-03-25 22:18:53 +010083 filename: "init.rc",
Alan Stokes3ef78d92021-09-08 11:51:06 +010084 installable: false,
Jeff Vander Stoep63ab2382021-03-25 22:18:53 +010085}
Jooyung Han504105f2021-10-26 15:54:50 +090086
87// Virt apex needs a custom signer for its payload
88python_binary_host {
89 name: "sign_virt_apex",
90 srcs: [
91 "sign_virt_apex.py",
92 ],
93 version: {
94 py2: {
95 enabled: false,
96 },
97 py3: {
98 enabled: true,
99 embedded_launcher: true,
100 },
101 },
Jooyung Han05063d12021-10-27 01:50:51 +0900102 required: [
103 "img2simg",
104 "lpmake",
105 "lpunpack",
106 "simg2img",
107 ],
Jooyung Han504105f2021-10-26 15:54:50 +0900108}
Jooyung Hand35952e2021-11-08 17:53:47 +0900109
Jooyung Han02dceed2021-11-08 17:50:22 +0900110sh_test_host {
111 name: "sign_virt_apex_test",
112 src: "sign_virt_apex_test.sh",
113 test_config: "sign_virt_apex_test.xml",
114 data_bins: [
115 // deapexer
116 "deapexer",
117 "debugfs_static",
118
119 // sign_virt_apex
120 "avbtool",
121 "img2simg",
122 "lpmake",
123 "lpunpack",
124 "sign_virt_apex",
125 "simg2img",
126 ],
127 data_libs: [
128 "libbase",
129 "libc++",
130 "libcrypto_utils",
131 "libcrypto",
132 "libext4_utils",
133 "liblog",
134 "liblp",
135 "libsparse",
136 "libz",
137 ],
138 data: [
139 ":com.android.virt",
140 "test.com.android.virt.pem",
141 ],
142 test_suites: ["general-tests"],
143}
144
Jooyung Hand35952e2021-11-08 17:53:47 +0900145// custom tool to replace bytes in a file
146python_binary_host {
147 name: "replace_bytes",
148 srcs: [
149 "replace_bytes.py",
150 ],
151 version: {
152 py2: {
153 enabled: false,
154 },
155 py3: {
156 enabled: true,
157 embedded_launcher: true,
158 },
159 },
160}