Android: смонтировать другой раздел userdata при загрузке
На моем Samsung Note 10.1 я бы хотел смонтировать другой раздел с пользовательскими данными. Моя цель - добиться этого при загрузке, изменив init.rc
скрипт, так как это похоже на настройку всех файловых систем и монтирование разделов userdata, system и так далее. Например, есть строка mkdir /data 0771 system system
, который звучит для меня, как будто он устанавливает точку монтирования для раздела userdata. Раздел userdata соответствует блочному устройству /dev/block/mmcblk0p12
,
Теперь, что я хочу, это вместо монтажа mmcblk0p12
Я хочу смонтировать образ mmcblk0p12
, который я поместил на µSD-карту, вставленную в устройство. ΜSD-карта доступна через блочное устройство /dev/block/vold/179:17
, Это означает, что мне сначала нужно будет смонтировать µSD-карту, а затем образ на µSD-карту.
Но здесь я терплю неудачу. Я не могу понять, как установить µSD-карту в init.rc
, не говоря уже о том, как монтировать образ впоследствии. Я добавил строку 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-карты. Таким образом, теперь я смог смонтировать µSD-карту, изменив fstab.sdmk4x12
файл.
EDIT3: после того, как я смог смонтировать µSD-карту, проблема с монтированием образа остается. Я изменил строку, где он монтирует раздел userdata. Линия такая же, как и в EDIT1+2, но использует изображение /storage/extSdCard/userdata.img
смонтировать его на /data
, Но я думаю, что, видимо, не удается смонтировать образ. Устройство загружается, но отображает некоторую ошибку, указывающую, что раздел userdata поврежден. Это также дает мне возможность сбросить его, но, конечно, это влияет только на раздел userdata, и, как только я перезагружаюсь, он пытается снова смонтировать мой образ, дает сбой и снова показывает эту ошибку.
1 ответ
Я нашел обходной путь. Вместо того, чтобы пытаться смонтировать образ, я просто скопировал все файлы из /data
на раздел на карте µSD и смонтировал раздел как /data
в fstab.sdmk4x12
(т.е. монтаж /dev/block/mmcblk1p1
как /data
). Все приложения и т. Д. Теперь будут храниться в разделе на SD-карте.