From: mauronofrio Date: Fri, 28 Dec 2018 16:35:59 +0000 (+0100) Subject: Added some options for A/B devices X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=6969ac253755cafa802c1ce1c44c971a32ff759f;p=GitHub%2Fmoto-9609%2Ftwrp_device_motorola_troika.git Added some options for A/B devices --- diff --git a/BoardConfig.mk b/BoardConfig.mk index 321e9b2..36e0e96 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -72,6 +72,10 @@ TARGET_NO_RECOVERY := false BOARD_USES_RECOVERY_AS_BOOT := true BOARD_BUILD_SYSTEM_ROOT_IMAGE := true +# Partitions (listed in the file) to be wiped under recovery. +TARGET_RECOVERY_WIPE := device/oneplus/fajita/recovery.wipe +TARGET_RECOVERY_FSTAB := device/oneplus/fajita/fstab.hardware + # Workaround for error copying vendor files to recovery ramdisk BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 TARGET_COPY_OUT_VENDOR := vendor @@ -103,6 +107,16 @@ TW_NO_SCREEN_BLANK := true TW_USE_TOOLBOX := true TW_NO_LEGACY_PROPS := true +# A/B updater updatable partitions list. Keep in sync with the partition list +# with "_a" and "_b" variants in the device. Note that the vendor can add more +# more partitions to this list for the bootloader and radio. +AB_OTA_PARTITIONS += \ + boot \ + system \ + vendor \ + vbmeta \ + dtbo + # Encryption PLATFORM_SECURITY_PATCH := 2025-12-31 TW_INCLUDE_CRYPTO := true diff --git a/fstab.hardware b/fstab.hardware new file mode 100644 index 0000000..ab58257 --- /dev/null +++ b/fstab.hardware @@ -0,0 +1,39 @@ +# Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# A/B recovery.fstab variant. + +#device mount point fstype [device2] [length=] + +/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,slotselect +/dev/block/bootdevice/by-name/op2 /op2 ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check +/dev/block/bootdevice/by-name/vendor /vendor ext4 ro,barrier=1 wait,slotselect +/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,fileencryption=ice:aes-256-cts +/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard wait,check,fileencryption=ice:aes-256-cts +/dev/block/mmcblk0p1 /sdcard vfat nosuid,nodev wait +/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults +/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults diff --git a/recovery.wipe b/recovery.wipe new file mode 100644 index 0000000..03e5e18 --- /dev/null +++ b/recovery.wipe @@ -0,0 +1,10 @@ +# All the partitions to be wiped (in order) under recovery. +/dev/block/bootdevice/by-name/system_a +/dev/block/bootdevice/by-name/system_b +/dev/block/bootdevice/by-name/vendor_a +/dev/block/bootdevice/by-name/vendor_b +/dev/block/bootdevice/by-name/userdata +# Wipe the boot partitions last so that all partitions will be wiped +# correctly even if the wiping process gets interrupted by a force boot. +/dev/block/bootdevice/by-name/boot_a +/dev/block/bootdevice/by-name/boot_b