| 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 | ) |