m/p/gpt: add GPT package
This introduces our own GPT package. It will be used for provisioning
and Metropolis images.
Change-Id: I905cd5d540673fd4b69c01d8975f98b88e24edd4
Reviewed-on: https://review.monogon.dev/c/monogon/+/956
Tested-by: Jenkins CI
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/metropolis/pkg/gpt/BUILD.bazel b/metropolis/pkg/gpt/BUILD.bazel
new file mode 100644
index 0000000..25b6b7b
--- /dev/null
+++ b/metropolis/pkg/gpt/BUILD.bazel
@@ -0,0 +1,33 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+load("//metropolis/test/ktest:ktest.bzl", "ktest")
+
+go_library(
+ name = "gpt",
+ srcs = [
+ "gpt.go",
+ "mbr.go",
+ ],
+ importpath = "source.monogon.dev/metropolis/pkg/gpt",
+ visibility = ["//visibility:public"],
+ deps = ["@com_github_google_uuid//:uuid"],
+)
+
+go_test(
+ name = "gpt_test",
+ srcs = [
+ "gpt_test.go",
+ "linux_test.go",
+ "mbr_test.go",
+ "structs_test.go",
+ ],
+ embed = [":gpt"],
+ deps = [
+ "@com_github_google_uuid//:uuid",
+ "@org_golang_x_sys//unix",
+ ],
+)
+
+ktest(
+ cmdline = "ramdisk_size=4096",
+ tester = ":gpt_test",
+)