blob: 9bb4657659ca25524996489688d2066c04abfe66 [file] [log] [blame]
Shikha Panwar55957112022-08-22 13:54:33 +00001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_binary_host {
6 name: "initrd_bootconfig",
Nikita Ioffeda1b2732023-09-04 13:46:56 +01007 defaults: ["avf_build_flags_rust"],
Shikha Panwar55957112022-08-22 13:54:33 +00008 srcs: ["src/main.rs"],
9 rustlibs: [
10 "libanyhow",
Victor Hsiehb5bcfab2022-09-12 13:06:26 -070011 "libclap",
Shikha Panwar55957112022-08-22 13:54:33 +000012 ],
13 prefer_rlib: true,
14}
Shikha Panwarf46f96b2022-08-22 14:11:14 +000015
Andrew Walbranda8786d2022-12-01 14:54:27 +000016rust_test_host {
17 name: "initrd_bootconfig.test",
Nikita Ioffeda1b2732023-09-04 13:46:56 +010018 defaults: ["avf_build_flags_rust"],
Andrew Walbranda8786d2022-12-01 14:54:27 +000019 srcs: ["src/main.rs"],
20 rustlibs: [
21 "libanyhow",
22 "libclap",
23 ],
24 prefer_rlib: true,
25 test_suites: ["general-tests"],
26}
27
Shikha Panwarf46f96b2022-08-22 14:11:14 +000028python_binary_host {
29 name: "gen_vbmeta_bootconfig",
30 srcs: ["gen_vbmeta_bootconfig.py"],
31}
32
33genrule {
34 name: "microdroid_initrd_gen",
35 srcs: [
36 ":microdroid_ramdisk",
Nikita Ioffe2c3bc222024-03-26 20:51:00 +000037 ":microdroid_first_stage_ramdisk",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000038 ],
39 out: ["microdroid_initrd.img"],
40 cmd: "cat $(in) > $(out)",
41}
42
Inseob Kim77c7f712023-11-06 17:01:02 +090043genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +000044 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +090045 srcs: [
46 ":microdroid_ramdisk",
Nikita Ioffe2c3bc222024-03-26 20:51:00 +000047 ":microdroid_first_stage_ramdisk",
Nikita Ioffee7df57a2024-04-11 16:00:59 +000048 ":microdroid_gki_modules-6.1-pkvm_experimental-arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +090049 ],
50 out: ["microdroid_initrd.img"],
51 cmd: "cat $(in) > $(out)",
52}
53
54genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +000055 name: "microdroid_gki-android15-6.6_initrd_gen_arm64",
56 srcs: [
57 ":microdroid_ramdisk",
58 ":microdroid_first_stage_ramdisk",
59 ":microdroid_gki_modules-android15-6.6-arm64",
60 ],
61 out: ["microdroid_initrd.img"],
62 cmd: "cat $(in) > $(out)",
63}
64
65genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +000066 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +090067 srcs: [
68 ":microdroid_ramdisk",
Nikita Ioffe2c3bc222024-03-26 20:51:00 +000069 ":microdroid_first_stage_ramdisk",
Nikita Ioffee7df57a2024-04-11 16:00:59 +000070 ":microdroid_gki_modules-6.1-pkvm_experimental-x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +090071 ],
72 out: ["microdroid_initrd.img"],
73 cmd: "cat $(in) > $(out)",
74}
75
Nikita Ioffee4c38ab2024-07-02 11:40:48 +000076genrule {
77 name: "microdroid_gki-android15-6.6_initrd_gen_x86_64",
78 srcs: [
79 ":microdroid_ramdisk",
80 ":microdroid_first_stage_ramdisk",
81 ":microdroid_gki_modules-android15-6.6-x86_64",
82 ],
83 out: ["microdroid_initrd.img"],
84 cmd: "cat $(in) > $(out)",
85}
86
Shikha Panwarf46f96b2022-08-22 14:11:14 +000087// This contains vbmeta hashes & related (boot)configs which are passed to kernel/init
88genrule {
89 name: "microdroid_vbmeta_bootconfig_gen",
90 srcs: [":microdroid_vbmeta"],
91 out: ["bootconfig_microdroid_vbmeta"],
92 tools: [
93 "gen_vbmeta_bootconfig",
94 "avbtool",
95 ],
96 cmd: "$(location gen_vbmeta_bootconfig) $(location avbtool) $(in) > $(out)",
97}
98
99bootconfigs_arm64 = [
100 ":microdroid_bootconfig_arm64_gen",
101 ":microdroid_vbmeta_bootconfig_gen",
102]
103
104bootconfigs_x86_64 = [
105 ":microdroid_bootconfig_x86_64_gen",
106 ":microdroid_vbmeta_bootconfig_gen",
107]
108
109genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900110 name: "microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000111 tools: ["initrd_bootconfig"],
112 srcs: [
113 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +0900114 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000115 ] + bootconfigs_arm64,
Seungjae Yooe85831e2022-12-12 09:34:58 +0900116 out: ["microdroid_initrd_debuggable_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000117 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000118}
119
120genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000121 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900122 tools: ["initrd_bootconfig"],
123 srcs: [
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000124 ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900125 ":microdroid_bootconfig_debuggable_src",
126 ] + bootconfigs_arm64,
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000127 out: ["microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_arm64"],
Inseob Kim77c7f712023-11-06 17:01:02 +0900128 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
129}
130
131genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000132 name: "microdroid_gki-android15-6.6_initrd_debuggable_arm64",
133 tools: ["initrd_bootconfig"],
134 srcs: [
135 ":microdroid_gki-android15-6.6_initrd_gen_arm64",
136 ":microdroid_bootconfig_debuggable_src",
137 ] + bootconfigs_arm64,
138 out: ["microdroid_gki-android15-6.6_initrd_debuggable_arm64"],
139 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
140}
141
142genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900143 name: "microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000144 tools: ["initrd_bootconfig"],
145 srcs: [
146 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +0900147 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000148 ] + bootconfigs_x86_64,
Seungjae Yooe85831e2022-12-12 09:34:58 +0900149 out: ["microdroid_initrd_debuggable_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000150 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000151}
152
153genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000154 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900155 tools: ["initrd_bootconfig"],
156 srcs: [
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000157 ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900158 ":microdroid_bootconfig_debuggable_src",
159 ] + bootconfigs_x86_64,
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000160 out: ["microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_x86_64"],
Inseob Kim77c7f712023-11-06 17:01:02 +0900161 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
162}
163
164genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000165 name: "microdroid_gki-android15-6.6_initrd_debuggable_x86_64",
166 tools: ["initrd_bootconfig"],
167 srcs: [
168 ":microdroid_gki-android15-6.6_initrd_gen_x86_64",
169 ":microdroid_bootconfig_debuggable_src",
170 ] + bootconfigs_x86_64,
171 out: ["microdroid_gki-android15-6.6_initrd_debuggable_x86_64"],
172 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
173}
174
175genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000176 name: "microdroid_initrd_normal_arm64",
177 tools: ["initrd_bootconfig"],
178 srcs: [
179 ":microdroid_initrd_gen",
180 ":microdroid_bootconfig_normal_src",
181 ] + bootconfigs_arm64,
182 out: ["microdroid_initrd_normal_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000183 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000184}
185
186genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000187 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900188 tools: ["initrd_bootconfig"],
189 srcs: [
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000190 ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900191 ":microdroid_bootconfig_normal_src",
192 ] + bootconfigs_arm64,
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000193 out: ["microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_arm64"],
Inseob Kim77c7f712023-11-06 17:01:02 +0900194 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
195}
196
197genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000198 name: "microdroid_gki-android15-6.6_initrd_normal_arm64",
199 tools: ["initrd_bootconfig"],
200 srcs: [
201 ":microdroid_gki-android15-6.6_initrd_gen_arm64",
202 ":microdroid_bootconfig_normal_src",
203 ] + bootconfigs_arm64,
204 out: ["microdroid_gki-android15-6.6_initrd_normal_arm64"],
205 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
206}
207
208genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000209 name: "microdroid_initrd_normal_x86_64",
210 tools: ["initrd_bootconfig"],
211 srcs: [
212 ":microdroid_initrd_gen",
213 ":microdroid_bootconfig_normal_src",
214 ] + bootconfigs_x86_64,
215 out: ["microdroid_initrd_normal_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000216 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000217}
218
Inseob Kim77c7f712023-11-06 17:01:02 +0900219genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000220 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900221 tools: ["initrd_bootconfig"],
222 srcs: [
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000223 ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900224 ":microdroid_bootconfig_normal_src",
225 ] + bootconfigs_x86_64,
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000226 out: ["microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_x86_64"],
Inseob Kim77c7f712023-11-06 17:01:02 +0900227 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
228}
229
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000230genrule {
231 name: "microdroid_gki-android15-6.6_initrd_normal_x86_64",
232 tools: ["initrd_bootconfig"],
233 srcs: [
234 ":microdroid_gki-android15-6.6_initrd_gen_x86_64",
235 ":microdroid_bootconfig_normal_src",
236 ] + bootconfigs_x86_64,
237 out: ["microdroid_gki-android15-6.6_initrd_normal_x86_64"],
238 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
239}
240
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000241prebuilt_etc {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900242 name: "microdroid_initrd_debuggable",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000243 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000244 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000245 arch: {
246 x86_64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900247 src: ":microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000248 },
249 arm64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900250 src: ":microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000251 },
252 },
Seungjae Yooe85831e2022-12-12 09:34:58 +0900253 filename: "microdroid_initrd_debuggable.img",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000254}
255
256prebuilt_etc {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000257 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable",
Inseob Kim77c7f712023-11-06 17:01:02 +0900258 // We don't have ramdisk for architectures other than x86_64 & arm64
259 src: ":empty_file",
260 arch: {
261 x86_64: {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000262 src: ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900263 },
264 arm64: {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000265 src: ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900266 },
267 },
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000268 filename: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable.img",
Inseob Kim77c7f712023-11-06 17:01:02 +0900269}
270
271prebuilt_etc {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000272 name: "microdroid_gki-android15-6.6_initrd_debuggable",
273 // We don't have ramdisk for architectures other than x86_64 & arm64
274 src: ":empty_file",
275 arch: {
276 arm64: {
277 src: ":microdroid_gki-android15-6.6_initrd_debuggable_arm64",
278 },
279 x86_64: {
280 src: ":microdroid_gki-android15-6.6_initrd_debuggable_x86_64",
281 },
282 },
283 filename: "microdroid_gki-android15-6.6_initrd_debuggable.img",
284}
285
286prebuilt_etc {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000287 name: "microdroid_initrd_normal",
288 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000289 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000290 arch: {
291 x86_64: {
292 src: ":microdroid_initrd_normal_x86_64",
293 },
294 arm64: {
295 src: ":microdroid_initrd_normal_arm64",
296 },
297 },
298 filename: "microdroid_initrd_normal.img",
299}
Inseob Kim77c7f712023-11-06 17:01:02 +0900300
301prebuilt_etc {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000302 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal",
Inseob Kim77c7f712023-11-06 17:01:02 +0900303 // We don't have ramdisk for architectures other than x86_64 & arm64
304 src: ":empty_file",
305 arch: {
306 x86_64: {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000307 src: ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900308 },
309 arm64: {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000310 src: ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900311 },
312 },
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000313 filename: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal.img",
Inseob Kim77c7f712023-11-06 17:01:02 +0900314}
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000315
316prebuilt_etc {
317 name: "microdroid_gki-android15-6.6_initrd_normal",
318 // We don't have ramdisk for architectures other than x86_64 & arm64
319 src: ":empty_file",
320 arch: {
321 arm64: {
322 src: ":microdroid_gki-android15-6.6_initrd_normal_arm64",
323 },
324 x86_64: {
325 src: ":microdroid_gki-android15-6.6_initrd_normal_x86_64",
326 },
327 },
328 filename: "microdroid_gki-android15-6.6_initrd_normal.img",
329}