blob: 22a06e163dac4e15a77d182d787688c7d282767b [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
Andrew Walbranda8786d2022-12-01 14:54:27 +000015rust_test_host {
16 name: "initrd_bootconfig.test",
17 srcs: ["src/main.rs"],
18 rustlibs: [
19 "libanyhow",
20 "libclap",
21 ],
22 prefer_rlib: true,
23 test_suites: ["general-tests"],
24}
25
Shikha Panwarf46f96b2022-08-22 14:11:14 +000026python_binary_host {
27 name: "gen_vbmeta_bootconfig",
28 srcs: ["gen_vbmeta_bootconfig.py"],
29}
30
31genrule {
32 name: "microdroid_initrd_gen",
33 srcs: [
34 ":microdroid_ramdisk",
35 ":microdroid_vendor_ramdisk",
36 ],
37 out: ["microdroid_initrd.img"],
38 cmd: "cat $(in) > $(out)",
39}
40
41// This contains vbmeta hashes & related (boot)configs which are passed to kernel/init
42genrule {
43 name: "microdroid_vbmeta_bootconfig_gen",
44 srcs: [":microdroid_vbmeta"],
45 out: ["bootconfig_microdroid_vbmeta"],
46 tools: [
47 "gen_vbmeta_bootconfig",
48 "avbtool",
49 ],
50 cmd: "$(location gen_vbmeta_bootconfig) $(location avbtool) $(in) > $(out)",
51}
52
53bootconfigs_arm64 = [
54 ":microdroid_bootconfig_arm64_gen",
55 ":microdroid_vbmeta_bootconfig_gen",
56]
57
58bootconfigs_x86_64 = [
59 ":microdroid_bootconfig_x86_64_gen",
60 ":microdroid_vbmeta_bootconfig_gen",
61]
62
63genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +090064 name: "microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000065 tools: ["initrd_bootconfig"],
66 srcs: [
67 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +090068 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000069 ] + bootconfigs_arm64,
Seungjae Yooe85831e2022-12-12 09:34:58 +090070 out: ["microdroid_initrd_debuggable_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +000071 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000072}
73
74genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +090075 name: "microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000076 tools: ["initrd_bootconfig"],
77 srcs: [
78 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +090079 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000080 ] + bootconfigs_x86_64,
Seungjae Yooe85831e2022-12-12 09:34:58 +090081 out: ["microdroid_initrd_debuggable_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +000082 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000083}
84
85genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +000086 name: "microdroid_initrd_normal_arm64",
87 tools: ["initrd_bootconfig"],
88 srcs: [
89 ":microdroid_initrd_gen",
90 ":microdroid_bootconfig_normal_src",
91 ] + bootconfigs_arm64,
92 out: ["microdroid_initrd_normal_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +000093 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000094}
95
96genrule {
97 name: "microdroid_initrd_normal_x86_64",
98 tools: ["initrd_bootconfig"],
99 srcs: [
100 ":microdroid_initrd_gen",
101 ":microdroid_bootconfig_normal_src",
102 ] + bootconfigs_x86_64,
103 out: ["microdroid_initrd_normal_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000104 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000105}
106
107prebuilt_etc {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900108 name: "microdroid_initrd_debuggable",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000109 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000110 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000111 arch: {
112 x86_64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900113 src: ":microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000114 },
115 arm64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900116 src: ":microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000117 },
118 },
Seungjae Yooe85831e2022-12-12 09:34:58 +0900119 filename: "microdroid_initrd_debuggable.img",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000120}
121
122prebuilt_etc {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000123 name: "microdroid_initrd_normal",
124 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000125 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000126 arch: {
127 x86_64: {
128 src: ":microdroid_initrd_normal_x86_64",
129 },
130 arm64: {
131 src: ":microdroid_initrd_normal_arm64",
132 },
133 },
134 filename: "microdroid_initrd_normal.img",
135}