| 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") | 
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 2 | load("//metropolis/node/build:def.bzl", "erofs_image", "verity_image") | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 3 | load("//metropolis/node/build:efi.bzl", "efi_unified_kernel_image") | 
 | 4 | load("@rules_pkg//:pkg.bzl", "pkg_zip") | 
 | 5 |  | 
 | 6 | erofs_image( | 
 | 7 |     name = "rootfs", | 
 | 8 |     files = { | 
 | 9 |         ":testos": "/init", | 
 | 10 |     }, | 
 | 11 | ) | 
 | 12 |  | 
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 13 | verity_image( | 
 | 14 |     name = "verity_rootfs", | 
 | 15 |     source = ":rootfs", | 
 | 16 | ) | 
 | 17 |  | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 18 | efi_unified_kernel_image( | 
 | 19 |     name = "kernel_efi", | 
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 20 |     cmdline = "loglevel=0 console=ttyS0 init=/init", | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 21 |     kernel = "//third_party/linux", | 
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 22 |     verity = ":verity_rootfs", | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 23 | ) | 
 | 24 |  | 
 | 25 | # An intermediary "bundle" format until we finalize the actual bundle format. This is NOT stable until migrated | 
 | 26 | # to the actual bundle format. | 
 | 27 | # TODO(lorenz): Replace this | 
 | 28 | pkg_zip( | 
 | 29 |     name = "testos_bundle", | 
 | 30 |     srcs = [ | 
 | 31 |         ":kernel_efi", | 
| Mateusz Zalega | 8c2c771 | 2022-01-25 19:42:21 +0100 | [diff] [blame] | 32 |         ":verity_rootfs", | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 33 |     ], | 
| Mateusz Zalega | edffbb5 | 2022-01-11 15:27:22 +0100 | [diff] [blame] | 34 |     visibility = ["//metropolis/installer/test:__subpackages__"], | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 35 | ) | 
 | 36 |  | 
 | 37 | go_library( | 
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 38 |     name = "testos_lib", | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 39 |     srcs = ["main.go"], | 
| Mateusz Zalega | edffbb5 | 2022-01-11 15:27:22 +0100 | [diff] [blame] | 40 |     importpath = "source.monogon.dev/metropolis/installer/test/testos", | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 41 |     visibility = ["//visibility:private"], | 
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 42 |     deps = ["@org_golang_x_sys//unix"], | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 43 | ) | 
 | 44 |  | 
 | 45 | go_binary( | 
 | 46 |     name = "testos", | 
| Lorenz Brun | d13c1c6 | 2022-03-30 19:58:58 +0200 | [diff] [blame] | 47 |     embed = [":testos_lib"], | 
| Lorenz Brun | ad5b47d | 2021-11-09 13:52:56 +0100 | [diff] [blame] | 48 |     visibility = ["//visibility:public"], | 
 | 49 | ) |