Commit graph

491 commits

Author SHA1 Message Date
marcost2
fad4142e6e Add support for separate kernels for boot and recovery [1/2]
* Either as prebuilts, or with separate defconfigs

Change-Id: Iad877a5fbef095e3e5d792aebb240c230a829552
2021-09-08 17:16:01 +02:00
Timi Rautamäki
882e97e4ad roomservice: add repo to syncable repo list if dir doesn't exist
breakfast may get stuck if the first breakfast for a target is
interrupted before cloning but after adding repositories to local
manifest. Re-doing breakfast skips syncing the repositories if
they're added to the manifest even if not cloned.

Change-Id: Ifefd08fa6da8785c1d5de0b27ac1a08a782f21d6
2021-07-29 21:14:02 +02:00
Tom Pratt
de83dffc34 Add generic targets for automotive
Makefiles combining core lineage and automotive packages.
Can be included by devices to turn them into Automotive builds.
Emulator targets demonstrate using these makefiles and form a basis for Automotive GSIs.
Change-Id: Ib5d35dfe4de8c459e4e14a7ba6f0b0e682e0d912
2021-07-23 17:57:27 +02:00
Sebastiano Barezzi
4ccc17d333 soong: Add TARGET_CAMERA_BOOTTIME_TIMESTAMP conditional
Change-Id: Ic48acda208fc9990fc5c9159ad06518d48f21477
2021-07-19 11:24:57 +02:00
Tim Schumacher
cec409ecf8 kernel: Fix the check for official builds
The check for official builds now only affects the case where a prebuilt
kernel was actually used, not the case where a device builds a kernel
from source as normal.

The check has also been turned around so that it only fails the build if
it's actually an official build, not an unofficial one.

Change-Id: I1280b16b90589742c2abe7f3f6f5975a3aaeea03
2021-06-27 11:49:48 +02:00
Sebastiano Barezzi
c86a1a8128 kernel: Add TARGET_FORCE_PREBUILT_KERNEL flag
* TARGET_FORCE_PREBUILT_KERNEL should be useful when you don't have ready kernel sources (OEM releasing broken sources or releasing them lately)
* It lets you use kernel sources for userspace generated headers (generated_kernel_headers) while keeping using prebuilt kernel
* Keep in mind that generated kernel headers may not align with the ABI of kernel you're including
* This commit also partially revert commit a836d79, where TARGET_KERNEL_SOURCE would have been unset if TARGET_PREBUILT_KERNEL was defined (we already check in kernel.mk if kernel sources are present anyway)

Change-Id: I84acae890dabb5b9dbd48143ad58f6420c0cef75
2021-06-24 11:50:07 +02:00
Bruno Martins
e741d463e9 Revert "soong: Add TARGET_QTI_USB_SUPPORTS_{AUDIO,DEBUG}_ACCESSORY flags"
This reverts commit ba8e075ed4.
It is no longer necessary.

Change-Id: I5d9656ffb686e939f006d5fb1effaba835f93ed2
2021-06-14 14:48:36 +01:00
LuK1337
cae10f81b0 kernel: Pass absolute path for KCONFIG_ALLCONFIG
It fails to read relative one, at least on QCOM 4.19 kernel base.

Change-Id: Iacbcadfabfcebb80a7f5934825123fdfa913c63c
2021-06-12 21:16:15 +02:00
JamieHoSzeYui
902f4474ba qcom: add lahaina platform
lahaina = Snapdragon 888

Signed-off-by: Aryan Sinha <sinha.aryan03@gmail.com>
Change-Id: Iaad90031451a9d1d3c8cbe8b61c1cf19717df4ee
2021-05-31 22:51:36 +02:00
LuK1337
12d252b8b8 generated_kernel_headers: Also add usr/include/audio to include path
Needed for QGKI 5.4.

Change-Id: I44c77167828fdc3577cfd1eb548c8ceb7c418cbb
2021-05-28 11:08:33 +02:00
LuK1337
8137c7c3bf roomservice: Set exit status if we fail to fetch data from github
Change-Id: I6f69f1df1ba7d28e68c5961b405a54e209643db3
2021-05-10 10:32:45 +02:00
Bruno Martins
9b70f838e9 envsetup: Make dopush() /system_ext aware
Change-Id: Iee4b1fea656f2fd0262cde4f5a634ec95dd6dab8
2021-05-01 11:20:57 +02:00
Dhina17
4280154049 envsetup: replace __detect_shell with basename $SHELL
- __detect_shell is dead long ago.
  $SHELL is a global env var in all shells.

