Если ты читал мою старую статью о мультизагрузке, то знаешь, что MultiROM — это не совсем загрузчик. Он внедряется не между первичным загрузчиком и прошивкой, а в саму прошивку (а если быть точным — в RAM-диск). Так что технически это система запуска одной прошивки из другой. Отсюда и требование ядра с патчем kexec.
EFIDroid — полноценный UEFI-загрузчик, выступающий в качестве вторичного. Он запускается первичным загрузчиком смартфона, выводит меню выбора и затем загружает выбранную прошивку. Точно так же, как на обычном десктопе.
EFIDroid не устанавливает специальную версию TWRP, не модифицирует текущую прошивку и не принуждает использовать специальный интерфейс TWRP для установки дополнительных прошивок. И установить, и удалить прошивки можно прямо в Android, используя EFIDroid Manager.
Однако EFIDroid сильно завязан на железо. Он использует возможности Little Kernel (LK), фирменного загрузчика Qualcomm, а потому работает только на устройствах с соответствующим чипсетом. Более того, на данный момент поддерживается всего тринадцать устройств, включая OnePlus One, Motorola Moto G, Moto E, Samsung Galaxy Note 4, Xiaomi Mi2, Mi3w, Mi4 и Redmi Note 3 Pro.
Для установки на поддерживаемое устройство необходимо получить root и установить TWRP. Затем скачиваем EFIDroid Manager, переходим в раздел Install/Update и нажимаем большую круглую кнопку. После этого можно приступать к установке прошивок. Но сначала необходимо создать образ на карте памяти, в который будет установлена новая прошивка.
Для этого переходим в раздел Operating System, нажимаем +, выбираем иконку, добавляем имя и описание, выбираем место хранения образа и нажимаем галочку. Скачиваем нужную прошивку и кладем ее либо на внешнюю карту памяти, либо на флешку, подключенную с помощью OTG. Это необходимо сделать, так как запущенный для установки второй прошивки TWRP просто не увидит внутренний накопитель. Далее перезагружаемся.
Процесс установки |
На экране должно появиться загрузочное меню EFIDroid. Мышь здесь не работает, поэтому управлять придется с помощью клавиш громкости (вверх/вниз) и включения питания (Enter). Выбираем пункт TWRP, далее — созданный ранее образ и устанавливаем прошивку, как обычно. При следующей загрузке выбираем нужную прошивку.
Процесс загрузки |
Вот и все. Но это лишь вершина айсберга, на самом деле потенциал EFIDroid намного больше. В теории его можно использовать для запуска традиционных EFI-приложений. Например, установить полноценный загрузчик GRUB для нативной загрузки Linux на смартфоне. Ну или добавить поддержку fastboot на устройство без его поддержки (привет, Samsung).