Новая таблица разделов для Андроида
Перейти к навигации
Перейти к поиску
Изменение таблицы разделов для новых версий Андроида
Так как начиная с версии 4.1 андроида, в старую таблицу разделов уже система плохо влезает, нужно придумать новую разметку с запасом на будущее.
Новая разметка под GPT
Device name | Partition | Size | GPT# | FS Type |
---|---|---|---|---|
mmcblk0boot0 | PT | 1-2mb | 1 | raw |
mmcblk0boot1 | EBT | 1-2mb | 2 | raw |
mmcblk0p1 | SOS RECOVERY | 100mb | 3 | ext4 |
mmcblk0p2 | BOOT LINUX | 100mb | 4 | ext4 |
mmcblk0p3 | ANDROID SYSTEM | 512mb | 5 | ext4 |
mmcblk0p4 | ANDROID CACHE | 512mb | 6 | ext4 |
mmcblk0p5 | ANDROID DATA | 3gb | 8 | ext4 |
mmcblk0p6 | LINUX ROOT | 3.7gb | 10 | ext4 |
Нужно еще понять может GPT сделать последную партицию размером не на определенное кол-во секторов, а не до конца диска.
Новая разметка
- Пока думаю оставим старое кол-во разделов для сохранения обратной совместимости.
- Раздел /system он же APP, думаю надо расширить до 512Мб, это 536970912 байт.
- Раздел /cache он же CAC, не понятно надо его делать больше или смысла нет.
[14:48] <saturn2000> По кэшу пишут смысла нет его увеличивать. Наоборот можно подрезать
- MSC не трогаем, смысл его не ясен.
- /userdata он же UDA, думаю можно расширить до 4гб, 4194304000 байт, т.к. теперь встречаются очень прожорливые игры.
- все остальное место уходит под UDB.
- Начиная с Андрода 4.2 UDB уже не используется, обратную совместимость можно сохранить только не использую это место.
Смысла в этом нет поэтому надо переходить на схему в 3 партиции.
- /system 512mb
- /cache прежний
- /data все остальное место
Задачи
Встают несколько вопросов:
- <range type="comment" id="370738318_1">что нужно писать в EM1 и EM2партиции</range id="370738318_1">, если мы меняем размер других и нужно ли писать вообще?
- надо проверить
- Набросать новый конфиг с разметкой
- Потестить
- Набросок конфига, разбивать коммандой:
nvflash --bl fastboot.bin --bct ac100-32gb.bct --setbct --configfile new-android.cfg --create --verifypart -1 --go
[device] type=hsmmc instance=3 [partition] name=BCT id=2 type=boot_config_table allocation_policy=sequential filesystem_type=basic size=3145728 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=PT id=3 type=partition_table allocation_policy=sequential filesystem_type=basic size=524288 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=EBT id=4 type=data allocation_policy=sequential filesystem_type=basic size=2097152 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 filename=fastboot.bin [partition] name=SOS id=5 type=data allocation_policy=sequential filesystem_type=basic size=5242880 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=LNX id=6 type=data allocation_policy=sequential filesystem_type=basic size=8388608 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=MBR id=7 type=data allocation_policy=sequential filesystem_type=basic size=1048576 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=APP id=8 type=data allocation_policy=sequential filesystem_type=basic size=537395200 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=CAC id=9 type=data allocation_policy=sequential filesystem_type=basic size=419430400 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=MSC id=10 type=data allocation_policy=sequential filesystem_type=basic size=2097152 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=EM1 id=11 type=data allocation_policy=sequential filesystem_type=basic size=524288 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=UDA id=12 type=data allocation_policy=sequential filesystem_type=basic size=4194304000 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=EM2 id=13 type=data allocation_policy=sequential filesystem_type=basic size=524288 file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0 [partition] name=UDB id=14 type=data allocation_policy=sequential filesystem_type=basic size=0xFFFFFFFFFFFFFFFF file_system_attribute=0 partition_attribute=0 allocation_attribute=8 percent_reserved=0
- В результате получается на 116ой следующая разметка:
PartitionId=2 Name=BCT DeviceId=18 StartSector=0 NumSectors=1536 BytesPerSector=2048 PartitionId=3 Name=PT DeviceId=18 StartSector=1536 NumSectors=256 BytesPerSector=2048 PartitionId=4 Name=EBT DeviceId=18 StartSector=1792 NumSectors=1024 BytesPerSector=2048 PartitionId=5 Name=SOS DeviceId=18 StartSector=2816 NumSectors=2560 BytesPerSector=2048 PartitionId=6 Name=LNX DeviceId=18 StartSector=5376 NumSectors=4096 BytesPerSector=2048 PartitionId=7 Name=MBR DeviceId=18 StartSector=9472 NumSectors=512 BytesPerSector=2048 PartitionId=8 Name=APP DeviceId=18 StartSector=9984 NumSectors=262400 BytesPerSector=2048 PartitionId=9 Name=CAC DeviceId=18 StartSector=272384 NumSectors=204800 BytesPerSector=2048 PartitionId=10 Name=MSC DeviceId=18 StartSector=477184 NumSectors=1024 BytesPerSector=2048 PartitionId=11 Name=EM1 DeviceId=18 StartSector=478208 NumSectors=256 BytesPerSector=2048 PartitionId=12 Name=UDA DeviceId=18 StartSector=478464 NumSectors=2048000 BytesPerSector=2048 PartitionId=13 Name=EM2 DeviceId=18 StartSector=2526464 NumSectors=256 BytesPerSector=2048 PartitionId=14 Name=UDB DeviceId=18 StartSector=2526720 NumSectors=13103616 BytesPerSector=2048
- Чтобы заработало надо создать скриптом новые mbr,em1 и em2 партиции и залить их.
Набросок алгоритма работы скрипта по смене размеров партиций
- Слить с девайса нвфлешем partitiontable
- Сделать бекап всех возможных партиций по запросу
- Выбор партиция под линукс или под андроид?
- Запусить нфлеш с нужным конфигом (конфиг включает сразу образы нужных партиций)
- Прошить партиции которые надо вливать через rawdevicewrite (2,4)
Кто использует какие размеры
- Google Nexus 7 aka asus grouper использует следующие размеры APP 650мб, UDA 6.2Гб