* Rebase of https://gerrit.omnirom.org/#/c/20750/ patch-set 3 * Original commit message: fix: recently a change in AOSP causes a bootloop to TWRP (and therefore all ROM's based on it) Reason: AOSP enables use of /misc partition and normally the fstab in TWRP will not have /misc added. The problem is now when Android writes a wipe command to /misc it will force TWRP to boot but TWRP will do nothing - leaving the cmd in /misc. This results in a bootloop to TWRP. Solution: I added a new var TW_IGNORE_MISC_WIPE_DATA which can be set to "true" in Boardconfig.mk of a device requiring this which then ignores /misc commands like it would be when /misc would be just not in fstab BUT with this change TWRP clears the bit in /misc so a normal boot can happen. Besides that if the device do not have an own recovery key combo and /misc is enabled we want to open TWRP after walking through the factory reset screen - without actually doing a factory reset. kudos to nailyk (and DevUt) for the help with the C++ code! Change-Id: If6fed5872015f1a66304e3edbdb787c507236f69
46 lines
1.6 KiB
Makefile
46 lines
1.6 KiB
Makefile
# Copyright (C) 2016 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25; echo $$?),0)
|
|
include $(CLEAR_VARS)
|
|
LOCAL_CLANG := true
|
|
LOCAL_SRC_FILES := bootloader_message.cpp
|
|
LOCAL_MODULE := libbootloader_message
|
|
LOCAL_STATIC_LIBRARIES := libfs_mgr
|
|
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
|
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
endif
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_CLANG := true
|
|
LOCAL_SRC_FILES := bootloader_message.cpp
|
|
LOCAL_MODULE := libbootloader_message
|
|
LOCAL_C_INCLUDES += bionic $(LOCAL_PATH)/include
|
|
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
|
|
LOCAL_C_INCLUDES += external/stlport/stlport
|
|
LOCAL_SHARED_LIBRARIES += libstlport
|
|
else
|
|
LOCAL_SHARED_LIBRARIES += libc++
|
|
endif
|
|
LOCAL_CFLAGS := -DEXCLUDE_FS_MGR
|
|
# ignore bootloader's factory reset command even when written to /misc
|
|
ifeq ($(TW_IGNORE_MISC_WIPE_DATA), true)
|
|
LOCAL_CFLAGS += -DIGNORE_MISC_WIPE_DATA
|
|
endif
|
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
|
include $(BUILD_SHARED_LIBRARY)
|