From 6ea5bd626c0b79515658685ee63bf8154475635b Mon Sep 17 00:00:00 2001 From: JP Abgrall Date: Wed, 22 Oct 2014 20:01:22 -0700 Subject: [PATCH] core: Let the build specify mount options for recovery Currently recovery install/patch will mount /system++ with only default options. The default options are not very suitable for dealing with crashes. We now use TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS that can specify which mount options to use for a given fs-type. # =[|]... # fstype_opts := [,]... # opt := [=] If only defaults are to be used, then the BoardConfig.mk can just have an empty (must have ""): TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS := "" The default is "ext4=match_batch_time=0,commit=1,data=journal,barrier=1,errors=panic,nodelalloc" The release tools will pick them up with https://googleplex-android-review.git.corp.google.com/#/c/573628 Bug: 18092222 Change-Id: Iaa59099b0edf5af8835d1862fada089cff58882c --- core/Makefile | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/Makefile b/core/Makefile index 72ca56cbd..f411e066b 100644 --- a/core/Makefile +++ b/core/Makefile @@ -674,6 +674,12 @@ endif endif endif +# These options tell the recovery updater/installer how to mount the partitions writebale. +# =[|]... +# fstype_opts := [,]... +# opt := [=] +DEFAULT_TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS := ext4=match_batch_time=0,commit=1,data=journal,barrier=1,errors=panic,nodelalloc + ifneq (true,$(TARGET_USERIMAGES_SPARSE_EXT_DISABLED)) INTERNAL_USERIMAGES_SPARSE_EXT_FLAG := -s endif @@ -1395,6 +1401,12 @@ ifdef BOARD_BOOTIMAGE_PARTITION_SIZE endif ifdef BOARD_RECOVERYIMAGE_PARTITION_SIZE $(hide) echo "recovery_size=$(BOARD_RECOVERYIMAGE_PARTITION_SIZE)" >> $(zip_root)/META/misc_info.txt +endif +ifdef TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS + @# TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS can be empty to indicate that nothing but defaults should be used. + $(hide) echo "recovery_mount_options=$(TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS)" >> $(zip_root)/META/misc_info.txt +else + $(hide) echo "recovery_mount_options=$(DEFAULT_TARGET_RECOVERY_FSTYPE_MOUNT_OPTIONS)" >> $(zip_root)/META/misc_info.txt endif $(hide) echo "tool_extensions=$(tool_extensions)" >> $(zip_root)/META/misc_info.txt $(hide) echo "default_system_dev_certificate=$(DEFAULT_SYSTEM_DEV_CERTIFICATE)" >> $(zip_root)/META/misc_info.txt