blob: 7331e0b2dd6dcd7a6b0549aacf14b851b2cb16d6 [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 {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +000055 name: "microdroid_gki-android15-6.6_initrd_gen_x86_64",
56 srcs: [
57 ":microdroid_ramdisk",
58 ":microdroid_first_stage_ramdisk",
59 ":microdroid_gki_modules-android15-6.6-x86_64",
60 ],
61 out: ["microdroid_initrd.img"],
62 cmd: "cat $(in) > $(out)",
63}
64
Shikha Panwarf46f96b2022-08-22 14:11:14 +000065// This contains vbmeta hashes & related (boot)configs which are passed to kernel/init
Cole Faust316e6422024-10-22 16:31:03 -070066java_genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +000067 name: "microdroid_vbmeta_bootconfig_gen",
68 srcs: [":microdroid_vbmeta"],
69 out: ["bootconfig_microdroid_vbmeta"],
70 tools: [
71 "gen_vbmeta_bootconfig",
72 "avbtool",
73 ],
74 cmd: "$(location gen_vbmeta_bootconfig) $(location avbtool) $(in) > $(out)",
75}
76
77bootconfigs_arm64 = [
78 ":microdroid_bootconfig_arm64_gen",
79 ":microdroid_vbmeta_bootconfig_gen",
80]
81
82bootconfigs_x86_64 = [
83 ":microdroid_bootconfig_x86_64_gen",
84 ":microdroid_vbmeta_bootconfig_gen",
85]
86
Nikita Ioffef49350e2024-11-01 16:11:48 +000087bootconfigs_x86_64_16k = bootconfigs_x86_64 + [
88 ":microdroid_16k_bootconfig_x86_64_gen",
89]
90
Cole Faust316e6422024-10-22 16:31:03 -070091java_genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +090092 name: "microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000093 tools: ["initrd_bootconfig"],
94 srcs: [
95 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +090096 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000097 ] + bootconfigs_arm64,
Seungjae Yooe85831e2022-12-12 09:34:58 +090098 out: ["microdroid_initrd_debuggable_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +000099 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000100}
101
Cole Faust316e6422024-10-22 16:31:03 -0700102java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000103 name: "microdroid_gki-android15-6.6_initrd_debuggable_arm64",
104 tools: ["initrd_bootconfig"],
105 srcs: [
106 ":microdroid_gki-android15-6.6_initrd_gen_arm64",
107 ":microdroid_bootconfig_debuggable_src",
108 ] + bootconfigs_arm64,
109 out: ["microdroid_gki-android15-6.6_initrd_debuggable_arm64"],
110 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
111}
112
Cole Faust316e6422024-10-22 16:31:03 -0700113java_genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900114 name: "microdroid_initrd_debuggable_x86_64",
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_x86_64,
Seungjae Yooe85831e2022-12-12 09:34:58 +0900120 out: ["microdroid_initrd_debuggable_x86_64"],
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 Ioffef49350e2024-11-01 16:11:48 +0000125 name: "microdroid_16k_initrd_debuggable_x86_64",
126 tools: ["initrd_bootconfig"],
127 srcs: [
128 ":microdroid_initrd_gen",
129 ":microdroid_bootconfig_debuggable_src",
130 ] + bootconfigs_x86_64_16k,
131 out: ["microdroid_16k_initrd_debuggable_x86_64"],
132 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
133}
134
135java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000136 name: "microdroid_gki-android15-6.6_initrd_debuggable_x86_64",
137 tools: ["initrd_bootconfig"],
138 srcs: [
139 ":microdroid_gki-android15-6.6_initrd_gen_x86_64",
140 ":microdroid_bootconfig_debuggable_src",
141 ] + bootconfigs_x86_64,
142 out: ["microdroid_gki-android15-6.6_initrd_debuggable_x86_64"],
143 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
144}
145
Cole Faust316e6422024-10-22 16:31:03 -0700146java_genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000147 name: "microdroid_initrd_normal_arm64",
148 tools: ["initrd_bootconfig"],
149 srcs: [
150 ":microdroid_initrd_gen",
151 ":microdroid_bootconfig_normal_src",
152 ] + bootconfigs_arm64,
153 out: ["microdroid_initrd_normal_arm64"],
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 Ioffee4c38ab2024-07-02 11:40:48 +0000158 name: "microdroid_gki-android15-6.6_initrd_normal_arm64",
159 tools: ["initrd_bootconfig"],
160 srcs: [
161 ":microdroid_gki-android15-6.6_initrd_gen_arm64",
162 ":microdroid_bootconfig_normal_src",
163 ] + bootconfigs_arm64,
164 out: ["microdroid_gki-android15-6.6_initrd_normal_arm64"],
165 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
166}
167
Cole Faust316e6422024-10-22 16:31:03 -0700168java_genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000169 name: "microdroid_initrd_normal_x86_64",
170 tools: ["initrd_bootconfig"],
171 srcs: [
172 ":microdroid_initrd_gen",
173 ":microdroid_bootconfig_normal_src",
174 ] + bootconfigs_x86_64,
175 out: ["microdroid_initrd_normal_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000176 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000177}
178
Cole Faust316e6422024-10-22 16:31:03 -0700179java_genrule {
Nikita Ioffef49350e2024-11-01 16:11:48 +0000180 name: "microdroid_16k_initrd_normal_x86_64",
181 tools: ["initrd_bootconfig"],
182 srcs: [
183 ":microdroid_initrd_gen",
184 ":microdroid_bootconfig_normal_src",
185 ] + bootconfigs_x86_64_16k,
186 out: ["microdroid_16k_initrd_normal_x86_64"],
187 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
188}
189
190java_genrule {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000191 name: "microdroid_gki-android15-6.6_initrd_normal_x86_64",
192 tools: ["initrd_bootconfig"],
193 srcs: [
194 ":microdroid_gki-android15-6.6_initrd_gen_x86_64",
195 ":microdroid_bootconfig_normal_src",
196 ] + bootconfigs_x86_64,
197 out: ["microdroid_gki-android15-6.6_initrd_normal_x86_64"],
198 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
199}
200
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000201prebuilt_etc {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900202 name: "microdroid_initrd_debuggable",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000203 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000204 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000205 arch: {
206 x86_64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900207 src: ":microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000208 },
209 arm64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900210 src: ":microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000211 },
212 },
Seungjae Yooe85831e2022-12-12 09:34:58 +0900213 filename: "microdroid_initrd_debuggable.img",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000214}
215
216prebuilt_etc {
Nikita Ioffef49350e2024-11-01 16:11:48 +0000217 name: "microdroid_16k_initrd_debuggable",
218 // We don't have ramdisk for architectures other than x86_64 & arm64
219 src: ":empty_file",
220 arch: {
221 // For x86_64 we emulate 16k by adding `page_shift=14` to bootconfig, that's why we need
222 // separate initrd.
223 x86_64: {
224 src: ":microdroid_16k_initrd_debuggable_x86_64",
225 },
226 // For arm64, the initrd for 16k kernel is the same.
227 arm64: {
228 src: ":microdroid_initrd_debuggable_arm64",
229 },
230 },
231 filename: "microdroid_16k_initrd_debuggable.img",
232}
233
234prebuilt_etc {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000235 name: "microdroid_gki-android15-6.6_initrd_debuggable",
236 // We don't have ramdisk for architectures other than x86_64 & arm64
237 src: ":empty_file",
238 arch: {
239 arm64: {
240 src: ":microdroid_gki-android15-6.6_initrd_debuggable_arm64",
241 },
242 x86_64: {
243 src: ":microdroid_gki-android15-6.6_initrd_debuggable_x86_64",
244 },
245 },
246 filename: "microdroid_gki-android15-6.6_initrd_debuggable.img",
247}
248
249prebuilt_etc {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000250 name: "microdroid_initrd_normal",
251 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000252 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000253 arch: {
254 x86_64: {
255 src: ":microdroid_initrd_normal_x86_64",
256 },
257 arm64: {
258 src: ":microdroid_initrd_normal_arm64",
259 },
260 },
261 filename: "microdroid_initrd_normal.img",
262}
Inseob Kim77c7f712023-11-06 17:01:02 +0900263
264prebuilt_etc {
Nikita Ioffef49350e2024-11-01 16:11:48 +0000265 name: "microdroid_16k_initrd_normal",
266 // We don't have ramdisk for architectures other than x86_64 & arm64
267 src: ":empty_file",
268 arch: {
269 // For x86_64 we emulate 16k by adding `page_shift=14` to bootconfig, that's why we need
270 // separate initrd.
271 x86_64: {
272 src: ":microdroid_16k_initrd_normal_x86_64",
273 },
274 // For arm64, the initrd for 16k kernel is the same.
275 arm64: {
276 src: ":microdroid_initrd_normal_arm64",
277 },
278 },
279 filename: "microdroid_16k_initrd_normal.img",
280}
281
282prebuilt_etc {
Nikita Ioffee4c38ab2024-07-02 11:40:48 +0000283 name: "microdroid_gki-android15-6.6_initrd_normal",
284 // We don't have ramdisk for architectures other than x86_64 & arm64
285 src: ":empty_file",
286 arch: {
287 arm64: {
288 src: ":microdroid_gki-android15-6.6_initrd_normal_arm64",
289 },
290 x86_64: {
291 src: ":microdroid_gki-android15-6.6_initrd_normal_x86_64",
292 },
293 },
294 filename: "microdroid_gki-android15-6.6_initrd_normal.img",
295}