m/p/kexec: add minimal kexec library
This adds a minimal kexec library which wraps the kexec_file_load
syscall in a Go-style interface.
Change-Id: Ia69b47ec6a305b19b238f30a7515aabdccb44bb9
Reviewed-on: https://review.monogon.dev/c/monogon/+/903
Tested-by: Jenkins CI
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/metropolis/pkg/kexec/BUILD.bazel b/metropolis/pkg/kexec/BUILD.bazel
new file mode 100644
index 0000000..61da706
--- /dev/null
+++ b/metropolis/pkg/kexec/BUILD.bazel
@@ -0,0 +1,20 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+ name = "kexec",
+ srcs = ["kexec.go"],
+ importpath = "source.monogon.dev/metropolis/pkg/kexec",
+ visibility = ["//visibility:public"],
+ deps = select({
+ "@io_bazel_rules_go//go/platform:amd64": [
+ "@org_golang_x_sys//unix",
+ ],
+ "@io_bazel_rules_go//go/platform:arm64": [
+ "@org_golang_x_sys//unix",
+ ],
+ "@io_bazel_rules_go//go/platform:riscv64": [
+ "@org_golang_x_sys//unix",
+ ],
+ "//conditions:default": [],
+ }),
+)