| 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 | 156248b | 2025-01-10 00:27:45 +0100 | [diff] [blame] | 2 | load("@rules_pkg//:pkg.bzl", "pkg_zip") |
| Tim Windelschmidt | bed76d9 | 2025-02-18 03:04:14 +0100 | [diff] [blame] | 3 | load("//osbase/build/mkerofs:def.bzl", "erofs_image") |
| Jan Schär | 5fdca56 | 2025-04-14 11:33:29 +0000 | [diff] [blame^] | 4 | load("//osbase/build/mkoci:def.bzl", "oci_os_image") |
| Tim Windelschmidt | bed76d9 | 2025-02-18 03:04:14 +0100 | [diff] [blame] | 5 | load("//osbase/build/mkpayload:def.bzl", "efi_unified_kernel_image") |
| 6 | load("//osbase/build/mkverity:def.bzl", "verity_image") |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 7 | |
| 8 | erofs_image( |
| 9 | name = "rootfs", |
| 10 | files = { |
| Tim Windelschmidt | 24bf6fd | 2025-02-12 04:48:24 +0100 | [diff] [blame] | 11 | "/init": ":testos", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 12 | }, |
| 13 | ) |
| 14 | |
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 15 | verity_image( |
| 16 | name = "verity_rootfs", |
| 17 | source = ":rootfs", |
| 18 | ) |
| 19 | |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 20 | efi_unified_kernel_image( |
| 21 | name = "kernel_efi", |
| Lorenz Brun | ad13188 | 2023-06-28 16:42:20 +0200 | [diff] [blame] | 22 | cmdline = "quiet console=ttyS0 init=/init", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 23 | kernel = "//third_party/linux", |
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 24 | verity = ":verity_rootfs", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 25 | ) |
| 26 | |
| 27 | # An intermediary "bundle" format until we finalize the actual bundle format. This is NOT stable until migrated |
| 28 | # to the actual bundle format. |
| 29 | # TODO(lorenz): Replace this |
| 30 | pkg_zip( |
| 31 | name = "testos_bundle", |
| 32 | srcs = [ |
| 33 | ":kernel_efi", |
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 34 | ":verity_rootfs", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 35 | ], |
| Lorenz Brun | aadeb79 | 2023-03-27 15:53:56 +0200 | [diff] [blame] | 36 | visibility = ["//visibility:public"], |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 37 | ) |
| 38 | |
| Jan Schär | 5fdca56 | 2025-04-14 11:33:29 +0000 | [diff] [blame^] | 39 | oci_os_image( |
| 40 | name = "testos_image", |
| 41 | srcs = { |
| 42 | "system": ":verity_rootfs", |
| 43 | "kernel.efi": ":kernel_efi", |
| 44 | }, |
| 45 | visibility = ["//visibility:public"], |
| 46 | ) |
| 47 | |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 48 | go_library( |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 49 | name = "testos_lib", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 50 | srcs = ["main.go"], |
| Mateusz Zalega | edffbb5 | 2022-01-11 15:27:22 +0100 | [diff] [blame] | 51 | importpath = "source.monogon.dev/metropolis/installer/test/testos", |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 52 | visibility = ["//visibility:private"], |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 53 | deps = ["@org_golang_x_sys//unix"], |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 54 | ) |
| 55 | |
| 56 | go_binary( |
| 57 | name = "testos", |
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 58 | embed = [":testos_lib"], |
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 59 | visibility = ["//visibility:public"], |
| 60 | ) |