- Apr 18, 2023
-
-
Linux Build Service Account authored
Change-Id: I3a0ad086770a9ef13b864a44c553d3df890f4333
-
- Mar 23, 2023
-
-
chenghen authored
* In some cases we need in place compilation, i.e., stored module obj files to module source directory. Add conditional flag INPLACE_COMPILE to achivement this. * Assign EXT_MOD_REL again before make headers_install because target "headers_install" requires M to be set as a relative path. Change-Id: I69206149b5e1814e1da84d2652dd68d7573043d3 Signed-off-by:
chenghen <quic_chenghen@quicinc.com> Signed-off-by:
Xiao Li <quic_xiaolee@quicinc.com>
-
- Jan 28, 2022
-
-
Elliot Berman authored
Print the configuration delta when KCONFIG_NOSILENTUPDATE test fails. This test can fail when the kernel platform sources differ or when hermetic build environment is not set up as expected. Change-Id: I5c6bb4a86107717b0f7935d873e871d5bbb8cb02 Signed-off-by:
Elliot Berman <quic_eberman@quicinc.com>
-
- Nov 10, 2021
-
-
Elliot Berman authored
When using one of fallback locations for KERNEL_KIT, host binaries would not be at KERNEL_KIT/host since KERNEL_KIT could be the dist/ or msm-kernel/ folder itself. Change-Id: I99a0d1f6ac22316a27bc3245eee52345d2aab94c Signed-off-by:
Elliot Berman <quic_eberman@quicinc.com>
-
- Oct 18, 2021
-
-
Elliot Berman authored
Add internal flag to disable hermetic sysroot to allow for a mostly-hermetic toolchain on targets which need openssl. Kernel platform 1.0 toolchain is missing the support to enable hermetic toolchain with openssl. This change will allow targets which need openssl to enable a more hermetic build option where the PATH is hermetic, but still using sysroot from host. Change-Id: I645d3613f9eaba8feb9109cda4afda0f22b84796 Signed-off-by:
Elliot Berman <quic_eberman@quicinc.com>
-
- Sep 02, 2021
-
-
Elliot Berman authored
The current loop bail-out condition was whether none of plat/board/pmic should be removed To split a devicetree across another devicetree's identifiers, a devicetree is first created containing only the "other" identifiers. Then, we run a loop to form the remaining possible devicetree combinations. For instance, if board identifier is different between "self" and "other", then one additional devicetree would be added where that devicetree has only the board identifier unique to self. More concretely: DT[A] has board ID = <X Y> DT[B] has board ID = <Y> First step would create DT with board ID = <Y>. Next, a loop runs to create a devicetree with: board ID = <X Y> - <Y> = <X>. Since it is possible for any of platform, board, and pmic to be different, a loop is run to go over possible combinations. This loop will first split platform id, then platform and board ids, then platform, board, and pmic ids. The loop should be skipped if nothing would be removed from DT[A] since that would result in the original DTB being re-generated. Change-Id: Ic2a48f44bf7cd2a98e6dd59102d454debacd2138 Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
- Aug 04, 2021
-
-
qctecmdr authored
-
- Jul 29, 2021
-
-
Tengfei Fan authored
Make modules can be arranged as target's modules_list in ramdisk. Change-Id: I3a4764d8512b1840d364f3b74ebfcb9f56926168 Signed-off-by:
Tengfei Fan <tengfeif@codeaurora.org>
-
- Jul 26, 2021
-
-
qctecmdr authored
-
- Jul 23, 2021
-
-
qctecmdr authored
-
- Jul 21, 2021
-
-
Elliot Berman authored
PYTHONPATH provides a list of search paths for module files. It should not be set for reproducible builds and could cause unexpected behavior when using the prebuilt build-tools python. While here, also unset PYTHONHOME and PYTHONSTARTUP since those similarly affect search locations of Python libraries [1]. [1]: https://docs.python.org/3/using/cmdline.html#environment-variables . Bug: 194146857 Change-Id: Icab50447b973e7d0ac966dd852591066e0dde15f Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
- Jul 14, 2021
-
-
Ivaylo Georgiev authored
* commit '4346db81': ABI: pass --no-report-untyped to abitidy ABI: fix typos relating to TIDY_ABI ABI: tidy ABI XML only if requested ABI: post-process abidw output with abitidy --all ABI: add abitidy to build-tools GKI: build_abi.sh: copy updated symbols to DIST_DIR build.sh: Do not require KERNEL_BINARY when not building boot.img build.sh: Add support for building vendor_boot images alone build_abi.sh: correct KMI_SYMBOL_LIST_MODULE_GROUPING check build.sh: Separate module.load for vendor_boot and vendor_dlkm build.sh: Add support for GKI prebuilts for mixed builds build.sh: Expand path for KBUILD_MIXED_TREE in mixed builds build.sh: Unset EXT_MODULES for GKI kernel in mixed build Conflicts: build.sh Change-Id: I07e80c24f9ea8b34c5850bd36e3e0125d7386a67 Signed-off-by:
Ivaylo Georgiev <irgeorgiev@codeaurora.org>
-
- Jul 13, 2021
-
-
Elliot Berman authored
The la symlink is unused and KERNEL_KIT are specified in Android flows, so remove it. Change-Id: I146df4bf1b2c53a620b3968787c1374490c9ce0b Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
Elliot Berman authored
To avoid needing to copy kernel_uapi_headers folder, use the kernel-uapi-headers.tar.gz folder when preparing device kernel headers for Android. Change-Id: Ic71fee1b5d16029613e3f58c93589a3ce7dfaff4 Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
Elliot Berman authored
Specify KERNEL_KIT and OUT_DIR to align with build_module v2. With build_module v2, out-of-tree modules can be compiled "directly" in the desired output location: ${ANDROID_PRODUCT_OUT}/obj/DLKM_OBJ. This is achieved by creating the real kernel platform output folder (for out-of-tree modules) inside ${ANDROID_PRODUCT_OUT}/obj/DLKM_OBJ/kernel_platform. As far as Android-built out of tree modules are concerned, kernel platform was compiled into that folder. This change has the added benefit of being able to remove the previous hack of creating a symlink of "la" to the root of the Android build environment. That comes at a cost of no longer being able to use an kernel platform source tree that lived outside of Android's workspace. However, that wasn't a well supported use case anyone and there are no known users of it. Change-Id: I923fb4d9ece28e998c463b8550cb7c39231e26c5 Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
Elliot Berman authored
To support use case where only device/qcom/${TARGET_BOARD_PLATFORM}-kernel folder is present, make copying artifacts from prebuilt kernel platform output optional. Always copy them from KP OUT_DIR if present. The only time kernel artifacts aren't copied is if there is already device/qcom/${TARGET_BOARD_PLATFORM}-kernel/Image *and* the kernel platform output folder doesn't exist. There is possibility that techpack devicetree has changed and needs to be re-generated and re-merged by prepare_vendor.sh. For instance, if a prebuilt ${TARGET_BOARD_PLATFORM}-kernel folder is created from an older version of Android workspace and we want to integrate that older prebuilt with newer version of Android. To support this use case, copy the kernel platform DTBs to the ${TARGET_BOARD_PLATFORM}-kernel/kp-dtbs folder. merge_dtbs.sh will reference this folder for the kernel platform DTBs. To support KERNEL_KIT-based module compilation, need to copy the following additional files: - .config - Module.symvers - ${KP_OUT_DIR}/host/** (contains DTC). Change-Id: I6cecf287c0c547e784892c0b916190908df703ad Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
Elliot Berman authored
In kernel/build commit 740908a7 ("Add support for full hermetic toolchain restrictions"), the OUT_DIR is created at _setup_env.sh time. _setup_env.sh is run early by prepare_vendor.sh when running brunch and when determing the default output directory folder. Create a temporary output directory so that an output directory tree isn't implicitly created by running prepare_vendor.sh. Also, make the "real" prebuilt kernel platform output folder a fully qualified path that is either inside ANDROID_BUILD_TOP (android workspace) or inside ROOT_DIR (kernel platform workspace). The purpose of this change is to improve handling in developer case where they may have built the kernel in a separate command locally and the output was put in ROOT_DIR, but it wasn't moved to ANDROID_BUILD_TOP. Change-Id: I74a1a1b0f647b246a9b15865492910ba85b48432 Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
Elliot Berman authored
Make it easier to run prepare_vendor.sh without a full Android environment. Previously, ANDROID_BUILD_TOP and ANDROID_PRODUCT_OUT must be set in order to run prepare_vendor.sh. Now, the real requirement is that ANDROID_KERNEL_OUT is set. If not specified, it's derived from ANDROID_BUILD_TOP and TARGET_BOARD_PLATFORM. Add documentation for those variables and highlight other important environment variables used by prepare_vendor.sh, such as KERNEL_TARGET, KERNEL_VARIANT, and RECOMPILE_KERNEL. This change switches from using TARGET_PRODUCT to TARGET_BOARD_PLATFORM to determine the name of "device/qcom/${TARGET_BOARD_PLATFORM}-kernel". Change-Id: I2b0326bf2cfba6c2055dffe2f510d698d98a548c Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
Elliot Berman authored
The current version of build_module.sh has a limitation that it requires a complete pre-compiled kernel source tree. This is not ideal as it requires a complete kernel build available inside Android builds. Introduce support for a new variable, KERNEL_KIT, which allows the caller to specify a prebuilt folder which contains the necessary pre-compiled artifacts (.config, Module.symvers, and host tools). Then, "make modules_prepare" is run to create necessary generated header files and Kbuild host tools (like fixdep). With this change, Android can compile its out-of-tree kernel modules like this: cd kernel_platform OUT_DIR=${ANDROID_PRODUCT_OUT}/obj/DLKM_OBJ \ KERNEL_KIT=../device/qcom/taro-kernel \ EXT_MODULES=../vendor/qcom/opensource/audio-kernel \ ./build/build_module.sh This change is also backwards compatible with a userspace that doesn't know how to use KERNEL_KIT. In that case, the end-to-end behavior is the same as the original build_module.sh. Change-Id: Ib23444572c4aa1b647a1213d49375cce998fc83a Signed-off-by:
Elliot Berman <eberman@codeaurora.org>
-
- Jul 08, 2021
-
-
Giuliano Procida authored
This suppresses "no declaration found for ELF symbol memcpy" and similar warnings. Bug: 187831743 Change-Id: Id68dcfb9b0a6fda3eee4f1e7b56668a52c1f898a Signed-off-by:
Giuliano Procida <gprocida@google.com>
-
Giuliano Procida authored
The code was not tested properly. Bug: 187831743 Change-Id: I158971367b035c53745be3171491ebe25cff3cd5 Signed-off-by:
Giuliano Procida <gprocida@google.com>
-
Giuliano Procida authored
Only if the build configuration option TIDY_ABI is set will ABI XML be post-processed with abitidy after generation. Bug: 187831743 Change-Id: I69c8c6b86d945738c49b5b6f9413e8b284e81efb Signed-off-by:
Giuliano Procida <gprocida@google.com>
-
Giuliano Procida authored
This will reduce the size of the generated ABI XML files and reduce churn when it's updated. Warnings will also be generated about untyped symbols and unresolvable duplicate type definitions. Bug: 187831743 Change-Id: Iee3b8176e2c41148069b56efdcd1ca2303a53f03 Signed-off-by:
Giuliano Procida <gprocida@google.com>
-
Giuliano Procida authored
Bug: 187831743 Change-Id: I6e7c4125bbda97a415c5249fa2b033e16807247d Signed-off-by:
Giuliano Procida <gprocida@google.com>
-
- Jul 01, 2021
-
-
Matthias Maennich authored
-
- Jun 30, 2021
-
-
Giuliano Procida authored
This hopes to address reports that the distribution directory doesn't contain up-to-date symbol information after running build_abi.sh --update. The functionality that does this is split out into the new script copy_symbols.sh. Bug: 191692661 Suggested-by:
Matthias Maennich <maennich@google.com> Change-Id: I918c64cb8845dd47a27615421aa93ac911d404ed Signed-off-by:
Giuliano Procida <gprocida@google.com>
-
- Jun 28, 2021
-
-
Treehugger Robot authored
-
- Jun 18, 2021
-
-
J. Avila authored
A kernel binary (e.g. Image.lz4) isn't necessary for compiling a vendor_boot.img alone. Modify the mkbootimg block of build.sh to not use KERNEL_BINARY in this case. Bug: 191476318 Signed-off-by:
J. Avila <elavila@google.com> Change-Id: I6244138c81c733d87ba129e8e190b89f946b5f7d
-
J. Avila authored
For vendors developing with GKI using prebuilts, they can use the downloaded boot images instead of needing to build them. However, in order to test any changes to modules that would be loaded in the vendor_boot partition, they'd need a mechanism to build vendor_boot when BUILD_BOOT_IMG is unset. Bug: 191476318 Signed-off-by:
J. Avila <elavila@google.com> Change-Id: Ib150ef5e6f908353ebe8297c5ff85ec3750ec7fa (cherry picked from commit 715de622)
-
Chanho Park authored
symbol list grouping condition should be checked by "KMI_SYMBOL_LIST_MODULE_GROUPING" variable. Bug: 191393530 Fixes: 109b9247 ("build_abi.sh: add flag to allow disabling symbol list module grouping") Signed-off-by:
Chanho Park <chanho61.park@samsung.com> Change-Id: Icd7f278efaaa784dec892aed44fe8579d84dd75b
-
- Jun 14, 2021
-
-
J. Avila authored
* changes: build.sh: Add support for GKI prebuilts for mixed builds build.sh: Expand path for KBUILD_MIXED_TREE in mixed builds
-
- Jun 10, 2021
-
-
J. Avila authored
Modules can be loaded from two different partitions - vendor_boot and vendor_dlkm. Provide separate outputs in the DIST_DIR for which modules are to be loaded in each: vendor_boot.modules.load and vendor_dlkm.modules.load. Additionally, because it is redundant to load modules from both the vendor_boot and vendor_dlkm partitions, remove any modules loaded in vendor_boot from the vendor_dlkm.modules.load. Signed-off-by:
J. Avila <elavila@google.com> Change-Id: I0e4e67914b7df7bddbb0bdb7dc1514f505e2c526
-
J. Avila authored
When making a mixed build, you can avoid needing to build both the GKI and device kernels if you provide a set of prebuilts that contains all of the outputs the device kernel modules require. Add support for this to build.sh. Signed-off-by:
J. Avila <elavila@google.com> Change-Id: Ib8912ba64dabe8465b00cff7f1fa2cc93fd6e587
-
J. Avila authored
Much of build.sh works when providing paths relative to the ROOT_DIR, but the KBUILD_MIXED_TREE variable used by kernel builds requires an absolute path. Ensure that, when GKI_BUILD_CONFIG is set, we give the absolute path to GKI_DIST_DIR to KBUILD_MIXED_TREE. Signed-off-by:
J. Avila <elavila@google.com> Change-Id: I60c1a3dc6aad2a94729ee510176d328406c1f6a9
-
- Jun 09, 2021
-
-
Elliot Berman authored
Ensure EXT_MODULES isn't inherited from environment by explicitly unsetting EXT_MODULES when compiling the GKI kernel in mixed build. External vendor modules should be compiled against the vendor kernel, which would have vendor symbols available. Bug: 178469391 Change-Id: Iffb0e396bf4b7f2b51b7aaed5b165c6d6f0e5d04 Signed-off-by:
Elliot Berman <quic_eberman@quicinc.com>
-
- Jun 06, 2021
-
-
Ivaylo Georgiev authored
https://android.googlesource.com/kernel/build : Revert "GKI: build_abi.sh: Do not use symbol list for ABI diffs" build.sh: Add support for multiple vendor ramdisk binaries hermetic: export -fuse-ld=lld and --rtlib=compiler-rt Revert "build: Fix fs_type property name for vendor_dlkm img" synchronize_owners: Introduce multiple tracking dirs build.sh: Add MKBOOTIMG_EXTRA_ARGS build.sh: Add INITRAMFS_VENDOR_RAMDISK_FRAGMENT_NAME build.sh: Refactor ramdisk packaging logic Add mkbootfs to prebuilt kernel build-tools GKI: build_abi.sh: Do not use symbol list for ABI diffs build: Fix fs_type property name for vendor_dlkm img Conflicts: build.sh Change-Id: Ia360b03b50243931d09a2c90ed1a4d62a93cfce7 Signed-off-by:
Ivaylo Georgiev <irgeorgiev@codeaurora.org>
-
Ivaylo Georgiev authored
This reverts commit 5f1c4cec. Revert it to fix compilation error. Change-Id: I77a2c3ee0d4d76f17e831b820a6bd3678852216d Signed-off-by:
Ivaylo Georgiev <irgeorgiev@codeaurora.org>
-
- May 27, 2021
-
-
qctecmdr authored
-
- May 24, 2021
-
-
Narendra Muppalla authored
This can be used on the vendor side to determine which prebuilt dlkm to copy based on the prebuilt kernels variant. Change-Id: Ib66231af97636162301592caa8cdfc55f42db370 Signed-off-by:
Naseer Ahmed <naseer@codeaurora.org> Signed-off-by:
Narendra Muppalla <NarendraM@codeaurora.org>
-
- May 19, 2021
-
-
Treehugger Robot authored
-