Разбиение файловой системы на Android - PullRequest
1 голос
/ 07 сентября 2010

Я пытаюсь переразбить SDCard на Android с правами root.

У меня есть 512-байтовый файл MBR, и он выглядит так:

 Pos MBRndx Type/Name  Size Active Hide Start Sector   Sectors
 --- ------ ---------- ---- ------ ---- ------------ ------------
  0    0    0C-FAT32X  5.9G   No    No            64   12,124,096
  1    1    0C-FAT32X  1.9G   No    No    12,124,160    3,932,160

Я пытаюсь изменить размер раздела 5,9 ГБ на 3 ГБ, а затем создать раздел EXT с оставшимся пространством. Я могу придумать два способа сделать это, но я немного озадачен выполнением любого из них:

1) Кросс-компиляция GNU разделена, и запустите ее на Android, чтобы изменить файловую систему на месте. Это был бы мой предпочтительный метод, но я пытался статически скомпилировать parted, используя scratchbox, и мне не повезло, и я также не смог динамически скомпилировать для Android в scratchbox.

2) Непосредственно измените 512-байтовую MBR с помощью некоторой утилиты на моем компьютере, а затем добавьте файл в Android. У меня есть инструмент для просмотра MBR (mbrwiz), но я не знаю, как его редактировать.

У кого-нибудь есть предложения по поводу одного или третьего маршрута?

Ответы [ 2 ]

3 голосов
/ 07 сентября 2010

Возможно, я не вижу проблемы, но не похоже, что вы хотите автоматизировать это или создать программу с такой функциональностью. Итак, почему бы не извлечь SD-карту из устройства Android и разделить ее на устройстве для чтения карт на настольном компьютере? Вы даже можете сделать полное резервное копирование заранее и избежать потери данных при разбиении.

0 голосов
/ 23 сентября 2010

Вы можете использовать fdisk вместо parted, как мы использовали в течение многих лет, прежде чем появился более поздний инструмент.

Многие из романов сообщества Android включают в себя fdisk на основе busybox, который с осторожностью можно было бы установить без замены фактического рома (который, возможно, еще не имеет полностью функциональной версии galaxy)

Не уверен, как это помогает ядру вернуть проблему обратно. Вы можете заглянуть в /init.rc и посмотреть, есть ли что-то, что вы можете там прокомментировать (вам нужно извлечь, изменить и перепрошить рамдиск, чтобы внести в него изменения, разделив и рекомбинировав его из ядра, если они это сделали это так же, как телефоны HTC)

Также возможно разделить его с помощью внешних инструментов, когда он находится в режиме монтирования usb - если гаджет для хранения usb воспринимает его просто как море блоков, возможно, вы могли бы поместить в него таблицу разделов?

...