blob: 7246f04045ffbeddd992d27572082a347b59b70c [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 Ioffee7df57a2024-04-11 16:00:59 +000055 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +090056 srcs: [
57 ":microdroid_ramdisk",
Nikita Ioffe2c3bc222024-03-26 20:51:00 +000058 ":microdroid_first_stage_ramdisk",
Nikita Ioffee7df57a2024-04-11 16:00:59 +000059 ":microdroid_gki_modules-6.1-pkvm_experimental-x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +090060 ],
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
66genrule {
67 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
87genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +090088 name: "microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000089 tools: ["initrd_bootconfig"],
90 srcs: [
91 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +090092 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000093 ] + bootconfigs_arm64,
Seungjae Yooe85831e2022-12-12 09:34:58 +090094 out: ["microdroid_initrd_debuggable_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +000095 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000096}
97
98genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +000099 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900100 tools: ["initrd_bootconfig"],
101 srcs: [
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000102 ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900103 ":microdroid_bootconfig_debuggable_src",
104 ] + bootconfigs_arm64,
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000105 out: ["microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_arm64"],
Inseob Kim77c7f712023-11-06 17:01:02 +0900106 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
107}
108
109genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900110 name: "microdroid_initrd_debuggable_x86_64",
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_x86_64,
Seungjae Yooe85831e2022-12-12 09:34:58 +0900116 out: ["microdroid_initrd_debuggable_x86_64"],
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_x86_64",
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_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900125 ":microdroid_bootconfig_debuggable_src",
126 ] + bootconfigs_x86_64,
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000127 out: ["microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_x86_64"],
Inseob Kim77c7f712023-11-06 17:01:02 +0900128 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
129}
130
131genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000132 name: "microdroid_initrd_normal_arm64",
133 tools: ["initrd_bootconfig"],
134 srcs: [
135 ":microdroid_initrd_gen",
136 ":microdroid_bootconfig_normal_src",
137 ] + bootconfigs_arm64,
138 out: ["microdroid_initrd_normal_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000139 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000140}
141
142genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000143 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900144 tools: ["initrd_bootconfig"],
145 srcs: [
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000146 ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900147 ":microdroid_bootconfig_normal_src",
148 ] + bootconfigs_arm64,
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000149 out: ["microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_arm64"],
Inseob Kim77c7f712023-11-06 17:01:02 +0900150 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
151}
152
153genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000154 name: "microdroid_initrd_normal_x86_64",
155 tools: ["initrd_bootconfig"],
156 srcs: [
157 ":microdroid_initrd_gen",
158 ":microdroid_bootconfig_normal_src",
159 ] + bootconfigs_x86_64,
160 out: ["microdroid_initrd_normal_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000161 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000162}
163
Inseob Kim77c7f712023-11-06 17:01:02 +0900164genrule {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000165 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900166 tools: ["initrd_bootconfig"],
167 srcs: [
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000168 ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_gen_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900169 ":microdroid_bootconfig_normal_src",
170 ] + bootconfigs_x86_64,
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000171 out: ["microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_x86_64"],
Inseob Kim77c7f712023-11-06 17:01:02 +0900172 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
173}
174
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000175prebuilt_etc {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900176 name: "microdroid_initrd_debuggable",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000177 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000178 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000179 arch: {
180 x86_64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900181 src: ":microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000182 },
183 arm64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900184 src: ":microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000185 },
186 },
Seungjae Yooe85831e2022-12-12 09:34:58 +0900187 filename: "microdroid_initrd_debuggable.img",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000188}
189
190prebuilt_etc {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000191 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable",
Inseob Kim77c7f712023-11-06 17:01:02 +0900192 // We don't have ramdisk for architectures other than x86_64 & arm64
193 src: ":empty_file",
194 arch: {
195 x86_64: {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000196 src: ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900197 },
198 arm64: {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000199 src: ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900200 },
201 },
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000202 filename: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_debuggable.img",
Inseob Kim77c7f712023-11-06 17:01:02 +0900203}
204
205prebuilt_etc {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000206 name: "microdroid_initrd_normal",
207 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000208 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000209 arch: {
210 x86_64: {
211 src: ":microdroid_initrd_normal_x86_64",
212 },
213 arm64: {
214 src: ":microdroid_initrd_normal_arm64",
215 },
216 },
217 filename: "microdroid_initrd_normal.img",
218}
Inseob Kim77c7f712023-11-06 17:01:02 +0900219
220prebuilt_etc {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000221 name: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal",
Inseob Kim77c7f712023-11-06 17:01:02 +0900222 // We don't have ramdisk for architectures other than x86_64 & arm64
223 src: ":empty_file",
224 arch: {
225 x86_64: {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000226 src: ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_x86_64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900227 },
228 arm64: {
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000229 src: ":microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal_arm64",
Inseob Kim77c7f712023-11-06 17:01:02 +0900230 },
231 },
Nikita Ioffee7df57a2024-04-11 16:00:59 +0000232 filename: "microdroid_gki-android14-6.1-pkvm_experimental_initrd_normal.img",
Inseob Kim77c7f712023-11-06 17:01:02 +0900233}