blob: de28d8a9c583af0d72916c3eaeef2e344db1c987 [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 Ioffe57b4dfc2023-06-14 20:29:37 +000037 ":microdroid_fstab_ramdisk",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000038 ],
39 out: ["microdroid_initrd.img"],
40 cmd: "cat $(in) > $(out)",
41}
42
43// This contains vbmeta hashes & related (boot)configs which are passed to kernel/init
44genrule {
45 name: "microdroid_vbmeta_bootconfig_gen",
46 srcs: [":microdroid_vbmeta"],
47 out: ["bootconfig_microdroid_vbmeta"],
48 tools: [
49 "gen_vbmeta_bootconfig",
50 "avbtool",
51 ],
52 cmd: "$(location gen_vbmeta_bootconfig) $(location avbtool) $(in) > $(out)",
53}
54
55bootconfigs_arm64 = [
56 ":microdroid_bootconfig_arm64_gen",
57 ":microdroid_vbmeta_bootconfig_gen",
58]
59
60bootconfigs_x86_64 = [
61 ":microdroid_bootconfig_x86_64_gen",
62 ":microdroid_vbmeta_bootconfig_gen",
63]
64
65genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +090066 name: "microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000067 tools: ["initrd_bootconfig"],
68 srcs: [
69 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +090070 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000071 ] + bootconfigs_arm64,
Seungjae Yooe85831e2022-12-12 09:34:58 +090072 out: ["microdroid_initrd_debuggable_arm64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +000073 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000074}
75
76genrule {
Seungjae Yooe85831e2022-12-12 09:34:58 +090077 name: "microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000078 tools: ["initrd_bootconfig"],
79 srcs: [
80 ":microdroid_initrd_gen",
Seungjae Yooe85831e2022-12-12 09:34:58 +090081 ":microdroid_bootconfig_debuggable_src",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000082 ] + bootconfigs_x86_64,
Seungjae Yooe85831e2022-12-12 09:34:58 +090083 out: ["microdroid_initrd_debuggable_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +000084 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +000085}
86
87genrule {
Shikha Panwarf46f96b2022-08-22 14:11:14 +000088 name: "microdroid_initrd_normal_arm64",
89 tools: ["initrd_bootconfig"],
90 srcs: [
91 ":microdroid_initrd_gen",
92 ":microdroid_bootconfig_normal_src",
93 ] + bootconfigs_arm64,
94 out: ["microdroid_initrd_normal_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 {
99 name: "microdroid_initrd_normal_x86_64",
100 tools: ["initrd_bootconfig"],
101 srcs: [
102 ":microdroid_initrd_gen",
103 ":microdroid_bootconfig_normal_src",
104 ] + bootconfigs_x86_64,
105 out: ["microdroid_initrd_normal_x86_64"],
Shikha Panwar049c28b2023-01-10 05:25:05 +0000106 cmd: "$(location initrd_bootconfig) attach --output $(out) $(in)",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000107}
108
109prebuilt_etc {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900110 name: "microdroid_initrd_debuggable",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000111 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000112 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000113 arch: {
114 x86_64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900115 src: ":microdroid_initrd_debuggable_x86_64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000116 },
117 arm64: {
Seungjae Yooe85831e2022-12-12 09:34:58 +0900118 src: ":microdroid_initrd_debuggable_arm64",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000119 },
120 },
Seungjae Yooe85831e2022-12-12 09:34:58 +0900121 filename: "microdroid_initrd_debuggable.img",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000122}
123
124prebuilt_etc {
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000125 name: "microdroid_initrd_normal",
126 // We don't have ramdisk for architectures other than x86_64 & arm64
Alice Wang1c7e0eb2023-04-11 17:03:42 +0000127 src: ":empty_file",
Shikha Panwarf46f96b2022-08-22 14:11:14 +0000128 arch: {
129 x86_64: {
130 src: ":microdroid_initrd_normal_x86_64",
131 },
132 arm64: {
133 src: ":microdroid_initrd_normal_arm64",
134 },
135 },
136 filename: "microdroid_initrd_normal.img",
137}