blob: 9db86ce1dac223a09d84821f3533e65a7be803bf [file] [log] [blame] [edit]
# Copyright (C) 2021 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
load("@bazel_skylib//lib:paths.bzl", "paths")
load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("@rules_pkg//pkg:install.bzl", "pkg_install")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load(
"//build/kernel/kleaf:kernel.bzl",
"ddk_headers",
"ddk_module",
"dependency_graph",
"initramfs",
"initramfs_modules_lists_test",
"kernel_build",
"kernel_compile_commands",
"kernel_dtstree",
"kernel_module_group",
"kernel_module_test",
"kernel_modules_install",
"merged_kernel_uapi_headers",
"vendor_boot_image",
)
load("//common:modules.bzl", "get_gki_modules_list", "get_kunit_modules_list")
filegroup(
name = "goldfish_address_space_sources",
srcs = [
"goldfish_drivers/defconfig_test.h",
"goldfish_drivers/goldfish_address_space.c",
],
)
filegroup(
name = "goldfish_pipe_sources",
srcs = [
"goldfish_drivers/defconfig_test.h",
"goldfish_drivers/goldfish_pipe.c",
],
)
filegroup(
name = "goldfish_sync_sources",
srcs = [
"goldfish_drivers/defconfig_test.h",
"goldfish_drivers/goldfish_sync.c",
],
)
filegroup(
name = "v4l2loopback_sources",
srcs = [
"v4l2loopback/v4l2loopback.c",
"v4l2loopback/v4l2loopback.h",
"v4l2loopback/v4l2loopback_formats.h",
],
)
ddk_headers(
name = "common_headers",
hdrs = glob(["uapi/**/*.h"]),
includes = ["."],
linux_includes = ["uapi"],
)
_VIRT_COMMON_MODULES = [
# keep sorted
"btintel.ko",
"btrtl.ko",
"btusb.ko",
"cfg80211.ko",
"dummy-cpufreq.ko",
"dummy_hcd.ko",
"failover.ko",
"goldfish_battery.ko",
"gs_usb.ko",
"hci_vhci.ko",
"mac80211.ko",
"mac80211_hwsim.ko",
"mt76.ko",
"mt76-usb.ko",
"mt76x0-common.ko",
"mt76x02-lib.ko",
"mt76x02-usb.ko",
"mt76x0u.ko",
"mt76x2-common.ko",
"mt76x2u.ko",
"net_failover.ko",
"pulse8-cec.ko",
"rtc-test.ko",
"snd-aloop.ko",
"system_heap.ko",
"usbip-core.ko",
"vhci-hcd.ko",
"virt_wifi.ko",
"virtio-gpu.ko",
"virtio-rng.ko",
"virtio_dma_buf.ko",
"virtio_input.ko",
"virtio_net.ko",
"virtio_snd.ko",
"vkms.ko",
]
_VIRT_AARCH64_MODULES = [
# keep sorted
"ambakmi.ko",
"armmmci.ko",
"clk-vexpress-osc.ko",
"drm_dma_helper.ko",
"kfifo_buf.ko",
"nd_virtio.ko",
"pl111_drm.ko",
"psmouse.ko",
"scmi_iio.ko",
"vexpress-config.ko",
"vexpress-sysreg.ko",
"virtio_mmio.ko",
"virtio_pmem.ko",
]
kernel_build(
name = "virtual_device_x86_64",
srcs = ["//common:kernel_x86_64_sources"],
outs = [],
arch = "x86_64",
base_kernel = "//common:kernel_x86_64",
make_goals = [
"modules",
],
makefile = "//common:Makefile",
module_outs = _VIRT_COMMON_MODULES + [
# keep sorted
"nd_virtio.ko",
"test_meminit.ko",
"virtio_pmem.ko",
],
post_defconfig_fragments = [
"virtual_device_core.fragment",
"virtual_device.fragment",
],
strip_modules = True,
visibility = ["//common-modules:__subpackages__"],
)
kernel_compile_commands(
name = "virtual_device_x86_64_compile_commands",
deps = [
":virtual_device_x86_64",
":virtual_device_x86_64_external_modules",
],
)
ddk_module(
name = "x86_64/goldfish_drivers/goldfish_address_space",
srcs = [":goldfish_address_space_sources"],
out = "goldfish_drivers/goldfish_address_space.ko",
kernel_build = ":virtual_device_x86_64",
deps = [":common_headers"],
)
ddk_module(
name = "x86_64/goldfish_drivers/goldfish_pipe",
srcs = [":goldfish_pipe_sources"],
out = "goldfish_drivers/goldfish_pipe.ko",
kernel_build = ":virtual_device_x86_64",
deps = [":common_headers"],
)
ddk_module(
name = "x86_64/goldfish_drivers/goldfish_sync",
srcs = [":goldfish_sync_sources"],
out = "goldfish_drivers/goldfish_sync.ko",
kernel_build = ":virtual_device_x86_64",
deps = [":common_headers"],
)
ddk_module(
name = "x86_64/v4l2loopback",
srcs = [":v4l2loopback_sources"],
out = "v4l2loopback.ko",
kernel_build = ":virtual_device_x86_64",
deps = [":common_headers"],
)
kernel_module_group(
name = "virtual_device_x86_64_external_modules",
srcs = [
":x86_64/goldfish_drivers/goldfish_address_space",
":x86_64/goldfish_drivers/goldfish_pipe",
":x86_64/goldfish_drivers/goldfish_sync",
":x86_64/v4l2loopback",
"//common-modules/virtio-media/driver:x86_64/virtio-media",
],
)
kernel_modules_install(
name = "virtual_device_x86_64_modules_install",
kernel_build = ":virtual_device_x86_64",
kernel_modules = [
":virtual_device_x86_64_external_modules",
],
)
merged_kernel_uapi_headers(
name = "virtual_device_x86_64_merged_kernel_uapi_headers",
kernel_build = ":virtual_device_x86_64",
kernel_modules = [
":virtual_device_x86_64_external_modules",
],
)
initramfs(
name = "virtual_device_x86_64_initramfs",
kernel_modules_install = ":virtual_device_x86_64_modules_install",
modules_blocklist = ":modules.blocklist",
modules_options = ":modules.options",
ramdisk_compression = "lz4",
)
dependency_graph(
name = "virtual_device_x86_64_dependency_graph",
colorful = True,
kernel_build = ":virtual_device_x86_64",
kernel_modules = [
":virtual_device_x86_64_external_modules",
],
)
pkg_files(
name = "virtual_device_x86_64_dist_files",
srcs = [
":virtual_device_x86_64",
":virtual_device_x86_64_initramfs",
":virtual_device_x86_64_merged_kernel_uapi_headers",
":virtual_device_x86_64_modules_install",
"//common:kernel_x86_64",
"//common:kernel_x86_64_additional_artifacts",
"//common:test_mappings_zip",
"//common:tests_zip_x86_64",
],
strip_prefix = strip_prefix.files_only(),
visibility = ["//visibility:private"],
)
pkg_install(
name = "virtual_device_x86_64_dist",
srcs = [":virtual_device_x86_64_dist_files"],
destdir = "out/virtual_device_x86_64/dist",
)
# artifact tests for x86_64
kernel_module_test(
name = "virtual_device_x86_64_external_modules_test",
modules = [":virtual_device_x86_64_external_modules"],
)
test_suite(
name = "virtual_device_x86_64_tests",
tests = [
# scmversion for vmlinux
"//common:kernel_x86_64_test",
# scmversion for GKI modules
"//common:kernel_x86_64_modules_test",
# scmversion for in-tree device modules
":virtual_device_x86_64_modules_test",
# scmversion for external modules
":virtual_device_x86_64_external_modules_test",
# modules lists tests
":fake_virtual_device_x86_64_modules_lists_test",
],
)
_FAKE_VIRT_DEVICE_X86_64_MODULES_LIST = [
paths.basename(m)
for m in get_gki_modules_list("x86_64")
] + _VIRT_COMMON_MODULES + [
"goldfish_address_space.ko",
"nd_virtio.ko",
"test_meminit.ko",
"v4l2loopback.ko",
"virtio_pmem.ko",
]
write_file(
name = "fake_virtual_device_x86_64_modules_list",
out = "modules_list.fake_virtual_device_x86_64",
content = _FAKE_VIRT_DEVICE_X86_64_MODULES_LIST,
)
write_file(
name = "fake_virtual_device_x86_64_modules_recovery_list",
out = "modules_recovery_list.fake_virtual_device_x86_64",
content = _FAKE_VIRT_DEVICE_X86_64_MODULES_LIST + [
"goldfish_sync.ko",
],
)
write_file(
name = "fake_virtual_device_x86_64_modules_charger_list",
out = "modules_charger_list.fake_virtual_device_x86_64",
content = _FAKE_VIRT_DEVICE_X86_64_MODULES_LIST + [
"goldfish_pipe.ko",
],
)
initramfs(
name = "fake_virtual_device_x86_64_initramfs",
kernel_modules_install = ":virtual_device_x86_64_modules_install",
modules_charger_list = ":modules_charger_list.fake_virtual_device_x86_64",
modules_list = ":modules_list.fake_virtual_device_x86_64",
modules_recovery_list = ":modules_recovery_list.fake_virtual_device_x86_64",
ramdisk_compression = "gzip",
)
initramfs_modules_lists_test(
name = "fake_virtual_device_x86_64_modules_lists_test",
expected_modules_charger_list = "modules_charger_list.fake_virtual_device_x86_64",
expected_modules_list = "modules_list.fake_virtual_device_x86_64",
expected_modules_recovery_list = "modules_recovery_list.fake_virtual_device_x86_64",
kernel_images = ":fake_virtual_device_x86_64_initramfs",
)
kernel_build(
name = "virtual_device_aarch64",
srcs = ["//common:kernel_aarch64_sources"],
outs = [
"arch/arm64/boot/dts/arm/fvp-base-revc.dtb",
],
base_kernel = "//common:kernel_aarch64",
make_goals = [
"modules",
"arm/fvp-base-revc.dtb",
],
makefile = "//common:Makefile",
module_outs = _VIRT_COMMON_MODULES + _VIRT_AARCH64_MODULES,
post_defconfig_fragments = [
"virtual_device_core.fragment",
"virtual_device.fragment",
"aarch64.fragment",
],
strip_modules = True,
visibility = ["//common-modules:__subpackages__"],
)
kernel_compile_commands(
name = "virtual_device_aarch64_compile_commands",
deps = [
":virtual_device_aarch64",
":virtual_device_aarch64_external_modules",
],
)
ddk_module(
name = "aarch64/goldfish_drivers/goldfish_address_space",
srcs = [":goldfish_address_space_sources"],
out = "goldfish_drivers/goldfish_address_space.ko",
kernel_build = ":virtual_device_aarch64",
deps = [":common_headers"],
)
ddk_module(
name = "aarch64/goldfish_drivers/goldfish_pipe",
srcs = [":goldfish_pipe_sources"],
out = "goldfish_drivers/goldfish_pipe.ko",
kernel_build = ":virtual_device_aarch64",
deps = [":common_headers"],
)
ddk_module(
name = "aarch64/goldfish_drivers/goldfish_sync",
srcs = [":goldfish_sync_sources"],
out = "goldfish_drivers/goldfish_sync.ko",
kernel_build = ":virtual_device_aarch64",
deps = [":common_headers"],
)
ddk_module(
name = "aarch64/v4l2loopback",
srcs = [":v4l2loopback_sources"],
out = "v4l2loopback.ko",
kernel_build = ":virtual_device_aarch64",
deps = [":common_headers"],
)
kernel_module_group(
name = "virtual_device_aarch64_external_modules",
srcs = [
":aarch64/goldfish_drivers/goldfish_address_space",
":aarch64/goldfish_drivers/goldfish_pipe",
":aarch64/goldfish_drivers/goldfish_sync",
":aarch64/v4l2loopback",
"//common-modules/virtio-media/driver:aarch64/virtio-media",
],
)
kernel_modules_install(
name = "virtual_device_aarch64_modules_install",
kernel_build = ":virtual_device_aarch64",
kernel_modules = [
":virtual_device_aarch64_external_modules",
],
)
merged_kernel_uapi_headers(
name = "virtual_device_aarch64_merged_kernel_uapi_headers",
kernel_build = ":virtual_device_aarch64",
kernel_modules = [
":virtual_device_aarch64_external_modules",
],
)
initramfs(
name = "virtual_device_aarch64_initramfs",
kernel_modules_install = ":virtual_device_aarch64_modules_install",
modules_blocklist = ":modules_aarch64.blocklist",
modules_options = ":modules.options",
ramdisk_compression = "lz4",
)
_FAKE_VIRT_DEVICE_AARCH64_MODULES_LIST = [paths.basename(m) for m in get_gki_modules_list("arm64")] + _VIRT_COMMON_MODULES + _VIRT_AARCH64_MODULES
write_file(
name = "fake_virtual_device_aarch64_modules_list",
out = "modules_list.fake_virtual_device_aarch64",
content = _FAKE_VIRT_DEVICE_AARCH64_MODULES_LIST,
)
write_file(
name = "fake_virtual_device_aarch64_modules_recovery_list",
out = "modules_recovery_list.fake_virtual_device_aarch64",
content = _FAKE_VIRT_DEVICE_AARCH64_MODULES_LIST + [
"goldfish_sync.ko",
],
)
write_file(
name = "fake_virtual_device_aarch64_modules_charger_list",
out = "modules_charger_list.fake_virtual_device_aarch64",
content = _FAKE_VIRT_DEVICE_AARCH64_MODULES_LIST + [
"goldfish_pipe.ko",
],
)
initramfs(
name = "fake_virtual_device_aarch64_initramfs",
kernel_modules_install = ":virtual_device_aarch64_modules_install",
modules_charger_list = ":modules_charger_list.fake_virtual_device_aarch64",
modules_list = ":modules_list.fake_virtual_device_aarch64",
modules_recovery_list = ":modules_recovery_list.fake_virtual_device_aarch64",
vendor_boot_name = "vendor_kernel_boot",
)
vendor_boot_image(
name = "fake_virtual_device_aarch64_vendor_boot_image",
outs = [
"dtb.img",
"ramdisk.lz4",
"vendor_kernel_boot.img",
],
initramfs = ":fake_virtual_device_aarch64_initramfs",
kernel_build = ":virtual_device_aarch64",
unpack_ramdisk = True,
vendor_boot_name = "vendor_kernel_boot",
)
filegroup(
name = "fake_virtual_device_aarch64_images",
srcs = [
":fake_virtual_device_aarch64_initramfs",
":fake_virtual_device_aarch64_vendor_boot_image",
],
)
initramfs_modules_lists_test(
name = "fake_virtual_device_aarch64_vendor_kernel_boot_modules_lists_test",
build_vendor_kernel_boot = True,
expected_modules_charger_list = "modules_charger_list.fake_virtual_device_aarch64",
expected_modules_list = "modules_list.fake_virtual_device_aarch64",
expected_modules_recovery_list = "modules_recovery_list.fake_virtual_device_aarch64",
kernel_images = ":fake_virtual_device_aarch64_images",
)
dependency_graph(
name = "virtual_device_aarch64_dependency_graph",
colorful = True,
kernel_build = ":virtual_device_aarch64",
kernel_modules = [
":virtual_device_aarch64_external_modules",
],
)
pkg_files(
name = "virtual_device_aarch64_dist_files",
srcs = [
":virtual_device_aarch64",
":virtual_device_aarch64_initramfs",
":virtual_device_aarch64_merged_kernel_uapi_headers",
":virtual_device_aarch64_modules_install",
"//common:kernel_aarch64",
"//common:kernel_aarch64_additional_artifacts",
"//common:test_mappings_zip",
"//common:tests_zip_arm64",
],
strip_prefix = strip_prefix.files_only(),
visibility = ["//visibility:private"],
)
pkg_install(
name = "virtual_device_aarch64_dist",
srcs = [":virtual_device_aarch64_dist_files"],
destdir = "out/virtual_device_aarch64/dist",
)
# artifact tests for aarch64
test_suite(
name = "virtual_device_aarch64_tests",
tests = [
# modules lists tests
":fake_virtual_device_aarch64_vendor_kernel_boot_modules_lists_test",
],
)
kernel_build(
name = "virtual_device_aarch64_16k",
srcs = ["//common:kernel_aarch64_sources"],
outs = [
"arch/arm64/boot/dts/arm/fvp-base-revc.dtb",
],
base_kernel = "//common:kernel_aarch64_16k",
make_goals = [
"modules",
"arm/fvp-base-revc.dtb",
],
makefile = "//common:Makefile",
module_outs = _VIRT_COMMON_MODULES + _VIRT_AARCH64_MODULES,
page_size = "16k",
post_defconfig_fragments = [
"virtual_device_core.fragment",
"virtual_device.fragment",
"aarch64.fragment",
],
strip_modules = True,
visibility = ["//common-modules:__subpackages__"],
)
ddk_module(
name = "aarch64_16k/goldfish_drivers/goldfish_address_space",
srcs = [":goldfish_address_space_sources"],
out = "goldfish_drivers/goldfish_address_space.ko",
kernel_build = ":virtual_device_aarch64_16k",
deps = [":common_headers"],
)
ddk_module(
name = "aarch64_16k/goldfish_drivers/goldfish_pipe",
srcs = [":goldfish_pipe_sources"],
out = "goldfish_drivers/goldfish_pipe.ko",
kernel_build = ":virtual_device_aarch64_16k",
deps = [":common_headers"],
)
ddk_module(
name = "aarch64_16k/goldfish_drivers/goldfish_sync",
srcs = [":goldfish_sync_sources"],
out = "goldfish_drivers/goldfish_sync.ko",
kernel_build = ":virtual_device_aarch64_16k",
deps = [":common_headers"],
)
ddk_module(
name = "aarch64_16k/v4l2loopback",
srcs = [":v4l2loopback_sources"],
out = "v4l2loopback.ko",
kernel_build = ":virtual_device_aarch64_16k",
deps = [":common_headers"],
)
kernel_module_group(
name = "virtual_device_aarch64_16k_external_modules",
srcs = [
":aarch64_16k/goldfish_drivers/goldfish_address_space",
":aarch64_16k/goldfish_drivers/goldfish_pipe",
":aarch64_16k/goldfish_drivers/goldfish_sync",
":aarch64_16k/v4l2loopback",
"//common-modules/virtio-media/driver:aarch64_16k/virtio-media",
],
)
kernel_modules_install(
name = "virtual_device_aarch64_16k_modules_install",
kernel_build = ":virtual_device_aarch64_16k",
kernel_modules = [
":virtual_device_aarch64_16k_external_modules",
],
)
initramfs(
name = "virtual_device_aarch64_16k_initramfs",
kernel_modules_install = ":virtual_device_aarch64_16k_modules_install",
modules_blocklist = ":modules_aarch64.blocklist",
modules_options = ":modules.options",
ramdisk_compression = "lz4",
)
pkg_files(
name = "virtual_device_aarch64_16k_dist_files",
srcs = [
":virtual_device_aarch64_16k",
":virtual_device_aarch64_16k_initramfs",
":virtual_device_aarch64_16k_modules_install",
"//common:kernel_aarch64_16k",
"//common:kernel_aarch64_16k_images",
"//common:test_mappings_zip",
],
strip_prefix = strip_prefix.files_only(),
visibility = ["//visibility:private"],
)
pkg_install(
name = "virtual_device_aarch64_16k_dist",
srcs = [":virtual_device_aarch64_16k_dist_files"],
destdir = "out/virtual_device_aarch64_16k/dist",
)
kernel_build(
name = "virtual_device_arm",
# We don't have an arm-specific source list, so use the common one.
srcs = ["//common:common_kernel_sources"],
outs = [
"System.map",
"vmlinux",
"zImage",
],
arch = "arm",
check_defconfig = "disabled",
defconfig = "//common:arch/arm64/configs/gki_defconfig",
kmi_symbol_list_strict_mode = False,
make_goals = [
"modules",
"zImage",
],
makefile = "//common:Makefile",
module_outs = [
paths.basename(module)
for module in get_gki_modules_list("arm")
] + [
paths.basename(module)
for module in get_kunit_modules_list("arm")
] + _VIRT_COMMON_MODULES + _VIRT_AARCH64_MODULES + [
# keep sorted
"cctrng.ko",
"open-dice.ko",
],
post_defconfig_fragments = [
"virtual_device_core.fragment",
"virtual_device.fragment",
"aarch64.fragment",
"arm.fragment",
],
strip_modules = False,
trim_nonlisted_kmi = False,
)
kernel_modules_install(
name = "virtual_device_arm_modules_install",
kernel_build = ":virtual_device_arm",
)
initramfs(
name = "virtual_device_arm_initramfs",
kernel_modules_install = ":virtual_device_arm_modules_install",
modules_blocklist = ":modules.blocklist",
modules_options = ":modules.options",
ramdisk_compression = "lz4",
)
pkg_files(
name = "virtual_device_arm_dist_files",
srcs = [
":virtual_device_arm",
":virtual_device_arm_initramfs",
":virtual_device_arm_modules_install",
],
strip_prefix = strip_prefix.files_only(),
visibility = ["//visibility:private"],
)
pkg_install(
name = "virtual_device_arm_dist",
srcs = [":virtual_device_arm_dist_files"],
destdir = "out/virtual_device_arm/dist",
)
kernel_build(
name = "server_aarch64",
srcs = ["//common:kernel_aarch64_sources"],
outs = [
"System.map",
"arch/arm64/boot/Image",
"modules.builtin",
"modules.builtin.modinfo",
"vmlinux",
"vmlinux.symvers",
],
base_kernel = None,
defconfig = "//common:arch/arm64/configs/gki_defconfig",
kmi_symbol_list_strict_mode = False,
makefile = "//common:Makefile",
module_outs = [
paths.basename(module)
for module in get_gki_modules_list("arm64")
] + [
paths.basename(module)
for module in get_kunit_modules_list("arm64")
] + [
# keep sorted
"failover.ko",
"net_failover.ko",
"virtio-gpu.ko",
"virtio-rng.ko",
"virtio_dma_buf.ko",
"virtio_input.ko",
"virtio_net.ko",
"virtio_snd.ko",
],
post_defconfig_fragments = [
"virtual_device_core.fragment",
"linux_distro.fragment",
],
strip_modules = False,
trim_nonlisted_kmi = False,
)
initramfs(
name = "server_aarch64_initramfs",
kernel_modules_install = ":server_aarch64_modules_install",
)
kernel_modules_install(
name = "server_aarch64_modules_install",
kernel_build = ":server_aarch64",
)
pkg_files(
name = "server_aarch64_dist_files",
srcs = [
":server_aarch64",
":server_aarch64_initramfs",
":server_aarch64_modules_install",
],
strip_prefix = strip_prefix.files_only(),
visibility = ["//visibility:private"],
)
pkg_install(
name = "server_aarch64_dist",
srcs = [":server_aarch64_dist_files"],
destdir = "out/server_aarch64/dist",
)
kernel_build(
name = "server_x86_64",
srcs = ["//common:kernel_x86_64_sources"],
outs = [
"System.map",
"arch/x86/boot/bzImage",
"modules.builtin",
"modules.builtin.modinfo",
"vmlinux",
"vmlinux.symvers",
],
arch = "x86_64",
base_kernel = None,
defconfig = "//common:arch/x86/configs/gki_defconfig",
kmi_symbol_list_strict_mode = False,
makefile = "//common:Makefile",
module_outs = [
paths.basename(module)
for module in get_gki_modules_list("x86_64")
] + [
paths.basename(module)
for module in get_kunit_modules_list("x86_64")
] + [
# keep sorted
"failover.ko",
"net_failover.ko",
"virtio-gpu.ko",
"virtio-rng.ko",
"virtio_dma_buf.ko",
"virtio_input.ko",
"virtio_net.ko",
"virtio_snd.ko",
],
post_defconfig_fragments = [
"virtual_device_core.fragment",
"linux_distro.fragment",
],
strip_modules = False,
trim_nonlisted_kmi = False,
)
initramfs(
name = "server_x86_64_initramfs",
kernel_modules_install = ":server_x86_64_modules_install",
)
kernel_modules_install(
name = "server_x86_64_modules_install",
kernel_build = ":server_x86_64",
)
pkg_files(
name = "server_x86_64_dist_files",
srcs = [
":server_x86_64",
":server_x86_64_initramfs",
":server_x86_64_modules_install",
],
strip_prefix = strip_prefix.files_only(),
visibility = ["//visibility:private"],
)
pkg_install(
name = "server_x86_64_dist",
srcs = [":server_x86_64_dist_files"],
destdir = "out/server_x86_64/dist",
)
kernel_dtstree(
name = "rockpi4_dts",
srcs = ["rk3399-rock-pi-4b.dts"],
visibility = ["//common:__pkg__"],
)