blob: 17adf90dc403582876dd44ca8426105ebeff8ff1 [file] [log] [blame]
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//src/virtualization/packages/guest_package.gni")
declare_args() {
# The termina kernel image.
#
# Defaults to the common linux kernel image from CIPD, but can be overridden to use a
# custom kernel for development purposes.
termina_kernel = "//prebuilt/virtualization/packages/termina_guest/kernel/${target_cpu}/vm_kernel-5.15"
# The termina disk image.
#
# Defaults to the disk image from CIPD, but can be overridden to use a
# custom disk for development purposes.
termina_disk = "//prebuilt/virtualization/packages/termina_guest/images/${target_cpu}/vm_rootfs.img"
# The termina tools disk image.
#
# Defaults to the disk image from CIPD, but can be overridden to use a
# custom disk for development purposes.
termina_tools = "//prebuilt/virtualization/packages/termina_guest/images/${target_cpu}/vm_tools.img"
# The termina extras disk image.
#
# Defaults to the disk image from CIPD, but can be overridden to use a
# custom disk for development purposes.
termina_extras = "//prebuilt/virtualization/packages/termina_guest/images/${target_cpu}/vm_extras.img"
}
_kernel_artifact_path = "${target_out_dir}/vm_kernel"
_rootfs_artifact_path = "${target_out_dir}/vm_rootfs"
_tools_artifact_path = "${target_out_dir}/vm_tools"
_extras_artifact_path = "${target_out_dir}/vm_extras"
guest_prebuilt("kernel") {
source = termina_kernel
output = _kernel_artifact_path
}
guest_prebuilt("rootfs") {
source = termina_disk
output = _rootfs_artifact_path
}
guest_prebuilt("tools") {
source = termina_tools
output = _tools_artifact_path
}
guest_prebuilt("extras") {
source = termina_extras
output = _extras_artifact_path
}
guest_package("termina_guest") {
default_net = true
virtio_balloon = true
virtio_console = true
virtio_gpu = true
virtio_mem = false
virtio_rng = true
virtio_sound = true
virtio_sound_input = false
virtio_vsock = true
virtio_mem_block_size = "4M"
virtio_mem_region_size = "16G"
virtio_mem_region_alignment = "128M"
deps = [
":kernel",
":rootfs",
":tools",
]
cmdline = "console=hvc0 root=/dev/vda rw"
linux = _kernel_artifact_path
rootfs_name = "rootfs.img"
tools_name = "vm_tools.img"
resources = [
{
path = _rootfs_artifact_path
dest = "${rootfs_name}"
},
{
path = _tools_artifact_path
dest = "${tools_name}"
},
]
block_devices = [
"data/${rootfs_name},ro",
"data/${tools_name},ro",
]
}