This can happen when an out of tree module target uses a matching module
name from the base kernel. This causes two problems:
1) Depmod gets confused and only pulls symbols from one of the modules
2) Copying the modules to modules_out is not entirely deterministic and
is based on the first variant to be returned by find, meaning that
the variant that gets copied to the device could change build to
build.
To avoid these issues, fail the build if this happens and force the
build target to only generate one copy of each module name.
Change-Id: I2e47ba4e142054feabaa1ab80fbbe0332fd84a62
This reverts commit bc8d7739ac.
Reason for revert: no longer needed when using blobs that match tag
DISPLAY.LA.3.0.r1-10700-KAILUA.0.
Change-Id: Ia89ce566a4cade6091a2dc6bc4e8b56ef7d1f73b
Build is now a group instead of a repo.
The actual repo got renamed to build_repo.
Change-Id: I61f65251896d18c3025d849109206d44e2686c70
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
Original commit incorrectly added kernel as a dep to the vendor ramdisk
for this path, when instead the dep should be added to the boot ramdisk.
Change-Id: I25a42d403fe2ddb0538b08c2dd8f761eae960810
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