如何确认 fastboot unlock 解锁成功

1、fastboot 模式下按音量上键后是否提示 Unlock Pass...return to fastboot in 3s

2、重启后界面是否显示

orange state
Your deivce has been unlocked and can't be trusted
your device will boot in 5 seconds

3、解锁成功后检查这两个属性会从
[ro.boot.flash.locked]: [1]
[ro.boot.verifiedbootstate]: [green]
变成
[ro.boot.flash.locked]: [0]
[ro.boot.verifiedbootstate]: [orange]

如何确认DM-verity 已关闭

确认已成功关闭dm-verity
adb shell mount

看到vendor 和system分区挂在如下mmcblk0pxx block表示dm-verity已关闭成功
k65v1_bsp:/ # mount |grep data
/dev/block/mmcblk0p35 on /vendor type ext4 (ro,seclabel,relatime,data=ordered)
/dev/block/mmcblk0p36 on /system type ext4 (ro,seclabel,relatime,data=ordered)

如显示挂载到 dm-x 节点 表示dm-verity仍然开启
k65v1_bsp:/ # mount |grep data
/dev/block/dm-0 on /vendor type ext4 (ro,seclabel,relatime,data=ordered)
/dev/block/dm-1 on /system type ext4 (ro,seclabel,relatime,data=ordered)

若不成功可检查 vbmeta, boot, system ,vendor 分区等是否在write protect 区间里

导致adb disable-verity 的flag无法成功写入 到 vbmeta |boot | system | vendor 分区里

参考/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6771/write_protect.c
的set_write_protect 函数

set_write_protect()里面会将proinfo分区设定在power on write protect区域内

为了proinfo分区能写入flag,需要将proinfo分区的power on write protect拿掉
修改方法:
1.全部分区关掉写保护功能
/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6xxx/rules.mk
MTK_POWER_ON_WP := no

2.单独拿掉proinfo分区写保护

ifdef MTK_PERSIST_PARTITION_SUPPORT

if (0 == is_fs_partition_ready_for_wp("persist")) {
dprintf(CRITICAL, "[%s]: persist is fmt \n", func);
sprintf(wp_start, "%s", "persist");
} else {
sprintf(wp_start, "%s", "sec1");//修改这里写保护分区的起始分区,去掉proinfo分区,注意剩下保留分区大小必须8M对齐
}

else

sprintf(wp_start, "%s", "sec1");//修改这里写保护分区的起始分区,去掉proinfo分区,注意剩下保留分区大小必须8M对齐

endif

android 6.0 M userdebug版本执行adb remount失败

[DESCRIPTION]
android 6.0 M版本默认会打开system verified boot,即在userdebug和user版本会把system映射到dm-0设备,然后再挂载。挂载前会检查system分区数据完整性,如果system分区被恶意修改了则不允许挂载system。

[SOLUTION]
userdebug版本如果需要remount system分区来push文件debug,不需要重新编译版本disable dm-verity,只需要执行以下adb命令即可。
adb root
adb disable-verity
adb reboot

重新启动后再执行:
adb remount即可把system分区remount成rw。

贵司向system分区push文件后,请不要再adb enable-verity,否则就会无法开机,因此push文件后,system分区数据就发生了变化。

adb disable-verity/enable-verity 命令只能在userdebug模式下使用。user版本不支持关闭dm-verity。
如果您的adb不支持adb disable-verity命令,请更新android sdk platform-tools到最新版本。

