blob: ac0f3bb04447878288e71818a41128d94b520a5c [file]
# Copyright 2026 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT
import("//build/zbi/zbi.gni")
# Defines a kernel image, i.e., a (bootable) ZBI containing a KERNEL item.
#
# Parameters
#
# * deps
# - Required: Dependencies reaching `zbi_input()` targets, comprising the
# image contents.
# - Type: list(label)
#
# * output_name, testonly, visibility
# - Optional: The usual GN meanings.
#
template("kernel_image") {
assert(
current_toolchain == default_toolchain,
"kernel_image($target_name) should only be evaluated in the default toolchain, not $current_toolchain")
zbi(target_name) {
forward_variables_from(invoker,
[
"testonly",
"visibility",
"output_name",
"deps",
])
if (!defined(output_name)) {
output_name = target_name
}
compress = "zstd.max"
output_dir = root_out_dir
output_extension = "zbi"
output_path = rebase_path("$output_dir/$output_name.$output_extension",
root_build_dir)
metadata = {
# For the //:images build_api_module().
images = [
{
label = get_label_info(":$target_name", "label_with_toolchain")
name = "kernel"
tags = [ "incomplete" ]
type = "zbi"
path = output_path
cpu = current_cpu
},
]
}
}
}