Android:在启动时挂载不同的userdata分区

时间:2016-03-02 10:11:44

标签: android linux mount block-device

在我的Samsung Note 10.1上,我希望能够安装不同的userdata分区。我的目标是通过修改init.rc脚本在启动时实现此目的,因为这似乎是设置所有文件系统并挂载分区userdata,system等。例如,有一行mkdir /data 0771 system system,它听起来像是为userdata分区设置了挂载点。 userdata分区对应于块设备/dev/block/mmcblk0p12

现在,我想要的不是挂载mmcblk0p12,我想挂载mmcblk0p12的图像,我已将其放在设备中插入的μSD卡上。可以通过块设备/dev/block/vold/179:17访问μSD卡。这意味着我首先需要安装μSD卡,然后在μSD卡上安装图像。

但这是我失败的地方。我无法弄清楚如何在init.rc中安装μSD卡,更不用说如何在之后安装图像了。我已经多次添加了行mount -t ext4 /dev/block/vold/179\:17 /mnt/extSdCard,但它给我的全部是一个启动循环。

那么,有谁知道怎么做?

EDIT1:显然分区已加载到fstab.sdmk4x12,因此我添加了行/dev/block/vold/179\:17 /mnt/extSdCard ext 4 noatime,nosuid,nodev,discard,noauto_da_alloc,journal_async_commit,erros=panic wait,check。遗憾的是,这不起作用,但是内核日志给了我Cannot mount filesystem on /dev/block/vold/179\:17 at /mnt/extSdCard

EDIT2:愚蠢的我不要使用/dev/block/mmcblk1p1,这是μSD卡的分区。这样我现在可以通过修改fstab.sdmk4x12文件来安装μSD卡。

EDIT3:在我能够安装μSD卡之后,仍然存在如何安装图像的问题。我修改了安装userdata分区的行。该行与EDIT1 + 2中的行相同,但使用图像/storage/extSdCard/userdata.img将其挂载到/data。但我猜它显然无法安装图像。设备启动,但显示一些错误,说明userdata分区已损坏。它还为我提供了重置它的选项,但当然这只会影响userdata分区,并且一旦我重新启动,它就会尝试再次挂载我的映像,失败并再次向我显示此错误。

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方法。我只是将<nav class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#"><img src="http://i.imgur.com/3PL0u4Q.jpg" alt="logo" class="logo"></a> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="../navbar/">Default</a></li> <li><a href="../navbar-static-top/">Static top</a></li> <li class="active"><a href="./">Fixed top <span class="sr-only">(current)</span></a></li> </ul> </div><!--/.nav-collapse --> </div> <div class="navbar-attatch"></div> </nav> 中的所有文件复制到μSD卡上的分区上,而不是尝试安装映像,并将分区作为/data安装在/data中(即挂载{ {1}}为fstab.sdmk4x12)。所有应用程序等现在都将存储在μSD卡上的分区上。