blob: 3522644de6c0d6df2558ad4a9e391b8bcf58f347 [file] [log] [blame]
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load("//osbase/build/genproductinfo:defs.bzl", "product_info")
load("//osbase/build/mkcpio:def.bzl", "node_initramfs")
load("//osbase/build/mkpayload:def.bzl", "efi_unified_kernel_image")
go_library(
name = "installer_lib",
srcs = ["main.go"],
embedsrcs = [
"//build:copyright_line.txt", #keep
"//metropolis/node/abloader", #keep
],
importpath = "source.monogon.dev/metropolis/installer",
visibility = ["//visibility:private"],
deps = [
"//go/logging",
"//metropolis/installer/install",
"//metropolis/node/core/devmgr",
"//osbase/blockdev",
"//osbase/bringup",
"//osbase/efivarfs",
"//osbase/oci",
"//osbase/oci/osimage",
"//osbase/structfs",
"//osbase/supervisor",
"//osbase/sysfs",
"@org_golang_x_sys//unix",
],
)
go_binary(
name = "installer",
embed = [":installer_lib"],
visibility = ["//visibility:private"],
)
node_initramfs(
name = "initramfs",
files = {
"/init": "//metropolis/installer",
},
fsspecs = [
"//osbase/build:earlydev.fsspec",
"//third_party:firmware",
],
visibility = ["//metropolis/installer/test:__pkg__"],
)
product_info(
name = "product_info",
os_id = "metropolis-installer",
os_name = "Metropolis Installer",
out_os_release = ":product_info_os_release",
stamp_var = "STABLE_MONOGON_metropolis_version",
)
efi_unified_kernel_image(
name = "kernel",
cmdline = "console=ttyS0,115200 console=ttyAMA0 console=tty0 quiet",
initrd = [
"//third_party:ucode",
":initramfs",
],
kernel = "//third_party/linux",
os_release = ":product_info_os_release",
visibility = ["//visibility:public"],
)