* Instead of nesting ifeq/else/ifeq/else/endif/endif construction, make
allows the more readable ifeq/else ifeq/else/endif construction. Use it
instead.
Change-Id: Ifd2635929799db593e04a13827f05c97e95487e4
These configuration options are set based on the Google configurations
located in kernels
(ex. https://github.com/LineageOS/android_kernel_google_wahoo/blob/lineage-16.0/build.config)
This is composed of 2 parts:
Revert "kernel: Correct CROSS_COMPILE_ARM32 toolchain"
This reverts commit c77bb3a5ba.
This breaks builds when building with upstream commit
ad15006cc78459d059af56729c4d9bed7c7fd860. That commit fixes LD being
used from outside the path, however androidkernel toolchains don't
have elfedit. Google specifically doesn't use androidkernel, so we
need to follow them on this.
Set CROSS_COMPILE_PREFIX to aarch64-linux-android- for clang builds
Upstream commit ad15006cc78459d059af56729c4d9bed7c7fd860 makes the
kernel build system use GCC toolchains for elfedit, so we have to
actually use a real GCC toolchain, not the androidkernel one.
Change-Id: I79ac4ac47d3ba6c2abbc5ce40e56ed5c707295b4
Currently we handle the DTBO images from start to finish, including
AVB footers, and just drop them in $(PRODUCT_OUT)/dtbo.img when done.
While this works for the most part, we are limited in what we can do
with the DTBO images. For example non-A/B device recovery images must
have a copy of the DTBO image appended to recovery (see AOSP docs:
https://source.android.com/devices/bootloader/recovery-image ). This
means that we need to pass the pre-AVB dtbo image into
BOARD_PREBUILT_DTBOIMAGE in order to let the AOSP build system handle it.
This commit reworks the way the DTBO images are built, placing them at
$(PRODUCT_OUT)/dtbo-pre.img instead and setting BOARD_PREBUILT_DTBOIMAGE
to that path so the AOSP build system can pick the images up and sign
them and append to recovery (for applicable devices).
Change-Id: I8819d7cd92ba298de67dbc7f6b321917ba8524f1
* The option is available in Status bar settings,
as per our additions. Remove duplicate to improve UX.
Change-Id: I60a737617f192f5f0699ce50cfc3edc52c862492
The lack of these whitelisted permissions causes a bootloop
when upgrading from earlier OS versions on devices that enforce
the whitelist.
Change-Id: I76b8fad5f0c49a7d008d19e7a116b5f19c75f739
Change-Id: If184d3e3c5e4545e8baba665366b59390718ac02
Signed-off-by: Christopher N. Hesse <raymanfx@gmail.com>
(cherry picked from commit 70e7015d73b8fdd5258732863012f7b06d8347f5)
The ManagedProvisioning xml's were moved in Pie.
Also added missing managed_device and managed_user xml's.
This fixes 'Android for Work'.
REF: ebe73b6e94b6a9f94d67
Change-Id: If911b4ee1890600e47af73c7fe0fcca4dc73eb26
* Call the build system's build-image-kernel-modules function instead of
redefining all of it inline ourselves.
Change-Id: Ifc4bd3c452393389a14174f4cc29a8f7ef064b93
* Check for any actual kernel modules, rather than just the presence of
kernel modules being enabled as a kernel feature.
Change-Id: I6b7e82d5c59dd57621d9f9e2d1fd606997790d1c
* The directories used by the kernel module install rules are performed
as part of the rules in the kernel build itself. This is likely a
leftover from before kernel module install was separated.
Change-Id: Iee2f73a0f8e0f274b1c2931ba57277ff14d7f5cc
* Traditionally, the task of hex-editing blobs has been approached in 2 ways:
(1) Do it out-of-band, commit the modified blob, and record its edited
sha1sum in proprietary-files.txt (aka pin it).
(2) Do it in-band, by adding code to the device-level extract-files.sh
(usually this performs patchelf or sed). This code runs after the
extract_utils functions were invoked.
* Problems of approach (1):
- It relies on verbal (basically commit message) documentation of
the hex-editing that was done. Makes it more difficult to reproduce.
- Each time blobs are updated, pinning needs to be temporarily removed,
hex-editing done again manually and new hash put back.
* Problems of approach (2):
- It is incompatible with the concept of pinning, which is useful
for kanging blobs from another device. A pinned blob would either:
- Match the hash, get hex-edited, then it won't match the hash
next time around.
- Not match the hash (because of, say, hex-editing), then the
extraction script would use an unwanted blob version instead of the
pinned one (either that, or say "!! file not found in source").
* In summary, this patch adds system-wide support for approach (2) in order
to address the aforementioned shortcomings.
* At device level, users of extract_utils who wish to perform blob
fixups can override a blob_fixup() Bash function in their
extract-files.sh immediately after running "source ${HELPER}". The
blob_fixup() function will be called by the common extract() function
after extracting every individual blob, giving the user the
opportunity to hook custom code after this operation takes place.
* In proprietary-files.txt, the line corresponding to this blob which
needs fixups can look in one of 2 ways:
(a) vendor/lib64/vendor.qti.gnss@1.0_vendor.so
Do this if you are taking the blob from the stock ROM. The fixup
script will always run after the blob is extracted.
(b) vendor/lib64/vendor.qti.gnss@1.0_vendor.so|249c76153f8de014bf2dd2ab623ee3d87741fbc8|f7e9ee8e3804887a2f3939128e860767e6f27258
Do this if you are kanging the blob from somebody else. The pinning
logic now applies for both the pre- and the post-fixup hashes. The
fixup script will only run if the blob doesn't match the hex-edited blob,
although the fixup script should really be idempotent.
Change-Id: Ifdd73c885d995c645f6210597537693d1a2f903f
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
* This makes sure that multi-word arguments are passed correctly from
extract-files.sh towards the common extract_utils helper. An example
would be extract-files --section "Hello World".
* IMPORTANT: device repositories that use a device/common split
typically do something like this to invoke the common script from the
device one:
${MY_DIR}/../common/extract-files.sh $@
This is incorrect because the quotation marks are missing, and will
lead to incorrect parameter parsing. The correct way is:
${MY_DIR}/../common/extract-files.sh "$@"
* The curly braces are only for cosmetic consistency.
Change-Id: Idf0885546379f47e675ec5e9dfb304706e512129
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
* The use case is easier updating of pinned blobs. When --kang is set,
pinning is automatically ignored, and the script will print lines at
its output that can be directly copied back into the
proprietary-files.txt.
* Best served together with --section ${SECTION}, and proper grouping
of the proprietary-files.txt.
Change-Id: I648fbcbd4580a4a002b00828bcfee18d1e265d7b
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
* This also makes the --section argument non-positional, since otherwise
it is not possible to easily support more than one optional positional
argument. This is in preparation of one more optional argument to come
in a follow-up patch: --kang.
Change-Id: Ieb142e0854319defb9a278ab68cd4aeefd0fbdd5
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
* The use case is that if you have the following layout:
$TOP --- system.img
|
+-- vendor.img
you should be able (from $TOP) to:
mkdir system; mount -o ro,loop system.img system
mkdir vendor; mount -o ro,loop vendor.img vendor
and then (from device tree)
./extract-files.sh $TOP
But this doesn't work if system.img is SAR and contains another
"system" dir inside. This patch makes sure it searches for a "system"
dir in the provided path as well, if it couldn't find the blob
anywhere else.
Change-Id: Ib49cd5b587b3a57478a66ff69cf840270c2b1403
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
* This makes the printed output closer to the proprietary-files.txt syntax
Change-Id: I81b844bb6bb1d1a2f91a39151a892fbfc0bed20b
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Add dun apn type to fix hotspot/tethering.
Also update according to https://www.ultramobile.com/data-settings/
BUGBASH-2371
Change-Id: I202cc7be26403d774e8694dd4386391d3576ea66
(cherry picked from commit 367ca28f8206a1e5be8655fb2f1c2e4972d7e8e3