| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 1 | load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") |
| Tim Windelschmidt | bed76d9 | 2025-02-18 03:04:14 +0100 | [diff] [blame] | 2 | load("//osbase/build/mkerofs:def.bzl", "erofs_image") |
| Jan Schär | 5fdca56 | 2025-04-14 11:33:29 +0000 | [diff] [blame] | 3 | load("//osbase/build/mkoci:def.bzl", "oci_os_image") |
| Tim Windelschmidt | bed76d9 | 2025-02-18 03:04:14 +0100 | [diff] [blame] | 4 | load("//osbase/build/mkpayload:def.bzl", "efi_unified_kernel_image") |
| 5 | load("//osbase/build/mkverity:def.bzl", "verity_image") |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 6 | |
| 7 | erofs_image( |
| 8 | name = "rootfs", |
| 9 | files = { |
| Tim Windelschmidt | 24bf6fd | 2025-02-12 04:48:24 +0100 | [diff] [blame] | 10 | "/init": ":testos", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 11 | }, |
| 12 | ) |
| 13 | |
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 14 | verity_image( |
| 15 | name = "verity_rootfs", |
| 16 | source = ":rootfs", |
| 17 | ) |
| 18 | |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 19 | efi_unified_kernel_image( |
| 20 | name = "kernel_efi", |
| Lorenz Brun | ad13188 | 2023-06-28 16:42:20 +0200 | [diff] [blame] | 21 | cmdline = "quiet console=ttyS0 init=/init", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 22 | kernel = "//third_party/linux", |
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 23 | verity = ":verity_rootfs", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 24 | ) |
| 25 | |
| Jan Schär | 5fdca56 | 2025-04-14 11:33:29 +0000 | [diff] [blame] | 26 | oci_os_image( |
| 27 | name = "testos_image", |
| 28 | srcs = { |
| 29 | "system": ":verity_rootfs", |
| 30 | "kernel.efi": ":kernel_efi", |
| 31 | }, |
| 32 | visibility = ["//visibility:public"], |
| 33 | ) |
| 34 | |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 35 | go_library( |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 36 | name = "testos_lib", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 37 | srcs = ["main.go"], |
| Mateusz Zalega | edffbb5 | 2022-01-11 15:27:22 +0100 | [diff] [blame] | 38 | importpath = "source.monogon.dev/metropolis/installer/test/testos", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 39 | visibility = ["//visibility:private"], |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 40 | deps = ["@org_golang_x_sys//unix"], |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 41 | ) |
| 42 | |
| 43 | go_binary( |
| 44 | name = "testos", |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 45 | embed = [":testos_lib"], |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 46 | visibility = ["//visibility:public"], |
| 47 | ) |