Change-Id: Ie6bd4bbc9d52832a6d42933993c4bc6d0d058633
2021-04-26 20:31:46 +05:30
Dhina17
5c1d8be8c2 envsetup: fix lineagegerrit push for zsh
- fixes:
  error: src refspec HEADefs/for/lineage-18.1 does not match any
  In zsh, :r is a modifier.

Change-Id: Ie6a2a079a96f13c8eb6732a796bab2c2700d7276
2021-04-26 20:30:41 +05:30
LuK1337
3bd9a6607a lineage: Handle build type suffixes properly
This gets rid of grep error code when running breakfast.

Change-Id: I7a8eb86b6068ae1973a96a929129da9eaa84865c
2021-04-13 19:40:01 +02:00
LuK1337
ba8e075ed4 soong: Add TARGET_QTI_USB_SUPPORTS_{AUDIO,DEBUG}_ACCESSORY flags
Change-Id: I18a93fa12bf3d911919a80996d41d52714ee42bf
2021-04-10 18:53:40 +02:00
Nolen Johnson
db313846b1 lineage: targets: x86{,_64}_ab: Don't explicitly include SDK addon
* This resolves some build warnings on these targets, as it's
  being declared elsewhere.

Change-Id: If142b7435d8f4b81f8477516545bb54462518487
2021-03-09 22:17:49 +01:00
Nolen Johnson
52be5fcb10 lineage: targets: Add support for Legacy GSIs
* This is needed for VNDK27, and other older,
  hackier Treble implementations.

* We can't include `legacy_gsi_release.mk` as it's included
  in the `aosp_${ARCH}_ab` targets themselves, unlike the standard
  `aosp_${ARCH}` targets which guard `gsi_release.mk`'s inclusion
   with `aosp_${ARCH}` product guards.

Change-Id: I16c5983c18110b24eef84e382e0ae6852efb03c3
2021-03-09 21:04:44 +01:00
Nolen Johnson
7c428141bc soong: Add TARGET_LEGACY_HW_DISK_ENCRYPTION conditional
Change-Id: I2c67fe632d415353273839493a86cdd75bd93b23
2021-02-22 20:28:23 +01:00
Alessandro Astone
b9aa311d5a kernel: Support pixel style vendor_boot modules
Mini documentation:
List the names of boot modules in BOOT_KERNEL_MODULES to add them
to vendor_boot.

All modules still end up in their primary location (normally
vendor/lib/modules). Boot modules will be kept here as duplicates.

The list of boot modules is then depmod'ed and copied to the
vendor ramdisk.

The file modules.load is created from
BOARD_$(IMAGE)_KERNEL_MODULES_LOAD as the ordered list of modules
to be loaded form that location, either parsed by a modprobe script
or by init itself (only boot modules)
When using vendor_boot modules, vendor/lib/modules/modules.load
should list all modules but boot modules.

Also don't clear the output directory, because one might want to
push a modules.blocklist there.

Change-Id: I89a4aad42a6585a572812f1d7e89f5d78931e1e6
2021-02-17 20:21:04 +01:00
TheMalachite
ec016fd19b qcom: Add bengal platform
Signed-off-by: TheMalachite <eliasgheeraert@gmail.com>
Change-Id: Ia9f602a1d6f109554c6462eaa02214c43b9295dd
2021-02-02 16:47:05 +01:00
Nolen Johnson
c2d63c642e lineage: targets: Add support for ATV GSI builds
Change-Id: I1faf83e21af5db1b29b98af72a4f74666c05f775
2021-01-19 23:15:52 +01:00
Alessandro Astone
9f160e6e5f lineage: Commonize display_intf_headers for QSSI supported platforms
Change-Id: I7224c10295c4123222d81b92f7829502e3cc2d61
2021-01-07 11:21:54 +01:00
Michael Bestas
151e17118c build: Relocate extract utils to tools/extract-utils
Change-Id: I13489b54298ebc2410c38ca9e16aa7121a28f997
2021-01-03 03:33:59 +01:00
Sebastiano Barezzi
85359e5b65
fixup! extract_utils: implement patchelf
* Move $PATCHELF exporting from oat2dex to setup_vendor
* Since it requires $HOST to be set, let's make it global, so oat2dex can also use it

