m/n/b/unifiedefi: add bazel rule for EFI unified kernel images

This adds a new Bazel rule for generating EFI unified kernel images.
It also wraps the current Metropolis kernel in one for future use
and as a cheap test.

Change-Id: I74d7a25cc3c12d5f240eb218fbbd8ba09db1333a
Reviewed-on: https://review.monogon.dev/c/monogon/+/336
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/metropolis/node/BUILD.bazel b/metropolis/node/BUILD.bazel
index feade24..db01806 100644
--- a/metropolis/node/BUILD.bazel
+++ b/metropolis/node/BUILD.bazel
@@ -1,5 +1,6 @@
 load("@io_bazel_rules_go//go:def.bzl", "go_library")
 load("//metropolis/node/build:def.bzl", "erofs_image")
+load("//metropolis/node/build:efi.bzl", "efi_unified_kernel_image")
 
 go_library(
     name = "go_default_library",
@@ -89,10 +90,16 @@
     },
 )
 
+efi_unified_kernel_image(
+    name = "kernel_efi",
+    kernel = "//third_party/linux",
+    os_release = ":os-release-info",
+)
+
 genrule(
     name = "image",
     srcs = [
-        "//third_party/linux",
+        ":kernel_efi",
         ":rootfs",
     ],
     outs = [
@@ -100,7 +107,7 @@
     ],
     cmd = """
     $(location //metropolis/node/build/mkimage) \
-        -efi $(location //third_party/linux) \
+        -efi $(location :kernel_efi) \
         -system $(location :rootfs) \
         -out $@
     """,