如何在不使用 ADB 的情况下在 Android 台设备上禁用 dm-verity?
How disable dm-verity on Android Devices without using ADB?
我正在从源代码构建 AOSP,我希望能够将 Google 应用程序包刷入 ROM。然而,当phone重启时,google应用程序没有应用,有人说这可能是因为DM-Verity。
我想知道如何关闭这个DM-Verity保护,应该可以在内核源代码中关闭。我怎样才能开始这样做?
我知道有一个 ADB 命令 "adb disable-verity" 可以使用,但我希望我的构建默认禁用 dm-verity。
有人可以帮我解决这个问题吗?谢谢:)
据我从 AOSP makefile 中了解到,DM-Verity 在构建时由设备的分区启用。
因此,例如,如果您打算为系统分区禁用它,您需要在目标 Makefile 中找到 PRODUCT_SYSTEM_VERITY_PARTITION
宏,remove/comment 然后重新构建。
确切位置可能会有所不同,因为 Makefile 层次结构是可定制的,但我在 device.mk
中找到了 Huawei target on AOSP 存储库。
编辑:
另一种可能性是在位于 here 的 verity.mk
上完全禁用 DM-verity,但您需要测试禁用它是否会在构建期间触发其他错误。
PS: Verity 对 eng 版本禁用。
lunch <target>_eng
应该可以。
否则,要禁用真实性,只需使用:
签入其中一个 make 文件:示例:base.mk
并做这样的事情:
# Disable Verity
PRODUCT_SYSTEM_VERITY_PARTITION :=
PRODUCT_VENDOR_VERITY_PARTITION :=
PRODUCT_PACKAGES := $(strip $(filter-out %verity.mk, $(PRODUCT_PACKAGES)))
我正在从源代码构建 AOSP,我希望能够将 Google 应用程序包刷入 ROM。然而,当phone重启时,google应用程序没有应用,有人说这可能是因为DM-Verity。
我想知道如何关闭这个DM-Verity保护,应该可以在内核源代码中关闭。我怎样才能开始这样做?
我知道有一个 ADB 命令 "adb disable-verity" 可以使用,但我希望我的构建默认禁用 dm-verity。
有人可以帮我解决这个问题吗?谢谢:)
据我从 AOSP makefile 中了解到,DM-Verity 在构建时由设备的分区启用。
因此,例如,如果您打算为系统分区禁用它,您需要在目标 Makefile 中找到 PRODUCT_SYSTEM_VERITY_PARTITION
宏,remove/comment 然后重新构建。
确切位置可能会有所不同,因为 Makefile 层次结构是可定制的,但我在 device.mk
中找到了 Huawei target on AOSP 存储库。
编辑:
另一种可能性是在位于 here 的 verity.mk
上完全禁用 DM-verity,但您需要测试禁用它是否会在构建期间触发其他错误。
PS: Verity 对 eng 版本禁用。
lunch <target>_eng
应该可以。
否则,要禁用真实性,只需使用:
签入其中一个 make 文件:示例:base.mk
并做这样的事情:
# Disable Verity
PRODUCT_SYSTEM_VERITY_PARTITION :=
PRODUCT_VENDOR_VERITY_PARTITION :=
PRODUCT_PACKAGES := $(strip $(filter-out %verity.mk, $(PRODUCT_PACKAGES)))