| # 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__"], |
| ) |