diff --git a/BoardConfig.mk b/BoardConfig.mk index 7b71d89..cf944bb 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -46,8 +46,13 @@ BOARD_MKBOOTIMG_ARGS += --vendor_cmdline "bootopt=64S3,32N2,64N2" # Preserve the pristine stock vendor ramdisk byte-for-byte as the unnamed base # PLATFORM ramdisk. AOSP then appends the generated TWRP RECOVERY fragment. # This matches the factory vendor_boot v4 layout and preserves overlay ordering. +ifeq ($(strip $(DUALBOOT)),Y) +BOARD_PREBUILT_VENDOR_RAMDISK := \ + $(DEVICE_PATH)/prebuilt/vendor_ramdisk/platform-dualboot.cpio.lz4 +else BOARD_PREBUILT_VENDOR_RAMDISK := \ $(DEVICE_PATH)/prebuilt/vendor_ramdisk/platform.cpio.lz4 +endif # Physical partition sizes measured from GPT/factory images. BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864 diff --git a/device.mk b/device.mk index 90cf08b..a835148 100644 --- a/device.mk +++ b/device.mk @@ -27,8 +27,14 @@ PRODUCT_PACKAGES += \ PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ ro.product.device=XT2575-4 +ifeq ($(strip $(DUALBOOT)),Y) +SYCA_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery-dualboot.fstab +else +SYCA_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery.fstab +endif + PRODUCT_COPY_FILES += \ - $(DEVICE_PATH)/recovery.fstab:$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/recovery.fstab \ + $(SYCA_RECOVERY_FSTAB):$(TARGET_COPY_OUT_RECOVERY)/root/system/etc/recovery.fstab \ $(DEVICE_PATH)/recovery/root/init.recovery.mt6835.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.mt6835.rc \ $(DEVICE_PATH)/recovery/root/init.recovery.mt8755.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.mt8755.rc \ $(DEVICE_PATH)/recovery/root/init.recovery.crypto.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.crypto.rc \ diff --git a/prebuilt/vendor_ramdisk/platform-dualboot.cpio.lz4 b/prebuilt/vendor_ramdisk/platform-dualboot.cpio.lz4 new file mode 100644 index 0000000..f4db7d9 Binary files /dev/null and b/prebuilt/vendor_ramdisk/platform-dualboot.cpio.lz4 differ diff --git a/recovery-dualboot.fstab b/recovery-dualboot.fstab index 5b6dd40..52cff5a 100644 --- a/recovery-dualboot.fstab +++ b/recovery-dualboot.fstab @@ -14,8 +14,8 @@ odm_dlkm /odm_dlkm ext4 ro wait,slotselect,logical,first_stage_mount system_dlkm /system_dlkm erofs ro wait,slotselect,logical,first_stage_mount system_dlkm /system_dlkm ext4 ro wait,slotselect,logical,first_stage_mount -/dev/block/by-name/metadata2 /metadata f2fs noatime,nosuid,nodev,discard,context=u:object_r:sycamore_recovery_metadata_file:s0 wait,check,formattable,first_stage_mount -/dev/block/by-name/userdata2 /data f2fs noatime,nosuid,nodev,discard,noflush_merge,fsync_mode=nobarrier,reserve_root=134217,resgid=1065,inlinecrypt wait,check,formattable,quota,latemount,resize,reservedsize=128m,checkpoint=fs,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,fsverity +/dev/block/by-name/metadata /metadata f2fs noatime,nosuid,nodev,discard,context=u:object_r:sycamore_recovery_metadata_file:s0 wait,check,formattable,first_stage_mount,slotselect +/dev/block/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,noflush_merge,fsync_mode=nobarrier,reserve_root=134217,resgid=1065,inlinecrypt wait,check,formattable,quota,latemount,resize,reservedsize=128m,checkpoint=fs,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,fsverity,slotselect /dev/block/by-name/boot /boot emmc defaults slotselect /dev/block/by-name/vendor_boot /vendor_boot emmc defaults slotselect,flashimg=1 @@ -28,5 +28,3 @@ system_dlkm /system_dlkm ext4 ro wait,slotselect,logical,first_stage_mount /dev/block/by-name/persist /persist ext4 noatime,nosuid,nodev wait /dev/block/by-name/lenovocust /lenovocust ext4 noatime,nosuid,nodev wait -/dev/block/mmcblk0p1 /external_sd auto defaults display="Micro SD Card",storagename="Micro SD Card",removable,storage -/devices/platform/soc/11201000.usb0/11200000.xhci* /usb_otg auto defaults voldmanaged=usb_otg:auto,display="USB Storage",storagename="USB Storage",removable,storage diff --git a/recovery.fstab b/recovery.fstab index 8f39682..43b73f0 100644 --- a/recovery.fstab +++ b/recovery.fstab @@ -28,5 +28,3 @@ system_dlkm /system_dlkm ext4 ro wait,slotselect,logical,first_stage_mount /dev/block/by-name/persist /persist ext4 noatime,nosuid,nodev wait /dev/block/by-name/lenovocust /lenovocust ext4 noatime,nosuid,nodev wait -/dev/block/mmcblk0p1 /external_sd auto defaults display="Micro SD Card",storagename="Micro SD Card",removable,storage -/devices/platform/soc/11201000.usb0/11200000.xhci* /usb_otg auto defaults voldmanaged=usb_otg:auto,display="USB Storage",storagename="USB Storage",removable,storage diff --git a/recovery/root/system/etc/twrp.flags b/recovery/root/system/etc/twrp.flags index b754877..083a6c8 100644 --- a/recovery/root/system/etc/twrp.flags +++ b/recovery/root/system/etc/twrp.flags @@ -14,3 +14,7 @@ /vbmeta emmc /dev/block/by-name/vbmeta flags=display="VBMeta";slotselect;backup=1;flashimg=1 /vbmeta_system emmc /dev/block/by-name/vbmeta_system flags=display="VBMeta System";slotselect;backup=1;flashimg=1 /vbmeta_vendor emmc /dev/block/by-name/vbmeta_vendor flags=display="VBMeta Vendor";slotselect;backup=1;flashimg=1 + +# Removable storage +/external_sd auto /dev/block/mmcblk0p1 /dev/block/mmcblk0 flags=display="Micro SD Card";storage;wipeingui;removable +/usb-otg auto /dev/block/sdd1 /dev/block/sdd flags=display="USB OTG";storage;wipeingui;removable