metropolis/node: move misplaced packages out of core
abloader, bios_bootcode and minit don't run as part of the core process,
so it doesn't make sense to have them in //metropolis/node/core.
This changes moves these three to //metropolis/node.
Change-Id: I908efb311a138f07a9f1de8e3c23437ff00131ee
Reviewed-on: https://review.monogon.dev/c/monogon/+/4196
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/node/abloader/BUILD.bazel b/metropolis/node/abloader/BUILD.bazel
new file mode 100644
index 0000000..20f26db
--- /dev/null
+++ b/metropolis/node/abloader/BUILD.bazel
@@ -0,0 +1,32 @@
+load("@rules_rust//rust:defs.bzl", "rust_binary")
+load("//osbase/build:def.bzl", "ignore_unused_configuration_target")
+
+rust_binary(
+ name = "abloader_bin",
+ srcs = ["main.rs"],
+ edition = "2021",
+ platform = select({
+ "@platforms//cpu:x86_64": "//build/platforms:uefi_x86_64",
+ "@platforms//cpu:aarch64": "//build/platforms:uefi_aarch64",
+ }),
+ # rust_binary depends on the status files by default, even if no stamp
+ # variables are used, which causes unnecessary rebuilds when the stable
+ # status file changes.
+ stamp = 0,
+ target_compatible_with = [
+ "@platforms//os:uefi",
+ ],
+ visibility = ["//visibility:private"],
+ deps = [
+ "//metropolis/node/abloader/spec:abloader_proto_rs",
+ "@crate_index_efi//:prost",
+ "@crate_index_efi//:uefi",
+ "@crate_index_efi//:uefi-services",
+ ],
+)
+
+ignore_unused_configuration_target(
+ name = "abloader",
+ dep = ":abloader_bin",
+ visibility = ["//visibility:public"],
+)