MTK文档

MTK Android O版本user load中关闭verity


[DESCRIPTION]
 在需要对image文件(如system.img)等进行解压->修改->打包->烧录后,可能会出现无法开机的现象。
[SOLUTION]
 这个问题主要是受到了VERITY的影响。
 解决的方法有两种:
 1.在烧录前进行unlock操作,具体步骤请参考:
   FAQ20567 Android O版本中替换谷歌system.img导致无法开机
 2.在编译前作一定的修改:
   2.1  Android N之前有两种方法:
       (1) 将build/target/product/verity.mk中的
PRODUCT_SUPPORTS_VERITY := true
            改为:
PRODUCT_SUPPORTS_VERITY := false
(2) 在vendor/mediatek/proprietary/hardware/fstab/{platform}/fstab.in中
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/vendor /vendor __MTK_VNDIMG_FSTYPE ro wait,verify,recoveryonly
将”verify”去除。
   2.2  Android O中需要进行如下改动:
(1)在build/target/product/verity.mk中,将
    PRODUCT_SUPPORTS_VERITY := true
PRODUCT_SUPPORTS_VERITY_FEC := true
    改为 :
PRODUCT_SUPPORTS_VERITY := false
PRODUCT_SUPPORTS_VERITY_FEC := false
(2) 在/device/mediateksample/{Project}/ProjectConfig.mk中,将
    MTK_DM_VERITY_OFF = no
    改为 :
MTK_DM_VERITY_OFF = yes
(3)在\kernel\{arch|arch64}\{arm|arm64}\configs\{Project}defconfig中,将
    CONFIG_DM_VERITY=y
    改为 :
CONFIG_DM_VERITY=n
    同时,添加:
CONFIG_MTK_DM_VERITY_OFF=y

(4)在system/core/fs_mgr/Android.mk 中,将
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
LOCAL_CFLAGS += -DALLOW_SKIP_SECURE_CHECK=1
endif

    改为:
#ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
LOCAL_CFLAGS += -DALLOW_SKIP_SECURE_CHECK=1
#endif