diff --git a/BoardConfig.mk b/BoardConfig.mk index 000c496..b7777d4 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -19,7 +19,10 @@ DEVICE_PATH := device/xiaomi/ginkgo # For building with minimal manifest ALLOW_MISSING_DEPENDENCIES := true +SOONG_ALLOW_MISSING_DEPENDENCIES := true +BUILD_BROKEN_DUP_RULES := true BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true +BUILD_BROKEN_MISSING_REQUIRED_MODULES := true # Architecture TARGET_ARCH := arm64 @@ -47,7 +50,7 @@ TARGET_BOARD_PLATFORM := trinket TARGET_BOARD_PLATFORM_GPU := qcom-adreno640 # Kernel -BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 androidboot.hardware=qcom androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=1 earlycon=msm_geni_serial,0x4a90000 loop.max_part=7 cgroup.memory=nokmem,nosocket androidboot.selinux=permissive androidboot.usbconfigfs=true +BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 androidboot.hardware=qcom androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=1 earlycon=msm_geni_serial,0x4a90000 cgroup.memory=nokmem,nosocket androidboot.selinux=permissive androidboot.usbconfigfs=true BOARD_KERNEL_BASE := 0x00000000 BOARD_KERNEL_PAGESIZE := 4096 BOARD_KERNEL_TAGS_OFFSET := 0x00000100 @@ -59,7 +62,7 @@ TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilt/Image.gz #TARGET_PREBUILT_DTB := $(DEVICE_PATH)/prebuilt/dtb.img BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilt/dtbo.img BOARD_INCLUDE_RECOVERY_DTBO := true -BOARD_BOOTIMG_HEADER_VERSION := 1 +BOARD_BOOTIMG_HEADER_VERSION := 2 BOARD_MKBOOTIMG_ARGS := --ramdisk_offset $(BOARD_RAMDISK_OFFSET) BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) #BOARD_MKBOOTIMG_ARGS += --dtb $(TARGET_PREBUILT_DTB) @@ -75,30 +78,41 @@ BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flag 2 # Partitions BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64) -BOARD_CACHEIMAGE_PARTITION_SIZE := 402653184 -BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_DTBOIMG_PARTITION_SIZE := 25165824 BOARD_BOOTIMAGE_PARTITION_SIZE := 134217728 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 67108864 -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4831838208 -BOARD_SYSTEMIMAGE_PARTITION_TYPE := ext4 BOARD_USERDATAIMAGE_PARTITION_SIZE := 52554612224 -BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_VENDORIMAGE_PARTITION_SIZE := 1610612736 +BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +TARGET_COPY_OUT_ODM := odm +TARGET_COPY_OUT_PRODUCT := product +TARGET_COPY_OUT_SYSTEM_EXT := system_ext +TARGET_COPY_OUT_VENDOR := vendor + +# Partitions Dynamic +BOARD_SUPER_PARTITION_BLOCK_DEVICES := vendor system +BOARD_SUPER_PARTITION_METADATA_DEVICE := system +BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 1610612736 +BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 4831838208 +BOARD_SUPER_PARTITION_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE) + $(BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE) ) + +BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions +BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor +BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_SIZE) - 4194304 ) + # System as root -BOARD_BUILD_SYSTEM_ROOT_IMAGE := true +BOARD_BUILD_SYSTEM_ROOT_IMAGE := false TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/root/system/etc/recovery.fstab # File systems TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_F2FS := true -# Workaround for error copying vendor files to recovery ramdisk -BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 -TARGET_COPY_OUT_VENDOR := vendor - # Init TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):libinit_ginkgo TARGET_RECOVERY_DEVICE_MODULES := libinit_ginkgo @@ -108,7 +122,7 @@ BOARD_USES_METADATA_PARTITION := true TW_INCLUDE_FBE_METADATA_DECRYPT := true BOARD_USES_QCOM_FBE_DECRYPTION := true TW_INCLUDE_CRYPTO := true -TW_USE_FSCRYPT_POLICY := 1 +TW_USE_FSCRYPT_POLICY := 2 PLATFORM_SECURITY_PATCH := 2099-12-31 VENDOR_SECURITY_PATCH := 2099-12-31 PLATFORM_VERSION := 16.1.0 @@ -138,7 +152,7 @@ TW_EXCLUDE_DEFAULT_USB_INIT := true TW_EXTRA_LANGUAGES := true TW_INCLUDE_NTFS_3G := true TW_INPUT_BLACKLIST := hbtp_vm -TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file +#TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file TW_BRIGHTNESS_PATH := /sys/class/backlight/panel0-backlight/brightness TW_MAX_BRIGHTNESS := 2047 TW_DEFAULT_BRIGHTNESS := 1200 @@ -151,12 +165,15 @@ TW_INCLUDE_REPACKTOOLS := true TW_EXCLUDE_NANO := true TW_EXCLUDE_BASH := true TW_EXCLUDE_PYTHON := true +TW_EXCLUDE_APEX := true TW_FRAMERATE := 60 TW_FORCE_KEYMASTER_VER := true +TW_PREPARE_DATA_MEDIA_EARLY := true +TW_DEVICE_VERSION=FbeV2-A14 #Properties TW_OVERRIDE_SYSTEM_PROPS := \ - "ro.build.product;ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental;ro.product.device=ro.product.system.device;ro.product.model=ro.product.system.model;ro.product.name=ro.product.system.name" + "ro.build.fingerprint=ro.system.build.fingerprint;ro.build.version.incremental" # TWRP Debug Flags TWRP_INCLUDE_LOGCAT := true diff --git a/device.mk b/device.mk index 53ef87b..f676b8e 100644 --- a/device.mk +++ b/device.mk @@ -9,6 +9,13 @@ PRODUCT_PACKAGES_ENG += \ # Custom ROM asserts TARGET_OTA_ASSERT_DEVICE := ginkgo,willow +# Dynamic Partitions +PRODUCT_USE_DYNAMIC_PARTITIONS := true +PRODUCT_RETROFIT_DYNAMIC_PARTITIONS := true + +# Fastbootd +TW_INCLUDE_FASTBOOTD := true + # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ $(LOCAL_PATH) diff --git a/prebuilt/Image.gz b/prebuilt/Image.gz index c07e14e..6f6c540 100644 Binary files a/prebuilt/Image.gz and b/prebuilt/Image.gz differ diff --git a/prebuilt/dtbo.img b/prebuilt/dtbo.img index dc6f585..2b77a25 100644 Binary files a/prebuilt/dtbo.img and b/prebuilt/dtbo.img differ diff --git a/recovery/root/system/etc/recovery.fstab b/recovery/root/system/etc/recovery.fstab index 35959ad..91bc58d 100644 --- a/recovery/root/system/etc/recovery.fstab +++ b/recovery/root/system/etc/recovery.fstab @@ -32,12 +32,18 @@ #TODO: Add 'check' as fs_mgr_flags with data partition. # Currently we dont have e2fsck compiled. So fs check would failed. -# -/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1,discard wait -/dev/block/bootdevice/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,formattable,wrappedkey -/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,nodiscard,alloc_mode=reuse,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,fileencryption=ice,wrappedkey,keydirectory=/metadata/vold/metadata_encryption,quota +# +system /system ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey +system_ext /system_ext ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +product /product ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +vendor /vendor ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +odm /odm ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount +# Add fs_mgr flag - sysfs_path=/sys/devices/platform/soc/xxxx.[ufshc|sdhci] to userdata entry, based on UFS|eMMC device. +/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,quota,reservedsize=128M,checkpoint=fs # Need to have this entry in here even though the mount point itself is no longer needed. # The update_engine code looks for this entry in order to determine the boot device address # and fails if it does not find it. -/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults +/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults diff --git a/recovery/root/system/etc/twrp.flags b/recovery/root/system/etc/twrp.flags index c3e73bd..11cc690 100644 --- a/recovery/root/system/etc/twrp.flags +++ b/recovery/root/system/etc/twrp.flags @@ -7,13 +7,13 @@ /dtbo emmc /dev/block/bootdevice/by-name/dtbo flags=backup=1;display="Dtbo";flashimg=1 /cache ext4 /dev/block/bootdevice/by-name/cache /recovery emmc /dev/block/bootdevice/by-name/recovery flags=backup=1 -/system_root ext4 /dev/block/bootdevice/by-name/system flags=display="System";backup=0;wipeingui -/vendor ext4 /dev/block/bootdevice/by-name/vendor flags=display="Vendor";backup=0;wipeingui +/system_root ext4 /dev/block/bootdevice/by-name/system flags=display="System";backup=0;wipeingui +/system_ext ext4 /dev/block/bootdevice/by-name/system_ext flags=display="System_ext";backup=0;wipeingui +/vendor ext4 /dev/block/bootdevice/by-name/vendor flags=display="Vendor";backup=0;wipeingui -/system_image emmc /dev/block/bootdevice/by-name/system -/vendor_image emmc /dev/block/bootdevice/by-name/vendor +/system_image emmc /dev/block/bootdevice/by-name/system +/vendor_image emmc /dev/block/bootdevice/by-name/vendor -#/system_ext ext4 /dev/block/bootdevice/by-name/system_ext flags=display="System_ext" /firmware vfat /dev/block/bootdevice/by-name/modem flags=display="Firmware";mounttodecrypt /cust ext4 /dev/block/bootdevice/by-name/cust flags=display="Cust" /misc emmc /dev/block/bootdevice/by-name/misc diff --git a/recovery/root/vendor/etc/gpfspath_oem_config.xml b/recovery/root/vendor/etc/gpfspath_oem_config.xml deleted file mode 100644 index 6b2e82a..0000000 --- a/recovery/root/vendor/etc/gpfspath_oem_config.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - /data/vendor/tzstorage/ - /mnt/vendor/persist/data/ - 4 - /data/system/users/ - /data/misc/qsee/ - /qwes - /qwes/licenses - diff --git a/system.prop b/system.prop index 1da8d4d..aa0d5f8 100644 --- a/system.prop +++ b/system.prop @@ -6,3 +6,7 @@ vendor.gatekeeper.disable_spu=true ro.boot.avb_version=1.0 ro.boot.vbmeta.avb_version=1.0 keymaster_ver=4.0 +ro.crypto.dm_default_key.options_format.version=2 +ro.crypto.volume.metadata.method=dm-default-key +ro.crypto.volume.filenames_mode=aes-256-cts +ro.crypto.volume.options=::v2 diff --git a/twrp_ginkgo.mk b/twrp_ginkgo.mk index 0c13e0b..a3b00ae 100644 --- a/twrp_ginkgo.mk +++ b/twrp_ginkgo.mk @@ -25,6 +25,7 @@ PRODUCT_RELEASE_NAME := ginkgo # Inherit from common AOSP config $(call inherit-product, $(SRC_TARGET_DIR)/product/base.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) # Inherit from our custom product configuration $(call inherit-product, vendor/twrp/config/common.mk)