Targets can switch on this feature by setting
MALLOC_SVELTE_FOR_LIBC32 := true
The default is to build libc32 with scudo enabled.
Change-Id: I207659af05412a8e7dc850d57b491ee565554a65
Add support for optional device tree image (dt.img)
to boot and recovery images. Some devices use kernel device
tree and this adds the device tree image as a section within
the boot/recovery images.
Change-Id: I91431ef2f4b86485895678916e39a8572be878eb
Build: add DT image variable to Makefile
DT image variable is currently present in
generate_extra_images.mk.This file is moved to
build/tasks to support persist image generation
during parallel make. As build/tasks is called
at the end of Makefile, DT image variable is not
available for other images generation like boot and
recovery. Adding this variable in Makefile ensures
the variable is defined before usage
Change-Id: I21f675d8ce648dc1cf1f4f3aede33278300e08c9
CRs-fixed: 548299
Fix case where boot/recovery.img were being built with wrong params.
The boot and recovery images now get built using the same params during ota package
generation as during a normal build.
Change-Id: I93d46e11a4245288f0e87c87a2e4bf45ac5aff69
Fix the extra dt.img compilation issue.
Add support for optional device tree image (dt.img)
for device that doesnt have TARGET_BOOTIMAGE_USE_EXT2
Change-Id: I6e07b3ca6d049a8ebdad7ea304b4f39e7c846151
releasetools: Store and use the dt image file through target files
Target files packages may be used for signing images separate from the
build process. Store the device tree image file in the target files
package so it can be used during the signing process.
Change-Id: Ie8507121fa9c4ba57ecffeab05bd859ae5f5b788
This is a combination of 2 commits.
This is the 1st commit message:
Add BOARD_CUSTOM_BOOTIMG_MK support
Simplified version of the previous implementation. Recovery's ramdisk
is spun off from the main recovery target again to allow overriding
just the image-generation step
[mikeioannina]: Squash cm-13.0 changes and adapt to N
Change-Id: I058d214f0cf2d05b7621b369ef1f8a983c3ac258
This is the commit message #2:
build: Handle custom boot images properly
When a pre-built image should be used, it should be stored in the
target files zip so that it can be used with external signing
processes.
Original-Change-Id: I2661af9ac58af30bb9314b552775046d3abf44e0
Change-Id: I10b3bd0bb33489b8ffb26d16d002f8dd6ff405ad
[aleasto]
Rewritten for R, where the recovery ramdisk is created via
make dependencies, rather than $(call)s
[mainey]
Adapt to new flag INTERNAL_RECOVERY_RAMDISK_FILES_TIMESTAMP
Change-Id: I058d214f0cf2d05b7621b369ef1f8a983c3ac258
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date: 2011-04-12 10:57:22 +0100
Allow a device to generically define its own headers
We have a few cases of devices including specific versions of projects
just because of modified headers (msm_mdp.h comes to mind), and I just
had enough of ifdeffing header files for specific cases (the P990 needs
a lot of these).
Now... if a target defines a TARGET_SPECIFIC_HEADER_PATH, any headers in
there will take precedence over the standard ones; for example, on the
p990, I have
TARGET_SPECIFIC_HEADER_PATH := device/lge/p990/include
which makes, for example, the
device/lge/p990/include/hardware_legacy/AudioHardwareInterface.h be
used instead of
hardware/libhardware_legacy/include/hardware_legacy/AudioHardwareInterface.h
whenever a source file uses <hardware_legacy/AudioHardwareInterface.h>
Change-Id: I41b62668b60e3f62a6ebd3738d8d2675103a81e6a
build: fix target header overlay
LOCAL_C_INCLUDES as defined by the makefile should be put AFTER
the overlay includes so the overlay always takes precedence.
Change-Id: I489b2aab6dbacd9122d834f85e07b63ed1271f07
Author: Jan Altensen <info@stricted.net>
Date: 2020-09-10 15:18:49 +0200
soong: add TARGET_SPECIFIC_HEADER_PATH
Change-Id: I582ae8e6e010016b33fd9b020b723e5fc2dc442b
Change-Id: I3c885fe504ce4f646001697119cffd674db9ec49
key passphrases may live in some sort of secure storage, support running
an arbitrary command to retrieve them.
Change-Id: I49862cf60f1b73a2356e0c492e1038beef28a95f
(cherry picked from commit 9caf8603575aecf51761feaeac6db619be76cfd3)
* Before this commit, the generated `dynamic_partitions_op_list` in
FullOTA packages always tries to remove all partitions and recreate
them upon flashing. This makes it impossible to have a system-only
"FullOTA" because vendor partition(s) are always removed.
* This commit detects if a build is vendor-less and disables every
dynamic partition operation except `resize`, in order to keep the
original content around after the flash. The change should not affect
non-dynamic-partition or builds with vendor image included.
Change-Id: I0cded7f3b2958f35103d73d19b7fb5f292f6c17f
Signed-off-by: Jesse Chan <jc@lineageos.org>
* This allows us to remount ext4 partitions read-write
on devices with dynamic partitions.
This reverts the following commits:
Revert "Move BOARD_EXT4_SHARE_DUP_BLOCKS to BoardConfigMainlineCommon.mk"
This reverts commit I0eb035ba6edf44719d5de4f09fd97b5783537597.
Revert "enable BOARD_EXT4_SHARE_DUP_BLOCKS for generic_arm64"
This reverts commit 125b6d6eea.
Change-Id: I3768374d6da59f969ea44c1965f75c934edf3b57
This allows us to skip custom inode count calculation by setting
BOARD_*IMAGE_EXTFS_INODE_COUNT to -1, this will end up letting
mke2fs calculate appropriate inode count on its own.
While build_image only allocates exact number of needed inodes
plus 4% spare with .2% margin, mke2fs will allocate as many
inodes as it thinks is appropriate given the filesystem size.
Change-Id: If03d5edae8378be3b305346176067b01163f6f3d
AOSP wants to show localized menus for rescue party and
format data. To achieve that, they produce at compile time a big
PNG file with rows of localized text. The runtime would then pick
the correct row to draw.
In order to customize our recovery UI we cannot draw pregenerated
text. Avoid generating these files to shrink recovery size.
(Saving 2.3MB on xxhdpi!)
Change-Id: Id38d239254f17eeed5491621865c747a8496ed83
There may be multiple entries in fstab for a mount point. Use the first
value found so the entries are prioritized in order.
Change-Id: Ibd2631413d3e00507d3a0ec84fb91755f1c7993c
Ticket: OPO-326
* If a bootloader assert is not satisfied, print the
versions that are supported by the package as well as the version
on the device.
Change-Id: I958d49281c51bd4e60d596a727bb94cfc4a21909
The foreach loops output a space separated list, not necessarily one
command per line. Separate commands with semicolons. Notably, this
fixes an issue with multiple device directories included in
TARGET_RECOVERY_DEVICE_DIRS.
Change-Id: I5ebdc84ecaaacabaea77b8b752141e2041622480
The file was missed when moving recovery resources, but the assertion
path was changed, as a result non-Treble devices failed to build.
Fixes: Ia4045bd67ffb3d899efa8d20dab4c4299b87ee5f
Change-Id: Ib7822a9bd5b1a2ab7e762e9fb35dbb22291a3a76
Set in board file with TARGET_OTA_ASSERT_DEVICE.
(cherry-picked from commit 0f452f21fc9323b9d1fe746161761cf40aaa5030)
Change-Id: I3d06bdc0e3e26bde0c0e646accd050364f9713b9
ota_from_target_files: Remove device dependent arguments
These device-specific arguments are defined at build time and are
necessary to generate the zip correctly. Don't use command line
arguments to specify them, but write all the needed information
in misc_info.txt when the target-files zip is generated.
ota_from_target_files will then read misc_info.txt and set
everything automatically.
Change-Id: Ibdbca575b76eb07b53fccfcea52a351c7e333f91
Signed-off-by: André Pinela <sheffzor@gmail.com>
This is a combination of 3 commits.
This is the 1st commit message:
build: add kernel header dependency if module uses kernel headers
Many of the QCOM components use kernel headers, but don't declare
the dependency on them. This is fine in CAF because of the way they
build the boot.img before anything else. In CM, we don't build the
boot.img the same, so we run into a race between the kernel build &
these modules... and the modules lose.
Warn about modules that have this missing dependency, and add it for
them so we don't have to modify each Android.mk.
Change-Id: I95f1e47b5ef440f6f5d8f64a0c3f38d9572e839e
============================================================================
This is the commit message #2:
build: Switch kernel header inclusion
The build is switching to the target INSTALLED_KERNEL_HEADERS to
declare dependencies on kernel headers.
Change-Id: I913e74681b02dfcf1eaed3d1e47ff4ab2300b12d
============================================================================
This is the commit message #3:
build: Automatically replace old-style kernel header includes with new header lib
Since we do this via soong and the result is a header library, just replace all
legacy include paths that point to the old header location with calls to the new
header library. Since we no longer have the legacy include, we can also remove
the additional dependency.
This reverts commit fa798218e5b7f96e12ab3acc9d47a3f26a140777.
Change-Id: I716955534e50831e6568ca01e480aa8b90075d92
Squashed also with the following changes:
Author: Luca Stefani <luca020400@lineageos.org>
Date: Thu Aug 17 22:22:13 2017 +0200
core: Include Lineage pathmap
Change-Id: Ie25dee383cc5bc9bb6390cff2cb2460d526d80b6
Author: Simon Shields <simon@lineageos.org>
Date: Fri Mar 2 12:55:47 2018 +1100
build: unconditionally use lineage pathmap
even if we're not building a lineage target, we need to
use the lineage pathmap to make things like recovery and ril
happy
Change-Id: I974c30ad10d4ff5b7805c3df9c22010f1e002bf1
Author: Luca Stefani <luca.stefani.ge1@gmail.com>
Date: Tue Jan 22 15:50:52 2019 +0100
Don't export BUILD_NUMBER in envsetup
* The value is meant to be set only before running an /official/ build
* This allows us to execute consecutive make commands without
running kati for every invocation
Change-Id: Ifa94b839f30c7260009c8a3c91c202b50e28022e
Author: Luca Stefani <luca020400@lineageos.org>
Date: Fri Aug 18 10:17:00 2017 +0200
envsetup: Call fixup_common_out_dir
Change-Id: I84e16b0df5822cfd8514c46d709109a13c20f86e
Author: Adrian DC <radian.dc@gmail.com>
Date: Sat May 12 11:24:33 2018 +0200
build: Include LineageOS specific properties in build.prop
* Our properties were supposed to go to /system/etc/prop.default
after the following commit:
"lineage: Move to Google's method of defining system default props"
Change-Id: I6cb0e28a7599b010b389cc541015a37010a00f4b
* However if BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED is not true,
only /default.prop will retain the properties contents of
ADDITIONAL_DEFAULT_PROPERTIES and PRODUCT_SYSTEM_DEFAULT_PROPERTIES,
and none of our versioning identification was held in the system
* Enabling BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED globally would
break all properties on devices that handle partitions usually
at the device level rather than the kernel due to mounting races
* Include the vendor/lineage/config/main.mk entrypoint to be allowed
to extend ADDITION_BUILD_PROPERTIES as we need to define our releases
Change-Id: I19918eece0f0dd3ee967db0339b4d09c9a6d540e
Signed-off-by: Adrian DC <radian.dc@gmail.com>
Author: Rashed Abdel-Tawab <rashed@linux.com>
Date: Thu Sep 5 21:35:38 2019 -0700
core: Only include Lineage SE policy if repo exists
Change-Id: If799106d2da6d8c303430e316edff365a22f7c99
Author: dianlujitao <dianlujitao@lineageos.org>
Date: Thu Sep 5 21:56:36 2019 +0800
product: Exclude AOSP apn list on Lineage build
Change-Id: I1fd10089421a2e4b57ef565d87ad1f6036bd1898
Author: Michael Bestas <mkbestas@lineageos.org>
Date: Fri Apr 12 02:10:12 2019 +0300
build: Conditionally include AudioPackage14.mk instead of AllAudio.mk
* AllAudio.mk doesn't contain latest material files and also
contains multiple duplicate files. Just copy the latest
material ones and we'll include the older files in vendor/lineage
Change-Id: Ic7353216a3f3dc3c51006d951ac932cfd6e5f3b5
Author: dhacker29 <dhackerdvm@gmail.com>
Date: Sat Jun 6 22:22:05 2015 -0400
Remove LatinIME as it is included per target in vendor/lineage
Change-Id: Ibce4a244ec0653a7c7798d864047ac667866a1dc
Author: razorloves <razorloves@gmail.com>
Date: Mon Oct 7 05:10:56 2019 -0500
build: Remove su inclusion
This stops including su in all lineage userdebug/eng builds.
Inclusion of su is conditionally handled in /vendor/lineage.
Change-Id: Ia3ad978146f170a2b260d77afe9eb580d4b4f823
Author: Michael Bestas <mkbestas@lineageos.org>
Date: Sat Nov 7 22:45:12 2020 +0200
Stop including vendor specific clear_vars.mk
vendor/lineage/build/core/clear_vars.mk is no-op since 16.0
Change-Id: I7e159cc9ed5a838c9a04c1a8b7dcf925d83f0e20
Change-Id: Iab8b2ef8b644a7bea10bfd28b99d9e69539b1357
Merge cherrypicks of ['android-review.googlesource.com/3028111'] into sparse-12192237-L48700030005686605.
SPARSE_CHANGE: I7c4a1f291bb426ad599e1dc937e6ecd3889b5820
Change-Id: Ia57ae5d45ff59cb31bac1abf985a5e9e466be096
PLATFORM_BASE_OS is used to set value for
ro.build.version.base_os which is used to qualify
a device build as SMR (Security Maintenance Release)
during APFE (Android Partner Approval) to optimize the test span.
See ag/26859560 on how we plan to use this variable.
Add PRODUCT_BASE_OS that can be used to override
PLATFORM_BASE_OS value before making it read_only.
Plan is to set the value for PRODUCT_BASE_OS using build flags.
This way, it can be easily set per device when making on-demand
SMR releases. In future, move it to be set via soong variable
during build process once build system side is ready.
Test: None
Bug: 155105803
(cherry picked from https://android-review.googlesource.com/q/commit:c4baa3aa7240e1b0cb013f853669aa419e55ee1e)
Merged-In: I7c4a1f291bb426ad599e1dc937e6ecd3889b5820
Change-Id: I7c4a1f291bb426ad599e1dc937e6ecd3889b5820