With the merge of tag 'android-14.0.0_r29', the emulator sdk_phone_x86_64
is inherited from device/generic/goldfish. This means, that the component
PRODUCT_SDK_ADDON_COPY_FILES needs to be defined here.
Change-Id: I2cee21d27f28521f34e80262c2abda6b7eb3360c
With the merge of tag 'android-14.0.0_r29', the emulator sdk_phone_x86_64
is inherited from device/generic/goldfish. Its defined super partition
size of 1.6GB however is too small to build the LineageOS 21 emulator.
Therefore, overwrite the partition sizes with the values as previously
set in build/make/target/board/BoardConfigEmuCommon.mk
Change-Id: Ib8443cb3d8cacb42cab68f154845574fadf99b55
necessary after merge of tag 'android-14.0.0_r29':
e04167e Retire obsolete (32bit-only) emulator targets and boards
Please use 64bit-only targets instead:
[...] * we don't support x86+arm for AOSP targets
Change-Id: I001b97e218f837005d4283bd0540519b00301783
necessary after merge of tag 'android-14.0.0_r29':
228de7b Remove sdk_<arch> products
The SDK is arch-agnostic, so does not need per-arch products.
Change-Id: Idac94e841e749d6dcc4aa643b8738f8c07ac71fa
necessary after merge of tag 'android-14.0.0_r29':
4bf479f Retire obsolete emulator targets and boards
the sdk_phone* targets are replaced with sdk_phone64*,
the emulator* boards are replaced with emu64* in
the device/generic/goldfish folder.
Change-Id: Ie36e73684d586223bbce642a62cf155a3990713e
After the "Avoid multiple definitions of sigaction." change in bionic,
we ought to modify our kernel headers to make sure that sigaction struct
is not present in uapi headers.
Change-Id: I15645480e013e79cbcafaac99253368b646b6b11
This makes sure that $OUT contains images for all partitions.
Test: breakfast tangorpro && m bacon && ls $OUT/vendor_boot.img
Change-Id: Ia59a1fb7d9d1054040453ff2e7954ea6d7c61fde
* In local build environments, we may want roomservice to
not mess with the repos and local_manifests
Change-Id: I83014fdedbfdcd9f731463954a8779cf6d1f4cbf
TARGET_EXTERNAL_KERNEL_MODULES variable is used for the list of modules,
same as the existing functionality, but is invoked if ':kbuild' is
appended to a module name
Existing external module build calls make in the module directory, which
is a standalone module build. The module makefile may chain to kbuild,
but that depends on the module. This addition invokes the kernel build
system, passing the module directory via the M= param, which is the
kernel standard for building out of tree modules.
Change-Id: I38a582952f79f7155cdbf8a5975cf23074bbdab0
Android supports loading modules from the boot ramdisk in the case of
vendor ramdisk not existing.
Change-Id: Ide1255b2c37ee262c8a4181d5eb0e380d0488edc
Jobs such as check for already picked changes only need to be done once
for each git repository, but it was lunched every time picking a commit.
Change-Id: I87b3fea101dbcedb38502015fe9a9af5f25b397c
* Use the builtin approach to decode text output
* Drop unnecessary system shell usage
* Use subprocess.run when we don't need its stdout
Change-Id: Ibb2aeae442b5e97828fe4e0eb783e6512288d245
Do not allow module load lists to contain unexistent kernel modules
and bail out if that's the case, informing that the list must be
corrected.
The lists can be formed including the full module path and with or
without the file extension, like shown below:
kernel/drivers/watchdog/softdog.ko
kernel/net/wireless/cfg80211.ko
kernel/net/mac80211/mac80211.ko
or simply:
softdog.ko
cfg80211.ko
mac80211.ko
or ultimately:
softdog
cfg80211
mac80211
Either way, the newly generated modules.load file will now only
contain the module name without the extension, which is inline with
modules.alias and modules.blocklist.
Change-Id: I969274f7edf249c98ca241e37b6e41a921d36908
Before:
mka bootimage
qcacld failed to compile, but boot.img is generated
After:
mka bootimage
qcacld failed to compile and no boot.img is generated
Commit fadfdbf introduced the idea of building external modules,
but it didn't account for the scenario where compilation could fail
while the boot.img is still being built.
Fix this by properly stopping the build process as soon as the external
module fails to compile.
Change-Id: Ifed28825f8e4b78d304fe62a47908e208edfb886
Commit 47931c1 introduced GKI modules handling with the assumption
that using BOARD_SYSTEM_KERNEL_MODULES would still work in Android 14,
but turns out that it conflicts with build/make/core rules.
Change-Id: I9167940c08b8420be254c52698f1faa2e3e7f793
* This was missed in bdfc913935
* Aligns the variable name for vendor_kernel_boot modules with AOSP
Change-Id: I8d59f7b5d62e29a0484ca36fadcb74acab4f1859
This fixes the following warnings:
13:04:54 Disallowed PATH tool "pahole" used: []string{"pahole", "--version"}
13:04:54 See https://android.googlesource.com/platform/build/+/master/Changes.md#PATH_Tools for more information.
"pahole" is not allowed to be used. See https://android.googlesource.com/platform/build/+/master/Changes.md#PATH_Tools for more information.
/home/bgcngm/android/lineage/kernel/oneplus/sm8550/scripts/pahole-flags.sh: 12: [: Illegal number:
/home/bgcngm/android/lineage/kernel/oneplus/sm8550/scripts/pahole-flags.sh: 16: [: Illegal number:
/home/bgcngm/android/lineage/kernel/oneplus/sm8550/scripts/pahole-flags.sh: 20: [: Illegal number:
Change-Id: Ice2a3753301a7b7782037fd35544e2831b258650
On some devices too many .dtb files are generated. Instead of taking
all of them, allow to only take selected .dtb files for the final
DTB image.
Example: Motorola Edge 40 Pro (rtwo, sm8550) generates the following:
obj/DTB_OBJ/out/kaka-rumi.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-evb1-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-evt1-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-na-vzw-evt2-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-prc-dvt1b-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-prc-pvt-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base-kalama-rtwo-row-dvt1b-overlay.dtb
obj/DTB_OBJ/out/kalama-rtwo-base.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-evb1-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-evt1-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-na-vzw-evt2-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-prc-dvt1b-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-prc-pvt-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base-kalama-rtwo-row-dvt1b-overlay.dtb
obj/DTB_OBJ/out/kalama-v2-rtwo-base.dtb
with only kalama-rtwo-base.dtb and kalama-v2-rtwo-base.dtb needed.
Disabling compilation of the other kalama.dtb isn't possible, as this
would also disable the compilation of the needed .dtbo files.
Because they are earlier in alphabetical order, and the matching
board ids, the bootloader ends up selecting those, instead of the
correct ones. This results in USB (and possible other things) to
not work.
Change-Id: I486b6ec538a3e4906b5b8aa5ecb355b480b60de7
It can be the case where OEM/ODM decided to put the main DTBOs
outside vendor/qcom (e.g. vendor/oplus). Support such usecase
by generically allowing all .dtbo files found in all first-level
subdirs to be moved to base DTB folder.
Change-Id: I154d401b560535d1fa8cd7ed4965dd34a4cf75f2
All devices lauching with Android 13 (and above) must include
a system_dlkm partition, where GKI modules should reside.
Android 13 build system only supports providing prebuilt modules,
by pointing BOARD_SYSTEM_DLKM_SRC to the modules source folder.
Google will introduce BOARD_SYSTEM_KERNEL_MODULES for Android 14,
so take a step forward and use that macro to exclude the listed
modules from the usual vendor DLKM partition and place them into
the GKI module partition.
Note that the GKI modules are placed into lib/modules/androidX-Y.Z,
as defined by Google and observed in system_dlkm_modprobe script.
Change-Id: I2b1644479788cb5c9568cac738202b1d55fc28d7