Merge "Support the combinations of A/B and split."

This commit is contained in:
Linux Build Service Account 2017-07-25 14:34:39 -07:00 committed by Gerrit - the friendly Code Review server
commit 3460659278
10 changed files with 133 additions and 11 deletions

View file

@ -65,7 +65,11 @@ include $(CLEAR_VARS)
LOCAL_MODULE := fstab.qcom LOCAL_MODULE := fstab.qcom
LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := $(LOCAL_MODULE) ifeq ($(ENABLE_AB), true)
LOCAL_SRC_FILES := fstab_AB_variant.qcom
else
LOCAL_SRC_FILES := fstab_non_AB_variant.qcom
endif
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT) include $(BUILD_PREBUILT)

View file

@ -36,6 +36,7 @@ BOARD_USE_LEGACY_UI := true
TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_EXT4 := true
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
ifeq ($(ENABLE_AB), true)
#A/B related defines #A/B related defines
AB_OTA_UPDATER := true AB_OTA_UPDATER := true
# Full A/B partiton update set # Full A/B partiton update set
@ -45,14 +46,25 @@ AB_OTA_PARTITIONS ?= boot system
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
TARGET_NO_RECOVERY := true TARGET_NO_RECOVERY := true
BOARD_USES_RECOVERY_AS_BOOT := true BOARD_USES_RECOVERY_AS_BOOT := true
ifeq ($(ENABLE_VENDOR_IMAGE), true)
TARGET_RECOVERY_FSTAB := device/qcom/sdm660_64/recovery_vendor_variant.fstab
else else
TARGET_RECOVERY_FSTAB := device/qcom/sdm660_64/recovery.fstab BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x04000000
BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
#TARGET_RECOVERY_UPDATER_LIBS += librecovery_updater_msm
endif endif
ifneq ($(AB_OTA_UPDATER),true) ifeq ($(ENABLE_AB), true)
TARGET_RECOVERY_UPDATER_LIBS += librecovery_updater_msm ifeq ($(ENABLE_VENDOR_IMAGE), true)
TARGET_RECOVERY_FSTAB := device/qcom/sdm660_64/recovery_AB_split_variant.fstab
else
TARGET_RECOVERY_FSTAB := device/qcom/sdm660_64/recovery_AB_non-split_variant.fstab
endif
else
ifeq ($(ENABLE_VENDOR_IMAGE), true)
TARGET_RECOVERY_FSTAB := device/qcom/sdm660_64/recovery_non-AB_split_variant.fstab
else
TARGET_RECOVERY_FSTAB := device/qcom/sdm660_64/recovery_non-AB_non-split_variant.fstab
endif
endif endif
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472 BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
@ -159,4 +171,6 @@ TARGET_USES_IMS := true
ADD_RADIO_FILES := true ADD_RADIO_FILES := true
TARGET_RECOVERY_UI_LIB := librecovery_ui_msm TARGET_RECOVERY_UI_LIB := librecovery_ui_msm
ifneq ($(AB_OTA_UPDATER),true)
TARGET_RECOVERY_UPDATER_LIBS += librecovery_updater_msm
endif

View file

@ -5,6 +5,7 @@
#TODO: Add 'check' as fs_mgr_flags with data partition. #TODO: Add 'check' as fs_mgr_flags with data partition.
# Currently we dont have e2fsck compiled. So fs check would failed. # Currently we dont have e2fsck compiled. So fs check would failed.
# A/B fstab.qcom variant
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> #<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1,discard wait,slotselect,verify /dev/block/bootdevice/by-name/system / ext4 ro,barrier=1,discard wait,slotselect,verify
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard,lazytime wait,check,forceencrypt=footer,crashcheck /dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard,lazytime wait,check,forceencrypt=footer,crashcheck

18
fstab_non_AB_variant.qcom Executable file
View file

@ -0,0 +1,18 @@
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#TODO: Add 'check' as fs_mgr_flags with data partition.
# Currently we dont have e2fsck compiled. So fs check would failed.
# Non-A/B fstab.qcom variant
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1,discard wait,verify
/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard,lazytime wait,check,forceencrypt=footer,crashcheck
/devices/soc/c084000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/bluetooth /bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait
/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,barrier=1 wait

View file

@ -28,6 +28,9 @@
# #
on early-init on early-init
mkdir /firmware 0771 system system
mkdir /bt_firmware 0771 system system
mkdir /dsp 0771 media media
on init on init
write /dev/stune/foreground/schedtune.sched_boost_no_override 1 write /dev/stune/foreground/schedtune.sched_boost_no_override 1

View file

@ -1,4 +1,4 @@
# Copyright (c) 2013, The Linux Foundation. All rights reserved. # Copyright (c) 2017, The Linux Foundation. All rights reserved.
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are # modification, are permitted provided that the following conditions are
@ -25,11 +25,12 @@
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# A/B, non-split(no vendor.img) recovery.fstab variant.
#device mount point fstype [device2] [length=] #device mount point fstype [device2] [length=]
/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1 wait,slotselect,verify /dev/block/bootdevice/by-name/system / ext4 ro,barrier=1 wait,slotselect,verify
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer /dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer
/dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev wait /dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev wait
/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults /dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults

View file

@ -25,7 +25,7 @@
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Vendor variant of recovery.fstab. Same as recovery.fstab, with additional vendor entry. # A/B, split(with vendor.img) recovery.fstab variant.
#device mount point fstype [device2] [length=] #device mount point fstype [device2] [length=]
@ -34,5 +34,4 @@
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer /dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer
/dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev wait /dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev wait
/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults /dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults

View file

@ -0,0 +1,38 @@
# Copyright (c) 2017, 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.
# Non A/B, non-split(no vendor.img) recovery.fstab variant.
#device mount point fstype [device2] [length=]
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,verify
/dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer
/dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev wait
/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults

View file

@ -0,0 +1,39 @@
# Copyright (c) 2017, 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.
# Non A/B, split(with vendor.img) recovery.fstab variant.
#device mount point fstype [device2] [length=]
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,verify
/dev/block/bootdevice/by-name/vendor /vendor ext4 ro,barrier=1 wait,verify
/dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=footer
/dev/block/mmcblk1p1 /sdcard vfat nosuid,nodev wait
/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults

View file

@ -9,6 +9,9 @@ ifeq ($(ENABLE_VENDOR_IMAGE),)
ENABLE_VENDOR_IMAGE := true ENABLE_VENDOR_IMAGE := true
endif endif
# Default A/B configuration.
ENABLE_AB ?= true
# Disable QTIC until it's brought up in split system/vendor # Disable QTIC until it's brought up in split system/vendor
# configuration to avoid compilation breakage. # configuration to avoid compilation breakage.
ifeq ($(ENABLE_VENDOR_IMAGE), true) ifeq ($(ENABLE_VENDOR_IMAGE), true)
@ -231,6 +234,7 @@ PRODUCT_PACKAGES += \
wificond \ wificond \
wifilogd wifilogd
ifeq ($(ENABLE_AB), true)
#A/B related packages #A/B related packages
PRODUCT_PACKAGES += update_engine \ PRODUCT_PACKAGES += update_engine \
update_engine_client \ update_engine_client \
@ -242,6 +246,7 @@ PRODUCT_PACKAGES += update_engine \
#Boot control HAL test app #Boot control HAL test app
PRODUCT_PACKAGES_DEBUG += bootctl PRODUCT_PACKAGES_DEBUG += bootctl
endif
#Healthd packages #Healthd packages
PRODUCT_PACKAGES += android.hardware.health@1.0-impl \ PRODUCT_PACKAGES += android.hardware.health@1.0-impl \