Разбиение файловой системы на Android

Я пытаюсь переразметить 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 parted и запустите ее на Android, чтобы изменить файловую систему на месте. Это был бы мой предпочтительный метод, но я пытался статически скомпилировать parted с помощью скретчбокса, и мне не очень повезло, и я также не смог динамически скомпилировать для Android в скретчбоксе.

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

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


person RyanZA    schedule 06.09.2010    source источник


Ответы (2)


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

person Dubu    schedule 06.09.2010
comment
Ах .. Хотел бы я! Это Samsung Galaxy S - SD-карта несъемная! - person RyanZA; 07.09.2010
comment
Ну, у меня нет этого телефона, и, возможно, Galaxy S, доступный в вашей стране, отличается от немецкого, но в Google я нашел видео (youtube.com/watch?v=ncMxv5AfJx0#t=2m40s), куда кто-то вставил новую карту microSD. Он должен быть рядом с SIM-картой. - person Dubu; 07.09.2010
comment
Ха-ха, да, но у него также есть внутренняя память 8 ГБ или 16 ГБ. На складе форматируется как в моем вопросе. - person RyanZA; 07.09.2010
comment
Мне действительно удалось отредактировать разделы, используя двоичный файл fdisk, который я мог бы перенести, но оказалось, что ядро ​​сбрасывает MBR при загрузке! И, конечно же, fdisk требует перезагрузки ядра, чтобы прочитать изменения MBR! Так что я застрял, когда мне нужно найти способ перенести gnu на Android - и это кажется очень-очень сложным! - person RyanZA; 07.09.2010

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

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

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

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

person Chris Stratton    schedule 23.09.2010