Commit graph

642 commits

Author SHA1 Message Date
mse1969
5b8dd24b8e lineage: products: sdk_phone_x86_64 emulator - fix sdk_addon packaging
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
2024-03-27 23:48:10 +00:00
LuK1337
75b2afaadf
repopick: Require python3
Change-Id: I95f598947a29b2095bd7539b1f279dccc1b25097
2024-03-26 20:09:48 +01:00
mse1969
105b86ee09 lineage: products: sdk_phone_x86_64 emulator - restore partition sizes
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
2024-03-25 17:22:39 +01:00
mse1969
01a36e1909 lineage: products: remove sdk_phone_x86 emulator target
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
2024-03-24 23:20:28 +01:00
mse1969
b0d0c6fa41 lineage: products: Fix lineage_sdk_car* emulator targets
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
2024-03-24 23:17:17 +01:00
mse1969
1c69ed407e lineage: products: Fix lineage_sdk_phone_x86_64 emulator target
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
2024-03-24 23:13:00 +01:00
LuK1337
dfec562594 kernel: Add clean headers script to workaround conflicts with bionic
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
2024-03-20 20:53:44 +00:00
Michael Bestas
a0003041e1 envsetup: Fix breakfast
Change-Id: I9742638765f323876bffcdd0d9c1131d28a54614
2024-03-20 20:53:44 +00:00
LuK1337
2a348e8e2b
repopick: Use number instead of id for error msgs
Change-Id: I1ebfd8315d1dbbdbee2cd50095f5d7c6b98e7057
2024-03-11 11:58:11 +01:00
LuK1337
f3ee86687f
bacon: Depend on $(DEFAULT_GOAL)
This makes sure that $OUT contains images for all partitions.

Test: breakfast tangorpro && m bacon && ls $OUT/vendor_boot.img
Change-Id: Ia59a1fb7d9d1054040453ff2e7954ea6d7c61fde
2024-03-04 16:10:36 +01:00
Luofan Chen
bc8d7739ac Hookup SDMCORE_HAS_IS_DISPLAY_HW_AVAILABLE_FUNC
Change-Id: Icb4b8aebd8042e9f83bacddee1e7949cf373226d
2024-02-16 00:26:40 +00:00
DroidFreak32
9fe4bc8a60 lineage: products: Bring back lineage_sdk_phone_arm64 emulator target
Change-Id: I0578608bd78e1a03f90b17de4ee558646ce9ef2f
2024-02-14 22:13:08 +00:00
LuK1337
2f89bf24a2
roomservice: Remove python2 imports
Change-Id: Id65a4c139f14106632587634c42ef9941b55d0c1
2024-02-14 09:22:34 +01:00
LuK1337
2a9bbcf403
roomservice: Require python3
Change-Id: I08429fbc9380b3a1f04bbcc5116fedf3e2457747
2024-02-14 09:06:18 +01:00
Michael Bestas
f0b1169abd
build: Provide qti_kernel_headers module
Change-Id: Ifbe76bf4e08fe6671886d83dde084381ebeda180
2024-02-13 21:34:29 +02:00
LuK1337
3e865ebb78 roomservice: Add support for remote=aosp-*
This will let us sync kernel prebuilts directly from AOSP.

Change-Id: Ie94f84ee7ec5020023533f8f3364b546ace4983d
2024-02-13 12:12:19 +00:00
LuK1337
65498a79bd repopick: Skip commit_exists() check when using -p
Change-Id: I7b99e8c940bddad80e6362302f1ae24248e42faf
2024-02-12 21:45:28 +00:00
LuK1337
92ced50692
repopick: Fix logic for skipping already merged changes
We can't iterate a list and update it at the same time.

Test: Run `repopick -t XXI` twice
Change-Id: I85651783531b59fd4b48d54a663c22cb243edac7
2024-02-11 11:03:43 +01:00
dianlujitao
77e5f117f7 repopick: Use hostname of the URL to determine lineage gerrit
Change-Id: Ifd3883917bc4acd7d58179235d880f2e4a43b670
2024-02-08 20:26:58 +08:00
Yumi Yukimura
b5e2177257 roomservice: Add support for dry run
* In local build environments, we may want roomservice to
  not mess with the repos and local_manifests

Change-Id: I83014fdedbfdcd9f731463954a8779cf6d1f4cbf
2024-02-08 07:25:01 +00:00
Aaron Kling
d725e592fe kernel: Support kernel modules via kbuild
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
2024-02-07 18:00:28 +00:00
Aaron Kling
2f1c529782 kernel: Support copying modules to boot ramdisk
Android supports loading modules from the boot ramdisk in the case of
vendor ramdisk not existing.

Change-Id: Ide1255b2c37ee262c8a4181d5eb0e380d0488edc
2024-02-07 18:00:28 +00:00
dianlujitao
12c5c7233e repopick: Clear Pyright warnings
Change-Id: I63962cc31820329a0fcf8ed96a13ef12a9f67875
2024-02-06 09:39:58 +00:00
dianlujitao
ce64349c54 repopick: Check fetch result based on the actual commit
Checking for FETCH_HEAD is not reliable when fetching in parallel.

Change-Id: I0c07f7c4bffb80e5d12b13f301ba684b95112272
2024-02-06 09:39:58 +00:00
dianlujitao
8a3a02e0b5 repopick: Apply change in parallel
Change-Id: Iafd803422082bcc17f2ad3300df3882d689f3674
2024-02-06 09:39:58 +00:00
dianlujitao
0b48b9b0c1 repopick: Avoid repeatedly performing the same check
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
2024-02-06 09:39:58 +00:00
dianlujitao
6682b3f35a repopick: Use the builtin urllib to handle HTTP basic authentication
Also do proper URL encode while at it.

