在Android上自定义/系统挂载点

时间:2014-12-18 19:30:12

标签: android linux security embedded-linux

我试图更改Nexus 5以使用dm-verity模块。为此,我需要:

  1. / system安装之前启动期间调用名为 veritysetup 的实用程序;
  2. (此实用程序将创建一个名为/ dev / mapper / devname的新设备);
  3. 让/ system挂载在/ dev / mapper / devname,实际分区。
  4. 看起来在fstab.hammerhead(device / lge / hammerhead)上配置了mountpoint。事实上,通过更改此文件,我有另一个mod工作。所以这个接缝就像容易的部分。

    我知道有些文件系统是由init.c(system / core / init)挂载的,比如/ dev和/ proc,有些是挂载在init.hammerhead(system / core / rootdir)上的,比如/ acct。但是我可以找到mount / system的请求。

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这不是正确的方法。要使用dm-verity,我们需要:

  1. 使用" user"构建android构建类型(默认为" eng");
  2. 更改fstab以包含"验证" fs_mgr_flags上的关键字。
  3. 因此,当Android vold 模块找到verity标志并创建映射器设备时。

    如果系统映像具有签名哈希表和预先计算的哈希,并且根映像具有公钥,则所有内容都应该正常工作。我们应该发现系统分区安装在/ dev / block / dm-0而不是/dev/block/platform/msm_sdcc.1/by-name/system上,并且在读取时正在验证。