blob: 17fd8c7c7553d36b915151f01c9d7b303d32748b [file] [log] [blame]
Mateusz Zalega43e21072021-10-08 18:05:29 +02001load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
2load("//metropolis/node/build:def.bzl", "node_initramfs")
3load("//metropolis/node/build/genosrelease:defs.bzl", "os_release")
4load("//metropolis/node/build:efi.bzl", "efi_unified_kernel_image")
5
6go_library(
Lorenz Brund13c1c62022-03-30 19:58:58 +02007 name = "installer_lib",
Serge Bazanskif71fe922023-03-22 01:10:37 +01008 srcs = [
9 "log.go",
10 "main.go",
11 ],
Mateusz Zalegaedffbb52022-01-11 15:27:22 +010012 importpath = "source.monogon.dev/metropolis/installer",
Mateusz Zalega43e21072021-10-08 18:05:29 +020013 visibility = ["//visibility:private"],
14 deps = [
Lorenz Brund13c1c62022-03-30 19:58:58 +020015 "//metropolis/node/build/mkimage/osimage",
Lorenz Brunad131882023-06-28 16:42:20 +020016 "//metropolis/pkg/blockdev",
Lorenz Brund13c1c62022-03-30 19:58:58 +020017 "//metropolis/pkg/efivarfs",
18 "//metropolis/pkg/sysfs",
19 "@org_golang_x_sys//unix",
Mateusz Zalega43e21072021-10-08 18:05:29 +020020 ],
21)
22
23go_binary(
24 name = "installer",
Lorenz Brund13c1c62022-03-30 19:58:58 +020025 embed = [":installer_lib"],
Mateusz Zalega43e21072021-10-08 18:05:29 +020026 visibility = ["//visibility:private"],
27)
28
29node_initramfs(
30 name = "initramfs",
31 files = {
Mateusz Zalegaedffbb52022-01-11 15:27:22 +010032 "//metropolis/installer": "/init",
Mateusz Zalega43e21072021-10-08 18:05:29 +020033 },
Serge Bazanskia3938142022-04-04 17:04:47 +020034 fsspecs = [
35 "//metropolis/node/build:earlydev.fsspec",
36 ],
Mateusz Zalegaedffbb52022-01-11 15:27:22 +010037 visibility = ["//metropolis/installer/test:__pkg__"],
Mateusz Zalega43e21072021-10-08 18:05:29 +020038)
39
40os_release(
41 name = "installer-release-info",
42 os_id = "metropolis-installer",
43 os_name = "Metropolis Installer",
44 stamp_var = "STABLE_METROPOLIS_version",
45)
46
47efi_unified_kernel_image(
48 name = "kernel",
Lorenz Brun0e057fe2022-01-13 16:19:10 +010049 cmdline = "console=ttyS0,115200 console=tty0 quiet",
Lorenz Brunb6c0aa92022-02-24 17:53:40 +010050 initrd = [
51 "//metropolis/node:ucode",
52 ":initramfs",
53 ],
Mateusz Zalega43e21072021-10-08 18:05:29 +020054 kernel = "//third_party/linux",
55 os_release = ":installer-release-info",
56 visibility = ["//visibility:public"],
57)