build: optimize fatload build speed [1/1]
PD#SWPL-172042
Problem:
optimize fatload build speed
Solution:
1. use --lto=none
2. use --notrim
3. use --nokmi_symbol_list_strict_mode
4. reduce unnecessary constructions, such as system_dlkm and initramfs
5. modules, modules.dep and other files are copied from intermediate files
Verify:
local
Change-Id: Idb5c57a9a6ab357351341efb93fb6a79aeca5d0c
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
diff --git a/amlogic_utils.bzl b/amlogic_utils.bzl
index ff60759..1007143 100644
--- a/amlogic_utils.bzl
+++ b/amlogic_utils.bzl
@@ -23,6 +23,8 @@
load("//build/kernel/kleaf:print_debug.bzl", "print_debug")
load("@kernel_toolchain_info//:dict.bzl", "BRANCH", "common_kernel_package")
+load("//common:common_drivers/project/project.bzl", "FAST_BUILD")
+
# Always collect_unstripped_modules for common kernels.
_COLLECT_UNSTRIPPED_MODULES = True
@@ -88,8 +90,8 @@
module_outs = module_outs,
build_config = build_config,
# Enable mixed build.
- base_kernel = ":kernel_aarch64_download_or_build",
- kmi_symbol_list = kmi_symbol_list,
+ base_kernel = ":kernel_aarch64" if FAST_BUILD else ":kernel_aarch64_download_or_build",
+ kmi_symbol_list = None if FAST_BUILD else kmi_symbol_list,
collect_unstripped_modules = _COLLECT_UNSTRIPPED_MODULES,
strip_modules = True,
make_goals = make_goals,
@@ -103,9 +105,9 @@
kernel_abi(
name = name + "_abi",
kernel_build = name,
- define_abi_targets = define_abi_targets,
+ define_abi_targets = False if FAST_BUILD else define_abi_targets,
kernel_modules = _kernel_modules,
- kmi_symbol_list_add_only = kmi_symbol_list_add_only,
+ kmi_symbol_list_add_only = False if FAST_BUILD else kmi_symbol_list_add_only,
module_grouping = module_grouping,
unstripped_modules_archive = unstripped_modules_archive,
)
@@ -142,9 +144,19 @@
name + "_merged_kernel_uapi_headers",
]
+ fast_build_dist_targets = [
+ name,
+ # name + "_images",
+ name + "_modules_install",
+ # Mixed build: Additional GKI artifacts.
+ # ":kernel_aarch64_download_or_build",
+ # ":kernel_aarch64_additional_artifacts_download_or_build",
+ # name + "_merged_kernel_uapi_headers",
+ ]
+
copy_to_dist_dir(
name = name + "_dist",
- data = dist_targets,
+ data = fast_build_dist_targets if FAST_BUILD else dist_targets,
dist_dir = dist_dir,
flat = True,
log = "info",