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 commit is contained in:
parent
865b6605ca
commit
46aff099d2
1 changed files with 20 additions and 25 deletions
|
@ -754,30 +754,27 @@ endif
|
|||
|
||||
INTERNAL_KERNEL_CMDLINE := $(strip $(INTERNAL_KERNEL_CMDLINE) buildvariant=$(TARGET_BUILD_VARIANT) $(VERITY_KEYID))
|
||||
|
||||
boot_uses_generic_kernel_image :=
|
||||
ifdef BUILDING_VENDOR_BOOT_IMAGE
|
||||
# building vendor boot image, dtb/base/pagesize go there
|
||||
boot_uses_generic_kernel_image := true
|
||||
else ifeq (true,$(BOARD_USES_GENERIC_KERNEL_IMAGE))
|
||||
boot_uses_generic_kernel_image := true
|
||||
endif
|
||||
|
||||
ifeq (true,$(boot_uses_generic_kernel_image))
|
||||
# kernel cmdline/base/pagesize in boot.
|
||||
# - If using GKI, use 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.
|
||||
# - Otherwise, put them in boot.
|
||||
ifeq (true,$(BOARD_USES_GENERIC_KERNEL_IMAGE))
|
||||
ifdef GENERIC_KERNEL_CMDLINE
|
||||
INTERNAL_BOOTIMAGE_ARGS += --cmdline "$(GENERIC_KERNEL_CMDLINE)"
|
||||
endif
|
||||
else # boot_uses_generic_kernel_image != true
|
||||
else ifndef BUILDING_VENDOR_BOOT_IMAGE # && BOARD_USES_GENERIC_KERNEL_IMAGE != true
|
||||
ifdef INTERNAL_KERNEL_CMDLINE
|
||||
INTERNAL_BOOTIMAGE_ARGS += --cmdline "$(INTERNAL_KERNEL_CMDLINE)"
|
||||
endif
|
||||
ifdef BOARD_KERNEL_BASE
|
||||
INTERNAL_BOOTIMAGE_ARGS += --base $(BOARD_KERNEL_BASE)
|
||||
endif
|
||||
ifdef BOARD_KERNEL_PAGESIZE
|
||||
INTERNAL_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE)
|
||||
endif
|
||||
ifdef INTERNAL_KERNEL_CMDLINE
|
||||
INTERNAL_BOOTIMAGE_ARGS += --cmdline "$(INTERNAL_KERNEL_CMDLINE)"
|
||||
endif
|
||||
endif # boot_uses_generic_kernel_image == true
|
||||
boot_uses_generic_kernel_image :=
|
||||
endif # BUILDING_VENDOR_BOOT_IMAGE == "" && BOARD_USES_GENERIC_KERNEL_IMAGE != true
|
||||
|
||||
INTERNAL_MKBOOTIMG_VERSION_ARGS := \
|
||||
--os_version $(PLATFORM_VERSION_LAST_STABLE) \
|
||||
|
@ -4541,11 +4538,9 @@ endif
|
|||
ifdef INSTALLED_KERNEL_TARGET
|
||||
$(hide) cp $(INSTALLED_KERNEL_TARGET) $(zip_root)/BOOT/
|
||||
endif
|
||||
ifdef INSTALLED_VENDOR_BOOTIMAGE_TARGET
|
||||
ifeq (true,$(BOARD_USES_GENERIC_KERNEL_IMAGE))
|
||||
echo "$(GENERIC_KERNEL_CMDLINE)" > $(zip_root)/BOOT/cmdline
|
||||
else ifeq (true,$(BOARD_USES_GENERIC_KERNEL_IMAGE))
|
||||
echo "$(GENERIC_KERNEL_CMDLINE)" > $(zip_root)/BOOT/cmdline
|
||||
else # INSTALLED_VENDOR_BOOTIMAGE_TARGET == "" && BOARD_USES_GENERIC_KERNEL_IMAGE != true
|
||||
else ifndef INSTALLED_VENDOR_BOOTIMAGE_TARGET # && BOARD_USES_GENERIC_KERNEL_IMAGE != true
|
||||
echo "$(INTERNAL_KERNEL_CMDLINE)" > $(zip_root)/BOOT/cmdline
|
||||
ifdef INSTALLED_2NDBOOTLOADER_TARGET
|
||||
cp $(INSTALLED_2NDBOOTLOADER_TARGET) $(zip_root)/BOOT/second
|
||||
|
|
Loading…
Reference in a new issue