blob: a9d0da32c49dafdb4f4b63ebda3adbf732f2ccbf [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",
7 srcs: ["src/main.rs"],
8 rustlibs: [
9 "libanyhow",
10 "libstructopt",
11 ],
12 prefer_rlib: true,
13}
Shikha Panwarf46f96b2022-08-22 14:11:14 +000014
15python_binary_host {
16 name: "gen_vbmeta_bootconfig",
17 srcs: ["gen_vbmeta_bootconfig.py"],
18}
19
20genrule {
21 name: "microdroid_initrd_gen",
22 srcs: [
23 ":microdroid_ramdisk",
24 ":microdroid_vendor_ramdisk",
25 ],
26 out: ["microdroid_initrd.img"],
27 cmd: "cat $(in) > $(out)",
28}
29
30// This contains vbmeta hashes & related (boot)configs which are passed to kernel/init
31genrule {
32 name: "microdroid_vbmeta_bootconfig_gen",
33 srcs: [":microdroid_vbmeta"],
34 out: ["bootconfig_microdroid_vbmeta"],
35 tools: [
36 "gen_vbmeta_bootconfig",
37 "avbtool",
38 ],
39 cmd: "$(location gen_vbmeta_bootconfig) $(location avbtool) $(in) > $(out)",
40}
41
42bootconfigs_arm64 = [
43 ":microdroid_bootconfig_arm64_gen",
44 ":microdroid_vbmeta_bootconfig_gen",
45]
46
47bootconfigs_x86_64 = [
48 ":microdroid_bootconfig_x86_64_gen",
49 ":microdroid_vbmeta_bootconfig_gen",
50]
51
52genrule {
53 name: "microdroid_initrd_full_debuggable_arm64",
54 tools: ["initrd_bootconfig"],
55 srcs: [
56 ":microdroid_initrd_gen",
57 ":microdroid_bootconfig_full_debuggable_src",
58 ] + bootconfigs_arm64,
59 out: ["microdroid_initrd_full_debuggable_arm64"],
60 cmd: "$(location initrd_bootconfig) --output $(out) $(in)",
61}
62
63genrule {
64 name: "microdroid_initrd_full_debuggable_x86_64",
65 tools: ["initrd_bootconfig"],
66 srcs: [
67 ":microdroid_initrd_gen",
68 ":microdroid_bootconfig_full_debuggable_src",
69 ] + bootconfigs_x86_64,
70 out: ["microdroid_initrd_full_debuggable_x86_64"],
71 cmd: "$(location initrd_bootconfig) --output $(out) $(in)",
72}
73
74genrule {
75 name: "microdroid_initrd_app_debuggable_arm64",
76 tools: ["initrd_bootconfig"],
77 srcs: [
78 ":microdroid_initrd_gen",
79 ":microdroid_bootconfig_app_debuggable_src",
80 ] + bootconfigs_arm64,
81 out: ["microdroid_initrd_app_debuggable_arm64"],
82 cmd: "$(location initrd_bootconfig) --output $(out) $(in)",
83}
84
85genrule {
86 name: "microdroid_initrd_app_debuggable_x86_64",
87 tools: ["initrd_bootconfig"],
88 srcs: [
89 ":microdroid_initrd_gen",
90 ":microdroid_bootconfig_app_debuggable_src",
91 ] + bootconfigs_x86_64,
92 out: ["microdroid_initrd_app_debuggable_x86_64"],
93 cmd: "$(location initrd_bootconfig) --output $(out) $(in)",
94}
95
96genrule {
97 name: "microdroid_initrd_normal_arm64",
98 tools: ["initrd_bootconfig"],
99 srcs: [
100 ":microdroid_initrd_gen",
101 ":microdroid_bootconfig_normal_src",
102 ] + bootconfigs_arm64,
103 out: ["microdroid_initrd_normal_arm64"],
104 cmd: "$(location initrd_bootconfig) --output $(out) $(in)",
105}
106
107genrule {
108 name: "microdroid_initrd_normal_x86_64",
109 tools: ["initrd_bootconfig"],
110 srcs: [
111 ":microdroid_initrd_gen",
112 ":microdroid_bootconfig_normal_src",
113 ] + bootconfigs_x86_64,
114 out: ["microdroid_initrd_normal_x86_64"],
115 cmd: "$(location initrd_bootconfig) --output $(out) $(in)",
116}
117
118prebuilt_etc {
119 name: "microdroid_initrd_full_debuggable",
120 // We don't have ramdisk for architectures other than x86_64 & arm64
121 src: "empty_file",
122 arch: {
123 x86_64: {
124 src: ":microdroid_initrd_full_debuggable_x86_64",
125 },
126 arm64: {
127 src: ":microdroid_initrd_full_debuggable_arm64",
128 },
129 },
130 filename: "microdroid_initrd_full_debuggable.img",
131}
132
133prebuilt_etc {
134 name: "microdroid_initrd_app_debuggable",
135 // We don't have ramdisk for architectures other than x86_64 & arm64
136 src: "empty_file",
137 arch: {
138 x86_64: {
139 src: ":microdroid_initrd_app_debuggable_x86_64",
140 },
141 arm64: {
142 src: ":microdroid_initrd_app_debuggable_arm64",
143 },
144 },
145 filename: "microdroid_initrd_app_debuggable.img",
146}
147
148prebuilt_etc {
149 name: "microdroid_initrd_normal",
150 // We don't have ramdisk for architectures other than x86_64 & arm64
151 src: "empty_file",
152 arch: {
153 x86_64: {
154 src: ":microdroid_initrd_normal_x86_64",
155 },
156 arm64: {
157 src: ":microdroid_initrd_normal_arm64",
158 },
159 },
160 filename: "microdroid_initrd_normal.img",
161}