天天看點

Android P adb指令補充, device unlock

[DESCRIPTION]

在android P版本上如果按照“FAQ18076 android 6.0 M userdebug版本執行adb remount失敗”的做法在userdebug版本上執行adb remount會提示以下錯誤:

remount of the / superblock failed: Permission denied

remount failed

原因是android P版本後google啟用avb(Android Verified Boot)2.0,verified boot and DM-verity預設啟用政策發生了變化。詳情如下:

DM-Verity behavior changes from vboot1.0 to avb2.0.

On vboot1.0, dm-verity is turned off on eng build and is enabled on userdebug/user build.

DM-verity could be disabled with adb (not fastboot) on userdebug build without unlocking device first.

DM-Verity could not be disabled on user build.

On avb2.0, dm-verity behavior are the same on all build variants.

It’s turned on by default and could only be disabled after device is unlocked.

dm-verity disable flag is moved from system image dm-verity metadata(vboot1.0) to vbmeta image(avb2.0), and you have two ways to disable it: adb and fastboot.

[SOLUTION]

  • Android P + kernel-4.4 or kernel-3.18
  • download preloader with verified boot disabled which location is the same as scatter file //preloader__SBOOT_DIS.bin
  • adb root
  • adb disable-verity
  • adb reboot
  • adb root
  • adb remount
  • Android P + kernel-4.9 or after
  • download preloader with verified boot disabled which location is the same as scatter file. //preloader__SBOOT_DIS.bin
  • boot to Home Screen
  • go to setting -> system -> Developer options -> OEM unlocking
  • adb reboot bootloader
  • fastboot flashing unlock
  • press volume up key
  • fastboot reboot
  • adb root
  • adb disable-verity
  • adb reboot
  • adb root
  • adb remount

After Android P, preloader__SBOOT_DIS.bin will be generated automatically after building preloader.

  • 請注意下載下傳最新的adb/fastboot tool

    Windows

    https://dl.google.com/android/repository/platform-tools-latest-windows.zip

    Mac

    https://dl.google.com/android/repository/platform-tools-latest-darwin.zip

    Linux

    https://dl.google.com/android/repository/platform-tools-latest-linux.zip