commit | 46aff099d2e8587f94dfa0de1eb47a75a9067b60 | [log] [tgz] |
---|---|---|
author | Yifan Hong <elsk@google.com> | Wed Oct 28 13:50:47 2020 -0700 |
committer | Yifan Hong <elsk@google.com> | Wed Oct 28 17:05:18 2020 -0700 |
tree | 3cc279290c98e45d2afd063f92af005d48e20ca3 | |
parent | 865b6605caf02910c333de43cb908f63a07bbf13 [diff] |
Do not assume GKI just with vendor_boot. This change ensures changes to GENERIC_KERNEL_CMDLINE only affects devices that explicitly says it uses GKI/generic boot image. In details, if the device has vendor_boot, but does not explicitly specify that it uses GKI/generic boot image, do not include GENERIC_KERNEL_CMDLINE in boot. boot cmdline is left empty in this case. The old logic: - If device uses GKI *OR* has vendor_boot: boot uses GENERIC_KERNEL_CMDLINE, and do not include kernel base and pagesize. - If device has vendor_boot, INTERNAL_KERNEL_CMDLINE, kernel base and pagesize goes in vendor_boot. - If device does not use GKI nor have vendor_boot: boot uses INTERNAL_KERNEL_CMDLINE, and includes kernel base and pagesize. The new logic: - If using GKI, boot uses GENERIC_KERNEL_CMDLINE. Remove kernel base and pagesize because they are device-specific. - If not using GKI: - If building vendor_boot, INTERNAL_KERNEL_CMDLINE, base and pagesize goes in vendor_boot; boot does not have cmdline, base or pagesize. - Otherwise, put them in boot Comparison of the code before and after: - If device uses GKI, - For boot partition: - cmdline continues to be GENERIC_KERNEL_CMDLINE - kernel base and pagesize continues to be excluded - For vendor_boot partition: - cmdline continues to be INTERNAL_KERNEL_CMDLINE - kernel base and pagesize continues to be included - If device does not use GKI: - If device has a vendor_boot partition: - For boot partition: * cmdline changes from GENERIC_KERNEL_CMDLINE to empty - kernel base and pagesize continues to be excluded - For vendor_boot partition: - cmdline continues to be INTERNAL_KERNEL_CMDLINE - kernel base and pagesize continues to be included - If device does not have a vendor_boot partition: - For boot partition: - cmdline continues to be INTERNAL_KERNEL_CMDLINE - kernel base and pagesize continues to be included Test: builds Bug: 171512004 Change-Id: I4feac435698f43ac299b430bff66147057865a62
This is the Makefile-based portion of the Android Build System.
For documentation on how to run a build, see Usage.txt
For a list of behavioral changes useful for Android.mk writers see Changes.md
For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.
This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.