blob: 8d7794db02de5d452258729b0023786531bda4c4 [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",
Victor Hsiehb5bcfab2022-09-12 13:06:26 -070010 "libclap",
Shikha Panwar55957112022-08-22 13:54:33 +000011 ],
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 {
Shikha Panwarf46f96b2022-08-22 14:11:14 +000075 name: "microdroid_initrd_normal_arm64",
76 tools: ["initrd_bootconfig"],
77 srcs: [
78 ":microdroid_initrd_gen",
79 ":microdroid_bootconfig_normal_src",
80 ] + bootconfigs_arm64,
81 out: ["microdroid_initrd_normal_arm64"],
82 cmd: "$(location initrd_bootconfig) --output $(out) $(in)",
83}
84
85genrule {
86 name: "microdroid_initrd_normal_x86_64",
87 tools: ["initrd_bootconfig"],
88 srcs: [
89 ":microdroid_initrd_gen",
90 ":microdroid_bootconfig_normal_src",
91 ] + bootconfigs_x86_64,
92 out: ["microdroid_initrd_normal_x86_64"],
93 cmd: "$(location initrd_bootconfig) --output $(out) $(in)",
94}
95
96prebuilt_etc {
97 name: "microdroid_initrd_full_debuggable",
98 // We don't have ramdisk for architectures other than x86_64 & arm64
99 src: "empty_file",
100 arch: {
101 x86_64: {
102 src: ":microdroid_initrd_full_debuggable_x86_64",
103 },
104 arm64: {
105 src: ":microdroid_initrd_full_debuggable_arm64",
106 },
107 },
108 filename: "microdroid_initrd_full_debuggable.img",
109}
110
111prebuilt_etc {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000112 name: "microdroid_initrd_normal",
113 // We don't have ramdisk for architectures other than x86_64 & arm64
114 src: "empty_file",
115 arch: {
116 x86_64: {
117 src: ":microdroid_initrd_normal_x86_64",
118 },
119 arm64: {
120 src: ":microdroid_initrd_normal_arm64",
121 },
122 },
123 filename: "microdroid_initrd_normal.img",
124}
Jiyong Parke2bd27e2022-12-05 17:14:08 +0900125
126genrule {
127 name: "microdroid_initrd_normal.sha256",
128 srcs: [":microdroid_initrd_normal"],
129 cmd: "cat $(in) | sha256sum | cut -d' ' -f1 > $(out)",
130 out: ["hash"],
131}
132
133genrule {
Jiyong Parke2bd27e2022-12-05 17:14:08 +0900134 name: "microdroid_initrd_full_debuggable.sha256",
135 srcs: [":microdroid_initrd_full_debuggable"],
136 cmd: "cat $(in) | sha256sum | cut -d' ' -f1 > $(out)",
137 out: ["hash"],
138}
139
140genrule {
141 name: "microdroid_initrd_hashes",
142 srcs: [
143 ":microdroid_initrd_normal.sha256",
Jiyong Parke2bd27e2022-12-05 17:14:08 +0900144 ":microdroid_initrd_full_debuggable.sha256",
145 ],
146 // join the hashes with commas
147 cmd: "cat $(in) | tr '\n' ',' > $(out) && truncate -s -1 $(out)",
148 out: ["output"],
149}