Change-Id: I4556a3c19cd01c9b3a68d358d19a361217d9c3c1
2020-12-23 16:51:06 +01:00
Alessandro Astone
46b6e3a454 extract_utils: generate_prop_list: Ignore vdex/odex files too
Change-Id: Ibe77e8b93466a71d4d0c48ca8f4ff2e00c6e40af
(cherry picked from commit ee669788bc86330215f2444b3beb1f3870329c9e)
2020-12-15 19:22:12 +01:00
Jan Altensen
2855e94574 soong: add TARGET_HAS_MEMFD_BACKPORT conditional
Change-Id: I71b3a86c96bfe53e93e99c071bc8f3a8c56c77b7
2020-12-14 10:28:31 +01:00
Arne Coucheron
ca94a9791c soong: Add flag for disabling postrender cleanup
Some legacy devices experiences bad lag unless this is disabled.

Disable it with:
TARGET_DISABLE_POSTRENDER_CLEANUP := true

Change-Id: I2b40dc4cbcab06fb293d1f407321af2fae846a51
2020-12-03 20:09:54 +01:00
Volodymyr Zhdanov
a039a46b0d extract_utils: implement patchelf
Change-Id: I406f70ef1ce9ec7a0998f77439b7d3fa3ec4e62a
2020-11-26 20:40:02 +01:00
LuK1337
a574c010d2 repopick: Use project revision if available
* Fixes repopicking from repos synced under multiple paths + branches.

Change-Id: Icb165f3d9df67f1b11304e8d7ed955464dcb57bc
2020-11-23 10:55:24 +01:00
Michael Bestas
e26ac59843 kernel: Make system/vendor images depend on modules
* We're having a race with the kernel module build and vendor.img
  generation, and sometimes when vendor.img wins it won't include
  any modules in the image, which leads to all sorts of breakage

Change-Id: I2cdde96530aa8e47351cace76352788cde631058
2020-11-22 23:35:38 +01:00
Michael Bestas
d9dd942eee build: Remove hardware/qcom-caf/thermal pathmap
* Thermal HAL was converted to HIDL service and .mk to .bp,
  devices can override it by using a different named service

Change-Id: Ia3e0d86e791555992e7889f33f7d55f224b9a582
2020-11-22 23:35:38 +01:00
Michael Bestas
571bed5e3f Remove build/core/clear_vars.mk
LOCAL_IGNORE_SUBDIR has been deprecated since 16.0

Change-Id: I3d27034a070977acef32c3b9b654badce1506359
2020-11-13 18:45:04 +01:00
LuK1337
beb10414d2 lineage: Add data-ipa-cfg-mgr to soong namespace in BoardConfigQcom
Before:
  $ breakfast capricorn && m ipacm
  FAILED: ninja: unknown target 'ipacm', did you mean 'lpadd'?

After:
  $ breakfast capricorn && m ipacm
  * happily compiles *

Change-Id: Ib68978d4f287dcdea45fc21382af05b1890caca4
2020-11-01 11:29:01 +01:00
Aayush Gupta
48d0111db6 lineage: Don't enforce specifying image name on prebuilt kernel
- The goal of specifying kernel image name was to whether kernel needs
  appended dtb or not, which is not something required if the kernel is
  prebuilt

Ref:
[0]: Commit edc1cebc2f

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: I6b43756a2eac59729a67b5f80dac112f8b6bcc5b
2020-10-28 10:25:37 +01:00
razorloves
23591a8530 Declare vendor/qcom/opensource/data-ipa-cfg-mgr as soong namespace
The mk files in vendor/qcom/opensource/data-ipa-cfg-mgr were
converted to bp, so this is needed to avoid duplicate module
build errors on devices that use a different data-ipa-cfg-mgr hal.