如何确认 fastboot unlock 解锁成功,如何确认DM-verity 已关闭的更多相关文章

  1. [RK3288][Android6.0] 调试笔记 --- 如何确认声卡是否注册成功【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/78399875 Platform: RK3288 OS: Android 6.0 Kernel ...

  2. 写了一个迷你confirm弹窗插件,有取消和确认操作处理并支持单个确认使用弹窗和锁屏禁止滚动

    由于项目想精简不想用其他第三方的ui插件,又很需要像confirm等小效果来完善交互,且使用的频率也是相当的高,于是自己造了一个,省时也省力 代码已经粘贴出来,直接复制即可看到效果,高手勿喷,可以相互 ...

  3. 使用Facade模式更新库存、确认订单、采取打折、确认支付、完成支付、物流配送

    Facade模式对外提供了统一的接口,而隐藏了内部细节.在网上购物的场景中,当点击提交订单按钮,与此订单相关的库存.订单确认.折扣.确认支付.完成支付.物流配送等都要做相应的动作.本篇尝试使用Faca ...

  4. SHELL脚本里执行的东西需要多次回车确认,怎么实现自动回车确认?

    写了个自动配置的shell脚本,其中有几行是 …… ./build-key-server ./build-key-client …… 在执行build-key-server和build-key-cli ...

  5. 实战分享:如何成功防护1.2T国内已知最大流量DDoS攻击

    作者:腾讯云宙斯盾安全团队&腾讯安全平台部 引言: DDoS攻击势头愈演愈烈,除了攻击手法的多样化发展之外,最直接的还是攻击流量的成倍增长.3月份国内的最大规模DDoS攻击纪录还停留在数百G规 ...

  6. Linux 系统常用管理命令(精简笔记)

    Linux是一套免费使用和自由传播的类Unix操作系统,下面的笔记是我从鸟菜中摘抄出来的重要命令,并进行了一定的排版,摒弃了一些用不到的乱七八糟的命令,目的是在生产环境中能够快速的定位并查询需要命令的 ...

  7. Windows事件ID大全

    51 Windows 无法找到网络路径.请确认网络路径正确并且目标计算机不忙或已关闭.如果 Windows 仍然无法找到网络路径,请与网络管理员联系. 52 由于网络上有重名,没有连接.请到“控制面板 ...

  8. Windows 错误代码

    Error Messages for Windows http://www.gregorybraun.com/MSWINERR.ZIP Server 4.0 Error Messages   Code ...

  9. SysErrorMessage 函数和系统错误信息表

    在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示.但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢?FormatMessa ...

随机推荐

  1. 记一次使用正则表达式+foreach控制器调试

    使用forEach控制器时,变量为上一个请求返回的参数(通过正则表达式提取),设置好控制器的起始值后发现每次都是只执行一个,然后开始怀疑人生,百度了各种材料,最后还是决心好好的观察自己每一步是不是错了 ...

  2. AcWing 860. 染色法判定二分图

    #include <cstring> #include <iostream> #include <algorithm> using namespace std; , ...

  3. LUA利用第三方API访问数据库

    ===========数据库访问--第三方 http { upstream backend { drizzle_server 192.168.4.119:3306 protocol=mysql dbn ...

  4. MySQL数据完整性

    数据完整性 一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型.约束 ...

  5. Win10上面安装vmware,并在Vmware上面安装Ubuntu

    一.安装vmware vmware安装包 链接:https://pan.baidu.com/s/178IOOuMOcotSrr6omIAM_A 提取码:c7ba vmware激活码 链接:https: ...

  6. quernation,euler,rotationmatrix之间的相互转换

    转自:https://blog.csdn.net/zhuoyueljl/article/details/70789472

  7. phpinfo(): It is not safe to rely on the system's timezone settings

    PHP调试的时候出现了警告: 问题: Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You ...

  8. 6_15 给任务排序(UVa10305)<拓扑排序>

    John有n件事情要做,不幸的是这些事情并不是各自独立的,而是有相依性的.换句话说可能有某件事情一定要在另一件事情做完之后才能做.Input每组测试数据可能有好几列.第一列有2个整数n,m.(1 &l ...

  9. AD10如何新建一个集成库

    1.新建一个集成库工程 2.添加原理图库 3.添加封装库 4.最关键的一步:对这个工程需要进行编译 5.在界面的右边就能看到自己建的封装库了

  10. Spring Boot 编辑器 IDEA 免费许可申请

    最近 IDEA 陆续到期(试用版)听说可以申请开源许可,试试吧. 点击 https://www.jetbrains.com/shop/eform/opensource?product=ALL 填写相关 ...