sycamore: add slotted dualboot and removable storage support

This commit is contained in:
Nicholas Andrew 2026-09-07 07:17:40 -04:00
commit 0e06e4cac7
6 changed files with 18 additions and 7 deletions

View file

@ -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

View file

@ -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 \

Binary file not shown.

View file

@ -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

View file

@ -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

View file

@ -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