Co-authored-by: Christian Oder <myself5@carbonrom.org>
Change-Id: Ib4d566e43145745afac0259c95c0a563779fa3bd
2020-10-27 13:16:23 +05:30
Aayush Gupta
445136f111 fixup! soong: Add lineage soong config variables
error: system/netd/server/Android.bp:162:1: module "netd" variant "android_arm64_armv8-a_cfi": cppflags: Flag DIGNORES_FTP_PPTP_CONNTRACK_FAILURE must start with -

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Change-Id: I24b89f13425cf586e6ff50d83e71fb1a052bf4ed
2020-10-21 16:29:53 +05:30
Alessandro Astone
1b4ecdcb1c soong: Export bootloader_message_offset to dependencies
Change-Id: I5b81d4a58406b1b521297a217dc33086e70259d0
2020-10-18 20:04:23 +02:00
Pig
a98d12f8e3 soong: Add lineage soong config variables
Ref: https://android.googlesource.com/platform/build/soong/+/refs/tags/android-11.0.0_r4#soong-config-variables

Change-Id: Icaf35b65b63d4245c92e39ce628bb8d6ffd0d4bb
2020-10-16 14:47:33 +01:00
Pig
92388f84ea Revert lineage soong product variables changes
* This reverts commits 7ef0e170 and 4ed4605 and removes relevant flags
   to prepare for using Soong config variables as per Google's docs

Change-Id: Ib6ae5a8a922104d37f8d0e08242b428eb129785c
2020-10-16 12:46:42 +01:00
Bruno Martins
1460ac1c8f Revert "soong_config: Add flag for msm8974 1440p EGL workaround"
This reverts commit f3f7eb2d87.

Support for this in fw/native has been ported in the previous branch
and is very unlikely that will be done or even needed for R.

Change-Id: I9c9709e323d6a27f3c9196887af7ab0ffa1819e9
2020-10-16 09:05:10 +02:00
Bruno Martins
a78e5b2aab Revert "lineage: Add flag for skipping EV_REL input in recovery"
This reverts commit fd27bb4912.
Should have never been added. This time should be done with a prop.

Change-Id: I72a4563834447d4dbeda66dfb232b0541727cb55
2020-10-15 16:13:06 +01:00
Pig
8f6c870ac7 soong: Run bpfix
Change-Id: Id528c99180d34129862c67ef92a00a5ef0fdf61e
2020-10-15 16:01:15 +01:00
LuK1337
abb6597d30 extract_utils: Set filename_from_src: true for CLASS=ETC targets
Change-Id: I881f6a67d84d8de0a4bef17bf3c9eac049679c38
2020-10-06 19:29:53 +02:00
Alessandro Astone
08b2846646 kernel: Import function to install kernel modules from Q
* The new refactored function doesn't work with shell expanded
   variables, like our $$modules.

 * This is the _easy_ fix.
   A proper fix would imply generating the module list into a make variable
   from the shell variable, but with kati that looks unfeasable (to me...)

Change-Id: I8198c62fa93ad94d4b9bf7175fe5eea452c243ea
2020-09-25 21:04:31 +02:00
Bruno Martins
c3ad8b5c54 lineage: Use $(HOST_PREBUILT_TAG) where possible
Change-Id: If211d23ce72b3404368cd723cbb9ea801e61802c
2020-09-24 11:56:08 +01:00
dianlujitao
37e088a2c9 extract_utils: Disable ELF check for shared library
* This is indeed a nice feature, but it's absolutely a bad idea to
   hardcode dependencies of prebuilt modules in proprietary-files.txt.

Change-Id: I8c2d75ff62c0c7862f40e777bcbad4d9cebc074c
2020-09-20 14:56:47 +01:00
LuK1337
22f5c43939 lineage: Switch generic targets to common_full_phone.mk
Change-Id: Ib998fb9a5d604761d0ddf9b2c25cab444c7a5b80
2020-09-18 22:37:47 +02:00
LuK1337
d034c3f7bb lineage: Disable inline kernel building for generic {arm,arm64} targets
Change-Id: I766779a2babc170481174899aaf610cbfeb8d754
2020-09-18 22:37:47 +02:00
LuK1337
41ded0c93e lineage: Manually include gsi_release.mk for generic lineage targets
* AOSP wrapped these around aosp_{arm,arm64,x86,x86_64} checks
  thus we need to have them here instead.

Change-Id: Ia3e1e37361330c4b28759f07a3fef6c78565e958
2020-09-18 22:37:47 +02:00