Change-Id: I64c0913eed535b109af2adc830288b3dd17c0cbb
2024-02-06 09:39:58 +00:00
dianlujitao
6f048e37fd repopick: Clean up subprocess calls
* 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
2024-02-06 09:39:58 +00:00
dianlujitao
c0fb88f19e repopick: Organize imports and format with black
Change-Id: I94080fb8adba0af83d86f0c67af8fac460ffbea0
2024-02-06 09:39:58 +00:00
dianlujitao
94b1026f1a repopick: Remove python2 support
Change-Id: I8f164eea3a17888bcf30ff649ddcf81a00bab582
2024-02-06 09:39:58 +00:00
LuK1337
b38fb3a2d2 kernel: Make INTERNAL_VENDOR_RAMDISK_TARGET depend on kernel
This lets us package kernel modules into recovery ramdisk inside
vendor_boot.

Change-Id: I274bc95ce8682e2f13a595174ab279c129866f6a
2023-12-24 21:08:16 +00:00
Bruno Martins
682dd6b689 kernel: Ensure that module load lists are properly formed
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
2023-12-14 22:45:39 +00:00
LuK1337
c0250e3ab6 build: Add macro for sha1 checked add-radio-file
This makes it slightly safer in case radio/*.img contains LFS pointer
instead of actual blob.

Change-Id: Ia3561400c62675eac9f717f7eae74e4cdf71cf45
2023-12-12 17:32:49 +00:00
Arian
e7dac6855d
soong: Add qti vibrator effect stream config
Change-Id: I87b08a02f91a941d22dab5d1acb9bfbbce06f03b
2023-11-21 20:48:36 +02:00
pppig236
f46d0a7a08 kernel: Halt build process if an external module fails to compile
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
2023-10-29 14:27:00 +00:00
Bruno Martins
e655a1e696 kernel: Replace BOARD_SYSTEM_KERNEL_MODULES with SYSTEM_KERNEL_MODULES
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
2023-10-28 12:37:43 +01:00
Bruno Martins
4fb9a76f06 lineage: Move all QCOM board configs to hardware/qcom-caf/common
Change-Id: I6ead35cf884255a8897a3e3e27fc7936d11be616
2023-10-27 14:25:29 +01:00
Michael Bestas
c290ff3f38 Hookup GRALLOC_HANDLE_HAS_UBWCP_FORMAT
The gralloc struct has been conditionally adjusted not to
break blobs that use the old struct.

Change-Id: I4dd1d1890ad08364d5315386ab830ce9e0edd041
2023-10-20 12:57:46 +00:00
basamaryan
db93a8d621 kernel: Rename mkdtboimg.py
* Changed in https://android-review.googlesource.com/q/topic:%22colefaust_rename_mkdtboimg%22

Change-Id: Idd2ade7035c79207321ecbc70d6a4ddf9f4ed600
2023-10-20 09:55:48 +01:00
Paul Keith
6b8c2baf9f lineage: s/master/main/
Change-Id: Ia922dd6b396627fea2c8e69f8a7d6bf025b80f7e
2023-10-18 11:57:14 -05:00
Tim Zimmermann
84b975ca23
kernel: Use correct variable name for vendor_kernel_boot modules
* This was missed in bdfc913935
* Aligns the variable name for vendor_kernel_boot modules with AOSP

Change-Id: I8d59f7b5d62e29a0484ca36fadcb74acab4f1859
2023-10-16 16:17:09 +03:00
Rohit Sekhar
fea85da7e0 vendor/lineage: Hookup TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED
Change-Id: I67b87e98b65300df9a63ddd6d316ae4dd33ab427
2023-10-09 17:29:04 +00:00
HeroBuxx
147545ac48 qcom: Add parrot platform
Change-Id: I86a34553c71688c1bb8b8583b161e59cffbfd623
Signed-off-by: HeroBuxx <me@herobuxx.me>
2023-09-26 20:33:22 +00:00
LuK1337
0ddf65dc8d repopick: Fix regex related SyntaxWarning on Python 3.12
Change-Id: I23f80997f34a158d564a2e41043242a5af9f2ac3
2023-09-20 20:29:28 +02:00
Bruno Martins
231338af58 kernel: Use pahole from Google prebuilts
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
2023-09-19 16:17:27 +01:00
SGCMarkus
2a0d417971 kernel: Allow to limit the used .dtb files for the final DTB image
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
2023-09-17 17:53:24 +00:00
Bruno Martins
3056928d1c kernel: Include DTBOs from OEM/ODM folder in base DTB
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
2023-09-17 17:53:24 +00:00
Bruno Martins
47931c121e kernel: Handle GKI modules
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
2023-09-17 17:53:24 +00:00
Aaron Kling
3ade73b639 kernel: Support copying modules to recovery
Change-Id: Iac275cfbea368d47f9cc8e756649ab094d9c57c5
2023-08-28 16:23:03 +00:00
Aaron Kling
0d1608e30f
kernel: Support Qualcomm merge_dtbs script
Script from clo kernel/build at kernel.lnx.5.10.r1-rel

Change-Id: Ia90975c895644b86d9f861ddd5a18b7cf6ce1470
2023-08-28 19:15:02 +03:00