test adv
,

Новая система разделов в Android 10 ограничивает возможности ROOT, но есть и положительный момент

Новая система разделов — спорное нововведение, обладающее как весомым преимуществом, так и мелкими недостатками

Выпустив Android 10, Google ввела новую систему разделов, обязательную для всех смартфонов, которые будут поставляться с этой версией данной ОС. Почему это произошло, какие есть преимущества и недостатки у этого решения?

Что из себя представляет новая система разделов

Раздел, это пространство, в котором хранятся те или иные компоненты ОС. В /system хранится соответственно система, в /vendor хранятся низкоуровневые драйвера, и так далее. До появления Android 10 все разделы были самостоятельными, каждый из них имел своё собственное ограниченное пространство (место). После появления Android 10, все смартфоны, которые изначально поставляются с этой версией зелёного робота, обладают новой системой динамического разбиения на разделы.

Преимущество новой системы

Новая система разделов в Android 10 ограничивает возможности ROOT, но есть и положительный момент

Основной плюс новой системы заключается в том, что большое количество разделов, таких как /system и /vendor, теперь хранятся в одном разделе — /super, становясь, по сути, подразделами. Используя эту систему разделов, разработчик ПО может создавать, изменять размер или уничтожать разделы во время обновлений по «воздуху».

Устройство воспринимает /super как один раздел, а размер подразделов может динамически изменяться внутри него. Больше не нужно оставлять пустое место для будущих обновлений по «воздуху» в каждом разделе, как это делали раньше. Вместо этого оставшееся свободное пространство в /super доступно для любого из динамических подразделов. Это существенно облегчает работу разработчикам ПО для андроид-смартфонов, которым больше не нужно волноваться по поводу размера каждого из разделов.

Однако, нововведение также доставляет массу неудобств людям, которые любят прошивать своё устройство или модифицировать его с помощью Root.

Недостатки новой системы

У такой системы существует два основных недостатка, мешающих энтузиастам «кастомизировать» свои устройства на более низком уровне, чем, например, простой установкой другого лаунчера.

Новая система разделов в Android 10 ограничивает возможности ROOT, но есть и положительный момент

Первый недостаток — невозможность изменения файлов в подразделах с помощью штатных средств Root. ОС Android всегда славилась тем, что, благодаря Root, можно было произвести любые изменения в системе, тем самым её модифицировав. Например, можно было изменить информацию об устройстве в build.prop или увеличить громкость динамика в mixer_paths.xml.

С новой системой разделов этого сделать не получится, потому что теперь нельзя смонтировать раздел /system или любой другой раздел, включенный в /super, на запись (чтобы там можно было менять файлы). Говоря проще, данные разделы теперь навсегда останутся в режиме RO («Только чтение»). Конечно, на самом деле смонтировать эти разделы на запись можно, но только после сложной конвертации оных, которая не имеет никакого смысла ввиду сложности этого процесса. На некоторых прошивках можно добиться монтирования на запись через изменение файлов *.fstab (файлов разметки разделов), но это также не стоит приложенных усилий, ведь уже давно существует Magisk, который позволяет внесистемно внести любые изменения в /system или /vendor.

И, хотите вы этого или нет, но теперь придётся учиться создавать модули Magisk, если вы захотите произвести такие изменения в системе, для которых этого модуля ещё не придумали.

Новая система разделов в Android 10 ограничивает возможности ROOT, но есть и положительный момент

Второй недостаток — это сложности с прошивкой общих образов систем. После введения в эксплуатацию Project Treble, появилась возможность устанавливать почти любую систему на ваш смартфон, ведь теперь низкоуровневые драйвера и система стали существовать по отдельности, что также облегчило разработчикам процесс обновления прошивок смартфонов до актуальной версии. Но, если раньше достаточно было зайти в TWRP и прошить в раздел /system образ системы, либо же ввести одну команду в fastboot (утилите для работы с прошивками на многих устройствах Android), то теперь необходимо проделывать намного большее количество действий.

Например, когда у меня был Samsung Galaxy A51, изучая эту тему я набрёл на инструкцию по установке ООС на xda, и нельзя сказать, что она была простой. Если очень кратко, там нужно было, фактически, пересобирать образ раздела /super с той системой, которую вы хотите заставить работать на своём устройстве. А для этого, в свою очередь, было необходимо работать с утилитами для двух разных систем — Windows и Linux. Благо, я вспомнил, что существует Windows Subsystem for Linux, о чём любезно сообщил автору инструкции, так что переключаться между операционными системами больше не было нужды. Однако, пользователю всё ещё было необходимо выполнять сложные действия и вводить огромное количество команд. На устройстве Xiaomi всё было гораздо проще — нужно было зайти в специальный режим, fastbootd (о нём я подробнее расскажу чуть позже), и из него уже можно было выполнять операции над любыми разделами динамического раздела /super. Правда, этот способ всё равно сложнее, чем те, которые существовали раньше.

