blob: d9aa1082f43e9d0e960379fa455210dc72dadfee [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
Cole Faust316e6422024-10-22 16:31:03 -070033java_genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +000034 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
Cole Faust316e6422024-10-22 16:31:03 -070043java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +000044 name: "microdroid_gki-android15-6.6_initrd_gen_arm64",
45 srcs: [
46 ":microdroid_ramdisk",
47 ":microdroid_first_stage_ramdisk",
48 ":microdroid_gki_modules-android15-6.6-arm64",
49 ],
50 out: ["microdroid_initrd.img"],
51 cmd: "cat $(in) > $(out)",
52}
53
Cole Faust316e6422024-10-22 16:31:03 -070054java_genrule {
Andrei Homescu25b82062025-01-30 06:26:40 +000055 name: "microdroid_gki-android16-6.12_initrd_gen_arm64",
56 srcs: [
57 ":microdroid_ramdisk",
58 ":microdroid_first_stage_ramdisk",
59 ":microdroid_gki_modules-android16-6.12-arm64",
60 ],
61 out: ["microdroid_initrd.img"],
62 cmd: "cat $(in) > $(out)",
63}
64
65java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +000066 name: "microdroid_gki-android15-6.6_initrd_gen_x86_64",
67 srcs: [
68 ":microdroid_ramdisk",
69 ":microdroid_first_stage_ramdisk",
70 ":microdroid_gki_modules-android15-6.6-x86_64",
71 ],
72 out: ["microdroid_initrd.img"],
73 cmd: "cat $(in) > $(out)",
74}
75
Andrei Homescu25b82062025-01-30 06:26:40 +000076java_genrule {
77 name: "microdroid_gki-android16-6.12_initrd_gen_x86_64",
78 srcs: [
79 ":microdroid_ramdisk",
80 ":microdroid_first_stage_ramdisk",
81 ":microdroid_gki_modules-android16-6.12-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
Cole Faust316e6422024-10-22 16:31:03 -070088java_genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +000089 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
Nikita Ioffef49350e2024-11-01 16:11:48 +0000109bootconfigs_x86_64_16k = bootconfigs_x86_64 + [
110 ":microdroid_16k_bootconfig_x86_64_gen",
111]
112
Cole Faust316e6422024-10-22 16:31:03 -0700113java_genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900114 name: "microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000115 tools: ["initrd_bootconfig"],
116 srcs: [
117 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +0900118 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000119 ] + bootconfigs_arm64,
Seungjae Yooe85831e2022-12-12 09:34:58 +0900120 out: ["microdroid_initrd_debuggable_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000121 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000122}
123
Cole Faust316e6422024-10-22 16:31:03 -0700124java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000125 name: "microdroid_gki-android15-6.6_initrd_debuggable_arm64",
126 tools: ["initrd_bootconfig"],
127 srcs: [
128 ":microdroid_gki-android15-6.6_initrd_gen_arm64",
129 ":microdroid_bootconfig_debuggable_src",
130 ] + bootconfigs_arm64,
131 out: ["microdroid_gki-android15-6.6_initrd_debuggable_arm64"],
132 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
133}
134
Cole Faust316e6422024-10-22 16:31:03 -0700135java_genrule {
Andrei Homescu25b82062025-01-30 06:26:40 +0000136 name: "microdroid_gki-android16-6.12_initrd_debuggable_arm64",
137 tools: ["initrd_bootconfig"],
138 srcs: [
139 ":microdroid_gki-android16-6.12_initrd_gen_arm64",
140 ":microdroid_bootconfig_debuggable_src",
141 ] + bootconfigs_arm64,
142 out: ["microdroid_gki-android16-6.12_initrd_debuggable_arm64"],
143 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
144}
145
146java_genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900147 name: "microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000148 tools: ["initrd_bootconfig"],
149 srcs: [
150 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +0900151 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000152 ] + bootconfigs_x86_64,
Seungjae Yooe85831e2022-12-12 09:34:58 +0900153 out: ["microdroid_initrd_debuggable_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000154 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000155}
156
Cole Faust316e6422024-10-22 16:31:03 -0700157java_genrule {
Nikita Ioffef49350e2024-11-01 16:11:48 +0000158 name: "microdroid_16k_initrd_debuggable_x86_64",
159 tools: ["initrd_bootconfig"],
160 srcs: [
161 ":microdroid_initrd_gen",
162 ":microdroid_bootconfig_debuggable_src",
163 ] + bootconfigs_x86_64_16k,
164 out: ["microdroid_16k_initrd_debuggable_x86_64"],
165 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
166}
167
168java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000169 name: "microdroid_gki-android15-6.6_initrd_debuggable_x86_64",
170 tools: ["initrd_bootconfig"],
171 srcs: [
172 ":microdroid_gki-android15-6.6_initrd_gen_x86_64",
173 ":microdroid_bootconfig_debuggable_src",
174 ] + bootconfigs_x86_64,
175 out: ["microdroid_gki-android15-6.6_initrd_debuggable_x86_64"],
176 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
177}
178
Cole Faust316e6422024-10-22 16:31:03 -0700179java_genrule {
Andrei Homescu25b82062025-01-30 06:26:40 +0000180 name: "microdroid_gki-android16-6.12_initrd_debuggable_x86_64",
181 tools: ["initrd_bootconfig"],
182 srcs: [
183 ":microdroid_gki-android16-6.12_initrd_gen_x86_64",
184 ":microdroid_bootconfig_debuggable_src",
185 ] + bootconfigs_x86_64,
186 out: ["microdroid_gki-android16-6.12_initrd_debuggable_x86_64"],
187 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
188}
189
190java_genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000191 name: "microdroid_initrd_normal_arm64",
192 tools: ["initrd_bootconfig"],
193 srcs: [
194 ":microdroid_initrd_gen",
195 ":microdroid_bootconfig_normal_src",
196 ] + bootconfigs_arm64,
197 out: ["microdroid_initrd_normal_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000198 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000199}
200
Cole Faust316e6422024-10-22 16:31:03 -0700201java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000202 name: "microdroid_gki-android15-6.6_initrd_normal_arm64",
203 tools: ["initrd_bootconfig"],
204 srcs: [
205 ":microdroid_gki-android15-6.6_initrd_gen_arm64",
206 ":microdroid_bootconfig_normal_src",
207 ] + bootconfigs_arm64,
208 out: ["microdroid_gki-android15-6.6_initrd_normal_arm64"],
209 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
210}
211
Cole Faust316e6422024-10-22 16:31:03 -0700212java_genrule {
Andrei Homescu25b82062025-01-30 06:26:40 +0000213 name: "microdroid_gki-android16-6.12_initrd_normal_arm64",
214 tools: ["initrd_bootconfig"],
215 srcs: [
216 ":microdroid_gki-android16-6.12_initrd_gen_arm64",
217 ":microdroid_bootconfig_normal_src",
218 ] + bootconfigs_arm64,
219 out: ["microdroid_gki-android16-6.12_initrd_normal_arm64"],
220 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
221}
222
223java_genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000224 name: "microdroid_initrd_normal_x86_64",
225 tools: ["initrd_bootconfig"],
226 srcs: [
227 ":microdroid_initrd_gen",
228 ":microdroid_bootconfig_normal_src",
229 ] + bootconfigs_x86_64,
230 out: ["microdroid_initrd_normal_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000231 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000232}
233
Cole Faust316e6422024-10-22 16:31:03 -0700234java_genrule {
Nikita Ioffef49350e2024-11-01 16:11:48 +0000235 name: "microdroid_16k_initrd_normal_x86_64",
236 tools: ["initrd_bootconfig"],
237 srcs: [
238 ":microdroid_initrd_gen",
239 ":microdroid_bootconfig_normal_src",
240 ] + bootconfigs_x86_64_16k,
241 out: ["microdroid_16k_initrd_normal_x86_64"],
242 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
243}
244
245java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000246 name: "microdroid_gki-android15-6.6_initrd_normal_x86_64",
247 tools: ["initrd_bootconfig"],
248 srcs: [
249 ":microdroid_gki-android15-6.6_initrd_gen_x86_64",
250 ":microdroid_bootconfig_normal_src",
251 ] + bootconfigs_x86_64,
252 out: ["microdroid_gki-android15-6.6_initrd_normal_x86_64"],
253 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
254}
255
Andrei Homescu25b82062025-01-30 06:26:40 +0000256java_genrule {
257 name: "microdroid_gki-android16-6.12_initrd_normal_x86_64",
258 tools: ["initrd_bootconfig"],
259 srcs: [
260 ":microdroid_gki-android16-6.12_initrd_gen_x86_64",
261 ":microdroid_bootconfig_normal_src",
262 ] + bootconfigs_x86_64,
263 out: ["microdroid_gki-android16-6.12_initrd_normal_x86_64"],
264 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
265}
266
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000267prebuilt_etc {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900268 name: "microdroid_initrd_debuggable",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000269 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000270 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000271 arch: {
272 x86_64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900273 src: ":microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000274 },
275 arm64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900276 src: ":microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000277 },
278 },
Seungjae Yooe85831e2022-12-12 09:34:58 +0900279 filename: "microdroid_initrd_debuggable.img",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000280}
281
282prebuilt_etc {
Nikita Ioffef49350e2024-11-01 16:11:48 +0000283 name: "microdroid_16k_initrd_debuggable",
284 // We don't have ramdisk for architectures other than x86_64 & arm64
285 src: ":empty_file",
286 arch: {
287 // For x86_64 we emulate 16k by adding `page_shift=14` to bootconfig, that's why we need
288 // separate initrd.
289 x86_64: {
290 src: ":microdroid_16k_initrd_debuggable_x86_64",
291 },
292 // For arm64, the initrd for 16k kernel is the same.
293 arm64: {
294 src: ":microdroid_initrd_debuggable_arm64",
295 },
296 },
297 filename: "microdroid_16k_initrd_debuggable.img",
298}
299
300prebuilt_etc {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000301 name: "microdroid_gki-android15-6.6_initrd_debuggable",
302 // We don't have ramdisk for architectures other than x86_64 & arm64
303 src: ":empty_file",
304 arch: {
305 arm64: {
306 src: ":microdroid_gki-android15-6.6_initrd_debuggable_arm64",
307 },
308 x86_64: {
309 src: ":microdroid_gki-android15-6.6_initrd_debuggable_x86_64",
310 },
311 },
312 filename: "microdroid_gki-android15-6.6_initrd_debuggable.img",
313}
314
315prebuilt_etc {
Andrei Homescu25b82062025-01-30 06:26:40 +0000316 name: "microdroid_gki-android16-6.12_initrd_debuggable",
317 // We don't have ramdisk for architectures other than x86_64 & arm64
318 src: ":empty_file",
319 arch: {
320 arm64: {
321 src: ":microdroid_gki-android16-6.12_initrd_debuggable_arm64",
322 },
323 x86_64: {
324 src: ":microdroid_gki-android16-6.12_initrd_debuggable_x86_64",
325 },
326 },
327 filename: "microdroid_gki-android16-6.12_initrd_debuggable.img",
328}
329
330prebuilt_etc {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000331 name: "microdroid_initrd_normal",
332 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000333 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000334 arch: {
335 x86_64: {
336 src: ":microdroid_initrd_normal_x86_64",
337 },
338 arm64: {
339 src: ":microdroid_initrd_normal_arm64",
340 },
341 },
342 filename: "microdroid_initrd_normal.img",
343}
Inseob Kim77c7f712023-11-06 17:01:02 +0900344
345prebuilt_etc {
Nikita Ioffef49350e2024-11-01 16:11:48 +0000346 name: "microdroid_16k_initrd_normal",
347 // We don't have ramdisk for architectures other than x86_64 & arm64
348 src: ":empty_file",
349 arch: {
350 // For x86_64 we emulate 16k by adding `page_shift=14` to bootconfig, that's why we need
351 // separate initrd.
352 x86_64: {
353 src: ":microdroid_16k_initrd_normal_x86_64",
354 },
355 // For arm64, the initrd for 16k kernel is the same.
356 arm64: {
357 src: ":microdroid_initrd_normal_arm64",
358 },
359 },
360 filename: "microdroid_16k_initrd_normal.img",
361}
362
363prebuilt_etc {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000364 name: "microdroid_gki-android15-6.6_initrd_normal",
365 // We don't have ramdisk for architectures other than x86_64 & arm64
366 src: ":empty_file",
367 arch: {
368 arm64: {
369 src: ":microdroid_gki-android15-6.6_initrd_normal_arm64",
370 },
371 x86_64: {
372 src: ":microdroid_gki-android15-6.6_initrd_normal_x86_64",
373 },
374 },
375 filename: "microdroid_gki-android15-6.6_initrd_normal.img",
376}
Andrei Homescu25b82062025-01-30 06:26:40 +0000377
378prebuilt_etc {
379 name: "microdroid_gki-android16-6.12_initrd_normal",
380 // We don't have ramdisk for architectures other than x86_64 & arm64
381 src: ":empty_file",
382 arch: {
383 arm64: {
384 src: ":microdroid_gki-android16-6.12_initrd_normal_arm64",
385 },
386 x86_64: {
387 src: ":microdroid_gki-android16-6.12_initrd_normal_x86_64",
388 },
389 },
390 filename: "microdroid_gki-android16-6.12_initrd_normal.img",
391}