diff --git a/BoardConfig.mk b/BoardConfig.mk index 6099a19272b2a7eadf44b40138904ddaacc878df..f171280bf3d378d353279c10f913fa0dcf3a8e3c 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -78,14 +78,18 @@ BOARD_DTB_OFFSET := 0x07880000 BOARD_KERNEL_PAGESIZE := 2048 BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb BOARD_BOOTIMG_HEADER_VERSION := 2 + TARGET_KERNEL_ARCH := arm64 TARGET_KERNEL_HEADER_ARCH := arm64 TARGET_KERNEL_SOURCE := kernel/teracube/2e TARGET_KERNEL_CONFIG := 2e_defconfig TARGET_KERNEL_VERSION := 4.9 TARGET_KERNEL_CLANG_COMPILE := true + +BOARD_DTBO_CFG := $(DEVICE_PATH)/configs/dtboimg.cfg BOARD_INCLUDE_DTB_IN_BOOTIMG := true BOARD_KERNEL_SEPARATED_DTBO := true + BOARD_MKBOOTIMG_ARGS += --base $(BOARD_KERNEL_BASE) BOARD_MKBOOTIMG_ARGS += --dtb_offset $(BOARD_DTB_OFFSET) BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION) @@ -93,7 +97,6 @@ BOARD_MKBOOTIMG_ARGS += --kernel_offset $(BOARD_KERNEL_OFFSET) BOARD_MKBOOTIMG_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE) BOARD_MKBOOTIMG_ARGS += --ramdisk_offset $(BOARD_RAMDISK_OFFSET) BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) -BOARD_CUSTOM_DTBOIMG_MK := $(DEVICE_PATH)/configs/dtbo/dtbo.mk # Avb BOARD_AVB_ENABLE := true diff --git a/configs/dtbo/dtbo.mk b/configs/dtbo/dtbo.mk deleted file mode 100644 index 4d8024fbed921a16bfa77434a80ff12775ece4b3..0000000000000000000000000000000000000000 --- a/configs/dtbo/dtbo.mk +++ /dev/null @@ -1,12 +0,0 @@ -BOARD_KERNEL_DTBO_CFG := dtboimg.cfg -MKDTBOIMG := system/libufdt/utils/src/mkdtboimg.py - -# BUG: mkdtboimg.py doesn't support absolute paths yet. Fix this later. -define build-dtboimage-target-from-cfg - $(call pretty,"Target dtbo image from cfg: $(BOARD_PREBUILT_DTBOIMAGE)") - $(hide) $(MKDTBOIMG) cfg_create $@ $(KERNEL_OUT)/$(BOARD_KERNEL_DTBO_CFG) -d / - $(hide) chmod a+r $@ -endef - -$(BOARD_PREBUILT_DTBOIMAGE): $(MKDTBOIMG) $(INSTALLED_KERNEL_TARGET) - $(build-dtboimage-target-from-cfg) diff --git a/configs/dtboimg.cfg b/configs/dtboimg.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9ad11069a30a1a5f6bfdd0dc913c0a35701e2b6d --- /dev/null +++ b/configs/dtboimg.cfg @@ -0,0 +1,2 @@ +arch/arm64/boot/dts/mediatek/yk673v6_lwg62_64.dtb + id=0 diff --git a/releasetools.py b/releasetools.py index d493fa50f982312ef510cc0ca390856e42e2515d..d9eebe3c3f747ad14c4c178b7f3dd9af3ab174b7 100644 --- a/releasetools.py +++ b/releasetools.py @@ -1,6 +1,6 @@ # Copyright (C) 2009 The Android Open Source Project # Copyright (C) 2019 The Mokee Open Source Project -# Copyright (C) 2019 The LineageOS Open Source Project +# Copyright (C) 2019-2020 The LineageOS Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,26 +15,30 @@ # limitations under the License. import common -import re + def FullOTA_InstallEnd(info): - OTA_InstallEnd(info) - return + OTA_InstallEnd(info, False) + def IncrementalOTA_InstallEnd(info): - OTA_InstallEnd(info) - return - -def AddImage(info, basename, dest): - name = basename - data = info.input_zip.read("IMAGES/" + basename) - common.ZipWriteStr(info.output_zip, name, data) - info.script.AppendExtra('package_extract_file("%s", "%s");' % (name, dest)) - -def OTA_InstallEnd(info): - info.script.Print("Patching device-tree and verity images...") - AddImage(info, "dtbo.img", "/dev/block/platform/bootdevice/by-name/dtbo") - AddImage(info, "vbmeta.img", "/dev/block/platform/bootdevice/by-name/vbmeta") - AddImage(info, "vbmeta_system.img", "/dev/block/platform/bootdevice/by-name/vbmeta_system") - AddImage(info, "vbmeta_vendor.img", "/dev/block/platform/bootdevice/by-name/vbmeta_vendor") - return + OTA_InstallEnd(info, True) + + +def AddImage(info, basename, dest, incremental): + name = basename + if incremental: + input_zip = info.source_zip + else: + input_zip = info.input_zip + data = input_zip.read("IMAGES/" + basename) + common.ZipWriteStr(info.output_zip, name, data) + info.script.Print("Patching {} image unconditionally...".format(dest.split('/')[-1])) + info.script.AppendExtra('package_extract_file("%s", "%s");' % (name, dest)) + + +def OTA_InstallEnd(info, incremental): + AddImage(info, "dtbo.img", "/dev/block/platform/bootdevice/by-name/dtbo", incremental) + AddImage(info, "vbmeta.img", "/dev/block/platform/bootdevice/by-name/vbmeta", incremental) + AddImage(info, "vbmeta_system.img", "/dev/block/platform/bootdevice/by-name/vbmeta_system", incremental) + AddImage(info, "vbmeta_vendor.img", "/dev/block/platform/bootdevice/by-name/vbmeta_vendor", incremental)