В дополнение ко всему вышесказанному можно добавить, что, к тому же, возникли трудности с созданием обычных прошивок, которые распространяются в zip-файлах, ведь разработчики «кастомов» всё ещё не привыкли к новой системе разделов.

Про новый режим fastbootd

Новая система разделов в Android 10 ограничивает возможности ROOT, но есть и положительный момент

С появлением динамического раздела /super во многих смартфонах также появился режим fastbootd. Существовавший ранее (и до сих пор) режим fastboot (точнее его реализация) теперь также перемещён в пространство раздела /super, и поэтому в этом режиме нельзя изменять его подразделы.

В то же время, fastbootd и recovery просто объединили. Такое решение позволяет сократить количество разделов и используемого пространства, а также даёт возможность этим режимам использовать общие библиотеки, то есть базы с дополнительными функциями, изначально не реализованными в языке программирования, на котором написан код. Загрузка режима fastbootd инициализируется через recovery. Этим обосновывается то, что чтобы загрузиться в fastbootd в recovery должна быть реализована поддержка этого режима(например, не все TWRP его поддерживают), и что для этого используется команда fastboot reboot fastboot.

Для чего нужен fastbootd? Как я уже сказал, режим fastbootd позволяет изменять, прошивать, удалять, и совершать прочие действия над подразделами, которые включены в динамический раздел /super. Однако, это можно сделать и из обычного fastboot с помощью команды принудительного режима, которую здесь я описывать не буду, так как её использование не рекомендуется самой Google. Скорее всего, это связано с какими-то нюансами работы режима fastboot.

Полный список команд fastbootd

Итоги

Новая система разделов имеет как и очень весомое преимущество, в виде облегчения работы разработчикам ПО, так и множество мелких недостатков, мешающих энтузиастам модифицировать свои устройства. Но вряд ли это нововведение поставит крест на каких-либо экспериментах над андроид-смартфонами, ведь, во-первых, уже сейчас есть пути обхода вышеописанных проблем, а, во-вторых, сообщество пользователей Android крайне велико, и оно никогда не останавливалось перед подобного рода преградами. Есть огромная вероятность, что энтузиасты найдут подход к работе с нововведением и мир неофициальных прошивок продолжит своё существование.

Последнее изменение:
 
hacker502
hacker502 29, 30 ноября 2020 - 16:25   (...)
А где легендарный коммент?)
Ответить
Krokodil707
Krokodil707, 30 ноября 2020 - 16:50   (...)
На размышление даётся 30 секунд
Ответить
hacker502
hacker502 29, 30 ноября 2020 - 17:37   (...)
Вас понял, в рядах пополнение) Не сразу догнал из-за включённого рейтинга.
@toddnach поздр
Ответить
toddnach
toddnach , 30 ноября 2020 - 18:17   (...)
Сяп
Ответить
ivanov150
ivanov150 , 30 ноября 2020 - 18:48   (...)

не зря я все еще сижу на android 9… отличия от android 11 минимальны, а возможности кастомизации гораздо хуже, а в случае с android 11 без рут прав уже и левых программ не поставить…
Ответить
Nevidimka655
Nevidimka655, 1 декабря 2020 - 21:19   (...)
Приношу к сведению то, что уже найден способ по монтированию этих динамических разделов в режиме rw. И для этого не особо много то и нужно. Терминал да и рут. У меня тело с 10м андроидом(samsung galaxy m21). Нам удалось смонтировать их и внести изменения с последующим сохранением оных. Поэтому, не всё потеряно ;-)
Ответить
toddnach
toddnach , 2 декабря 2020 - 09:11   (...)
Статья вышла слегка запоздало(тк видимо раньше некому было об этом рассказать), так что да, сейчас по-тихоньку находят способы обходить описанные ограничения.
Ответить
andbna
andbna , 6 декабря 2020 - 16:32   (...)
Разве что то когда то останавливало шаловливые ручки энтузиастов? :)
Ответить
nborodin81
nborodin81 , 16 декабря 2020 - 17:10   (...)
Этих мастеров ничто вроде не остановит)))
Ответить

Добавить комментарий
Если нужно ответить кому-то конкретно,
лучше нажать на «Ответить» под его комментарием