Сравнительно недавно появились сборки ядра Android, поддерживающие так называемый dual-boot — возможность установки на устройство сразу двух прошивок с возможностью загрузки любой из них на выбор. Предлагаю разобраться, как работает dual-boot на Android, что необходимо для обеспечения работы двух прошивок, и, собственно, как их установить.

По своей сути, режим двойной загрузки в Android не является экзотикой, поскольку поддержка двух прошивок заложена в ОС уже давненько, с приходом версии ICS, и она вполне реальна на практике. Достаточно только использовать специальные сборки ядра, поддерживающие данный функционал. Мы возьмем за основу ядро Siyah Kernel. Это ядро выбрано нами неслучайно, потому что считается самым стабильным и безопасным.

dual-booting

Как работает dual-boot? Прежде, наверное, необходимо начать с цели использования dual-boot. Используя данную возможность можно экспериментировать с прошивками или программным обеспечением в какой-то из прошивок, не затрагивая основную, стабильную прошивку. При этом вторая прошивка зависима от ядра первой, но в остальном полностью автономна. Впрочем, файловая система устройства при такой «двойной» схеме также становится общей. В то же время файлы одной прошивки спрятаны во внутренней памяти и, как следствие, недоступны при подключении «гуглофона» к компьютеру на второй прошивке.

dual-boot-your-android-phone-L-sOHj2T

Ядро Siyah Kernel, например, на основе которого мы рассматриваем dual-boot, поддерживает функцию смены приоритетности прошивок. То есть, альтернативную прошивку можно установить в качестве главной вместо основной, а основную — наоборот, как второстепенную. Изменять настройки ядра по отдельности нельзя, но модернизировать возможности, не затрагивающие ядро, вполне можно. В целом же, второстепенная прошивка существует обособленно, а значит она без проблем заменяется или вовсе удаляется.

Перед установкой dual-boot необходимо сделать бэкап, с которого, если что-то вдруг пойдет не так, можно будет восстановиться. Сам же процесс установки двух прошивок на одно Android-устройство рассмотрим в следующем посте на конкретном примере с ядром Siyah Kernel. [продолжение]