- О второй операционной системе в каждом мобильном телефоне
- Как установить на одном Android устройстве несколько ОС или прошивок
- Установка MultiROM
- Как переключаться между операционными системами или прошивками
- Как установить Ubuntu Touch
- Как установить кастомные прошивки и другие ОС
- Как удалить установленные прошивки
- Одновременная работа нескольких Android на одном устройстве
- Как установить и запустить две операционные системы на Android планшете или Android смартфоне
- ТРУДНОСТИ DUAL BOOT
- МОДИФИЦИРОВАННЫЙ RECOVERY + SD-КАРТА
- ДИНАМИЧЕСКАЯ ПЕРЕЗАПИСЬ BOOT
- ОТКАЗ ОТ КАРТЫ ПАМЯТИ
- KEXEC + ВТОРИЧНЫЙ ЗАГРУЗЧИК
- MULTIROM
- ДРУГИЕ РЕШЕНИЯ
- ВЫВОДЫ
О второй операционной системе в каждом мобильном телефоне
iXBT.com начинает публикацию переводов аналитических материалов известных англоязычных IT-блоггеров и журналистов. Новые статьи будут выходить в разделе iT-среда три раза в неделю. Если у вас есть пожелания по рубрике, любые соображения или замечания — пишите в комментариях к статье!
Я всегда это знал (и, уверен, большинство из вас тоже), но об этом никогда не говорят. В каждом смартфоне и вообще любом устройстве с коммуникационными функциями (напр. 3G или LTE) работает не одна, а две операционные системы. Помимо операционной системы для конечного пользователя (Android, iOS, PalmOS) есть также маленькая система для управления всем, что касается радиосвязи. Эта функциональность критически зависит от времени, в силу чего требуется операционная система реального времени.
Эта операционная система хранится в прошивке и работает на коммуникационном процессоре. Насколько я знаю, эта RTOS (операционная система реального времени) всегда полностью проприетарна. Так, в коммуникационных процессорах Qualcomm (например, MSM6280) RTOS называется AMSS. Она основана на собственном проприетарном ядре REX и выполняет до 69 одновременных процессов, отвечающих за функционирование модулей от USB до GPS. Система работает на процессоре ARMv5.
Проблема очевидна: данные коммуникационные программы и проприетарное закрытое ПО, которое на них работает, мало изучены, по ним нет экспертных обзоров. И это очень странно, учитывая огромную роль этого софта в функционировании современного коммуникационного устройства. Можно предположить, что коммуникационные RTOS обладают высокой безопасностью и защищенностью, однако это не так. Можно иметь на смартфоне самую безопасную мобильную операционную систему в мире, но при этом там будет еще одна — малоизвестная, плохо задокументированная, проприетарная, в которой мы полностью зависим от Qualcomm, Infineon и др.
Низкий уровень безопасности коммуникационного ПО — это не ошибка, а часть плана. Те стандарты, которые описывают коммуникационные процессоры и работу радиоинтерфейсов, были разработаны в 80-е годы. Между тем, в 90-е для них были написаны большие объемы сложного кода с характерным для 90-х подходом к безопасности. Например, там нет защиты от эксплойтов, и они могут там легко запускаться. Что еще хуже, каждый коммуникационный процессор по определению доверяет любым данным, которые получает с базовой станции (напр. сотовой связи). Никаких проверок, все данные считаются доверенными автоматически. Наконец, коммуникационный процессор обычно является мастером, тогда как прикладной (на котором работает мобильная ОС) — слейвом.
Таким образом, у нас есть законченная операционная система на ARM-процессоре безо всякой (или с очень небольшой) защиты от эксплойтов, которая автоматически доверяет любым инструкциям, любому коду и данным, которые получает от базовой станции, к которой вы подключены. Какие могут возникнуть проблемы?
Специалист по безопасности Ральф-Филипп Вейнман из Люксембургского университета подверг реинжинирингу ПО коммуникационных процессоров Qualcomm и Infineon и нашел огромное количество ошибок, каждая из которых является потенциальной уязвимостью. Написанные для них эксплойты могут привести к сбою в устройстве, а удаленный злоумышленник может даже получить возможность выполнить код. И учтите: все это делается в беспроводном режиме. Одна обнаруженная им уязвимость требовала для выполнения стороннего кода послать всего одно 73-байтовое сообщение. Без подключения проводов.
Такие эксплойты позволяют делать сумасшедшие вещи. Например, с помощью набора команд Hayes можно включить автоответчик. Этот командный язык для модемов был разработан в 1981 году и до сих пор работает на современных коммуникационных процессорах в большинстве смартфонов! Автоответчик можно также сделать бесшумным и невидимым.
Можно подумать, что в базовых станциях крупных операторов мобильной связи все «безопасно», но дело в том, что базовые станции постоянно дешевеют, сейчас их можно купить даже на eBay. Существует открытое ПО для базовых станций. С таких станций можно совершать атаки на телефоны. Ставим «скомпрометированную» базовую станцию в людном месте (или деловом районе, или каком-то другом потенциально интересном месте), и можно удаленно включать микрофоны и камеры, загружать руткиты, звонить и посылать SMS на дорогие номера и т. п. Можно даже полностью выводить телефоны из строя.
Это довольно серьезная проблема, но мы о ней редко слышим. Речь идет о настолько низкоуровневом и сложном ПО, что, я думаю, очень немногие люди в мире хорошо знают, что там происходит.
Эта сложность — одна из причин, почему столь непросто написать собственное коммуникационное ПО. Список стандартов, описывающих один только протокол GSM, невероятно длинный, а это всего лишь GSM. К нему еще нужно добавить UMTS, HSDPA и т. д. и т. п. И естественно, все это окутано абсурдно сложной системой патентов. Ну и наконец, надзорные органы требуют, чтобы коммуникационное ПО было сертифицировано.
Если собрать все это воедино, становится понятно, почему все производители сотовых телефонов используют готовые стандартные коммуникационные процессоры и сопутствующее ПО. Это не значит, что абсолютно в каждом смартфоне какие-то программы постоянно работают (при включенном устройстве), но это практически черный ящик. Если посмотреть, что происходит в коммуникационном ПО, то в нем оказывается масса багов и проблем, что приводит нас к вопросу: сколько еще будет продолжаться эта неопределенная ситуация?
Отрезвляет, когда думаешь, что мобильные коммуникации — краеугольный камень современного мира и в развитых, и в развивающихся странах — основаны на ПО спорного качества, плохо изученном, полностью проприетарном и изначально полностью незащищенном.
Источник
Как установить на одном Android устройстве несколько ОС или прошивок
Устройства линейки Google Nexus могут похвастаться не только быстрым получением обновлений ПО, но и являются единственными гаджетами, на которые можно одновременно установить несколько ОС или кастомных прошивок при помощи разработки MultiROM.
Установка MultiROM
Для выполнения действий из данной инструкции, на вашем Android устройстве должны быть получены root-права. Поскольку установить Dual-Boot (несколько ОС на одном аппарате) можно только на устройствах линейки Nexus, то для получения рут лучше всего воспользоваться Nexus Root Toolkit.
После этого установите MultiROM Manager и откройте его. При первом запуске предоставьте root-доступ приложению.
Во вкладке «Установка/Обновление» нажмите на одну единственную кнопку «Установить». Установятся 3 компонента: сам MultiROM, кастомное ядро и TWRP Recovery. Вы можете снять галочку с пункта «Ядро», если в разделе «Статус» нет уведомления: doesn’t have kexec-hardboot patch! Поскольку необходимое ядро у вас вряд ли установлено (поэтому и выводится данное сообщение), оставьте все 3 галочки.
После установки MultiROM ваш аппарат перезагрузится и никаких изменений вы не увидите. Теперь можно установить прошивку или другую ОС.
Как переключаться между операционными системами или прошивками
После установки новых прошивок или других ОС (об этом ниже) во время запуска вашего смартфона или планшета во вкладке «Internal» вам будет предложено, какую операционку или прошивку вы хотите использовать. Просто нажмите на нее два раза и система загрузится.
Открыв вкладку «Misc» вы увидите дополнительные настройки. Оттуда можно перезагрузить или полностью выключить устройство, перейти в Recovery или Bootloader, а также сменить цвет интерфейса.
MultiROM также поддерживает загрузку дополнительных операционных систем с USB флеш-накопителей. Они будут отображаться во вкладке «External».
Как установить Ubuntu Touch
Установить Ubuntu Touch проще простого. Это можно сделать при помощи MultiROM Manager. После установки MultiROM в меню приложения появится новый пункт: «Установить Ubuntu Touch». Нажмите на кнопку «Установить», дождитесь конца загрузки и выберите Ubuntu во время загрузки устройства.
Установка других ОС, вроде Firefox OS и Sailfish OS производится идентично кастомным прошивкам.
Как установить кастомные прошивки и другие ОС
Прошивки и другие ОС устанавливаются при помощи TWRP Recovery. Для этого:
1. Скачайте ZIP-архив нужной прошивки или операционки.
2. Перезагрузите смартфон или планшет в режим Recovery из MultiROM Manager. Для этого в опциях выберите пункт «Перезагрузка» → «Рекавери».
3. В Recovery перейдите в «Advanced» → «MultiROM» → «Add ROM».
4. В пункте «Сhoose ROM type:» поставьте галочку напротив «Android». Нажмите «Next».
5. После этого выберите предварительно загруженный ZIP-архив с прошивкой.
6. В конце сделайте свайп для разблокировки и начнется процесс установки прошивки.
Теперь при включении устройства вы сможете выбрать какой прошивкой хотите пользоваться.
Как удалить установленные прошивки
Для этого перейдите в раздел «Управление прошивками» в MultiROM Manager и нажмите на изображение корзины напротив ненужной прошивки.
Там же вы можете поменять ее название (отображающееся при загрузке устройства).
Главная / Инструкции / Multirom – установка нескольких прошивок на Android
Источник
Одновременная работа нескольких Android на одном устройстве
Компания Parallels и трое питерских студентов целый год работали над технологией виртуализации сразу нескольких Android на одном устройстве ARM- или X86-архитектуры. Из видео ясно – получилось.
Подробности под катом.
Пока информации мало, и нам лучше дождаться официального заявления от Parallels. Но я напишу пока то, что мне известно.
Что под капотом такого решения?
Android сколочен из большого количества досок, которые скрепляют огромные и ржавые гвозди, поэтому вынимать их – дело неблагородное, а значит и выходов виртуализации не так и много. Питерским студентам удалось найти самый подходящий. Я так понимаю, что они вклинили свой контейнер в прослойку между ядром и SDK. Этот контейнер есть нечто на ядре UNIX, умеющее запускать две (и больше) версии Android одновременно. Все, конечно, зависит от количества ресурсов. Но уже сейчас утилита по виртуализации запущена на Galaxy S2 и Nexus S (это то, что видел я). Устройства далеко не самые мощные, но работает все гладко, особенно на «галактике».
Когда один Android запущен, другой находится в состоянии суспенда. Но некоторые демоны все же работают, и если запустить плеер и переключиться на другую систему – он будет играть.
Интересно и то, что технология почти не влияет на батарейку. Как это реализовано – я не знаю.
Как это использовать? Идеи!
1. Обычный Android и Light-Android. Лично мне было бы интересно иметь телефон, который при 20% заряда автоматически переключался в более легкую версию системы и не позволяет включить камеру, фонарик, Wi-Fi и 3G. Думаю, многим помогла бы такая функция, поэтому переход из обычной версии Android в Light-версию – отличное решение. Конечно, можно просто отключить половину «рубильников» и в стандартной версии, но могут возникнуть сложности с работой некоторых демонов или функций.
2. Мультиюзерность. Можно сказать, что это есть в Android 4.2, но только представьте, если бы можно было не просто изменять обои и положение программ на рабочем столе, но ставить вообще разные ОС.
3. Допустим, вы увлекаетесь установкой сотней apk-файлов каждый день, а вирусов сейчас все больше. Именно поэтому приятно иметь две системы. Одна для проверок и тестов, а другая для «грамотного использования».
Простите, если сумбурно – торопился. Все-таки, эксклюзив.
Если у кого-то есть идеи как это использовать – изложите это в комментариях. Интересно послушать.
Источник
Как установить и запустить две операционные системы на Android планшете или Android смартфоне
У многих из нас на ноутбуках и компах установлено несколько операционок. Кто-то ставит Linux в качестве ОС для экспериментов, кто-то работаете Linux, но держит Windows для игр и другого софта, кому-то просто интересно играться с разными осями. В любом случае возможность загрузки разных ОС весьма полезна, а нередко и необходима. Но почему такой возможности нет на смартфонах и планшетах?
И можно ли это исправить?
В этой статье мы поговорим о подходах, которые можно использовать для получения возможности загрузки нескольких ОС на одном смартфоне или планшете. Сразу оговорюсь, что вначале будет много теории, которая необходима для понимания самого процесса, что позволяет повторить его, не прибегая к сторонним инструментам. Всех читателей приглашаю окунуться в странный и причудливый мир случайных инженерных находок, костылей и хаков.
ТРУДНОСТИ DUAL BOOT
Начнем с того, что попробуем разобраться, что же такое пресловутый dual boot и почему он прекрасно работает на ПК, но не может быть реализован на мобильном устройстве без костылей и перекладин. Как происходит загрузка нескольких ОС на обычном ПК? В MBR прошивается специальный загрузчик, позволяющий выбирать раздел, с которого будет продолжена загрузка системы. Включив комп, пользователь выбирает в меню нужный пункт меню, и загрузчик выполняет код, прописанный в начале раздела; обычно там располагается собственный загрузчик ОС, который передает управление ядру ОС, и дальше происходит загрузка самой ОС.
На деле все может быть несколько сложнее. Например, загрузчик Linux не передает управление коду в начале раздела, а самостоятельно загружает ядро из нужного раздела в память и передает ему управление, но в нашем случае это неважно. А важно то, что для настольной ОС обычно достаточно всего одного раздела, размер и наличие которого в системе определяет сам пользователь. Нужны три ОС на одном диске — разбиваешь диск на три раздела и ставишь в каждый из них нужную операционку (для никсов обычно отводят по три-четыре раздела, но можно установить и на один).
В гаджетах, основанных на Android, все иначе. Разметка внутренней NAND-памяти устройства обычно определяется еще на этапе проектирования планшета и зашивается вместе с первичным загрузчиком в постоянную память. По правилам память должна содержать как минимум шесть поименованных разделов: boot, system, data, cache, mise и recovery, каждый из которых, за исключением двух последних, необходим для корректной работы Android.
Чтобы получить возможность корректной установки на такую систему двух разных ОС, необходимо, во-первых, переразбить память на разделы, что возможно, только если перезаписать первичный загрузчик, а во-вторых, создать еще несколько разделов для других ОС, не говоря уже о том, что придется найти способ переключения между ОС. Однако выполнить ни тот ни другой пункт не получится, так как первичный загрузчик в большинстве случаев изменить невозможно, а если даже и возможно, делать это крайне не рекомендуется: малейшая ошибка в загрузчике окирпичит планшет так, что его придется нести в сервисный центр.
Как же быть и почему тогда существуют системы, позволяющие грузить несколько систем на одном гаджете? Правильно, все дело в хаках.
СПОСОБ НОМЕР 1
МОДИФИЦИРОВАННЫЙ RECOVERY + SD-КАРТА
В обычной ситуации загрузка Android происходит следующим образом. Юзер нажимает кнопку включения, активируется первичный загрузчик, который проверяет таблицу разделов и передает управление коду, расположенному в начале раздела boot. Этот код делает бутстрап ядра; получив управление, оно подключает расположенный в том же разделе boot RAM-диск, из которого запускается процесс init, подключает остальные разделы, описанные в специальном файле внутри гат-диска, и загружает ОС.
Казалось бы, все просто, но есть тут одна особенность: если первичный загрузчик обнаружит, что вместе с кнопкой включения была нажата кнопка уменьшения громкости (или другая кнопка, в разных устройствах по-разному) или что в раздел mise прописана специальная метка, он передаст управление не boot, a recovery! Последний, как ты знаешь, содержит консоль восстановления, но соль не в этом, а в том, что и по размеру, и по содержимому раздел recovery очень похож на boot.
Что это нам дает? Правильно, в recovery можно залить образ boot-раздела другой прошивки и заставить ее подключить остальные разделы системы не из внутренней памяти устройства, а с предварительно разбитой на разделы SD-карты. Это самый простой и очень древний способ настройки dual boot, который появился еще во времена первых версий Android, а сегодня используется для организации двойной загрузки Android/Ubuntu (настольной версии) на планшетах и в инсталяторе на Ubuntu Touch (поддерживаются только нексусы).
Плюс данного способа в чрезвычайной простоте реализации. Все, что нужно сделать, – это разбить SD-карту на разделы (два в случае с Android — system и data, раздел cache используется стандартный) с файловой системой ext4, распаковать образ boot-раздела второй прошивки, изменить несколько строк в файле fstab внутри RAM-диска, запаковать образ и прошить в раздел recovery. А вот минусов у способа множество. Это и невозможность получить доступ к recovery (на самом деле возможно, если прошить образ recovery прямо из работающей системы, но это извращение), ограничение на одну стороннюю ОС и необходимость наличия слота для карт памяти в устройстве. К счастью, есть более удобная модификация данного способа.
СПОСОБ НОМЕР 2
ДИНАМИЧЕСКАЯ ПЕРЕЗАПИСЬ BOOT
У раздела boot есть одна особенность, которая уже должна была стать понятной по ходу повествования: все его содержимое загружается в оперативную память на этапе инициализации, поэтому после окончания первого этапа загрузки необходимость в нем отпадает ровно до следующей перезагрузки. Благодаря этой особенности мы можем реализовать модифицированный вариант первого способа, который не потребует перезаписи recovery.
Основная идея здесь остается той же: карта памяти с нужными разделами и модифицированный образ boot-раздела. Однако вместо перманентного размещения boot в разделе recovery применяется следующий трюк. Карта памяти разбивается, и на нее устанавливается нужная система, а в свободное пространство на карте кладется образ boot-раздела этой системы. В самом планшете при этом ничего не меняется, но, если возникает потребность загрузки второй ОС, образ boot-раздела второй системы записывается в раздел boot прямо во время работы Android и происходит перезагрузка. Как результат, в следующий раз система загружает boot-раздел второй системы и, соответственно, загрузка ОС происходит с карты памяти. Для возврата к первой системе применяется обратная операция (запись образа boot первой системы).
Этот способ хоть и не идеален, но достаточно популярен. Однако большинство решений все-таки используют следующую его модификацию.
СПОСОБ НОМЕР 3
ОТКАЗ ОТ КАРТЫ ПАМЯТИ
Способ, предполагающий установку ОС на карту памяти, хорошо работает, но имеет ряд неиллюзорных проблем. Во-первых, смартфон должен иметь слот для этой самой карты, поэтому Nexus-ы и многие другие современныепланшеты и смартфоны сразу оказываются в пролете. Во-вторых, сам факт необходимости форматирования карты памяти отпугивает многих юзеров, особенно тех, кто боится потерять доступ к карте из Windows. В-третьих, при необходимости установки нескольких ОС есть шанс просто запутаться в многообразии разделов на карте.
Для решения этой проблемы можно использовать следующий трюк. В ядре Linux есть механизм, называемый loop-монтированием. Если кратко, он позволяет подключить файловую систему не с реального раздела, а из его образа, записанного в обычный файл. Такая возможность доступна в большинстве ядер для планшетов и смартфонов под управлением Android, и для ее использования достаточно лишь изменить образ boot-раздела (файл fstab) вторичной прошивки так, чтобы перед подключением основных разделов он монтировал карту памяти или раздел /data, в котором хранятся образы раздела прошивки, и затем подключал их, используя механизм loop.
Способ хорош тем, что позволяет установить на планшет или смартфон неограниченное количество прошивок, число которых будет зависеть только от вместимости карты памяти или внутренней памяти устройства. Однако, как и все перечисленные выше методы, он до сих пор зависит от грязного хака с перезаписью раздела boot для загрузки другой прошивки. В результате, если одна из прошивок откажется загружаться, восстановить другую удастся только с помощью загрузки recovery и записи boot-раздела другой прошивки вручную через ADB. Что не очень удобно, а многим просто не по силам.
СПОСОБ НОМЕР 4
KEXEC + ВТОРИЧНЫЙ ЗАГРУЗЧИК
И вот мы подошли к самому правильному и адекватному методу двойной загрузки из всех, что энтузиасты смогли придумать. По сути, это все тот же третий способ, но с одним очень и очень важным дополнением — задействованием механизма kexec вместо перезаписи boot-раздела. Kexec — это одна из функций ядра Linux, которая позволяет загрузить другое ядро, не перезагружая всю систему.
Работает этот метод примерно так. В раздел boot основной прошивки встраивается специальный код, который содержит в себе так называемый вторичный загрузчик. Все дополнительные прошивки устанавливаются на манер предыдущего метода, а информация о местоположении образов их boot-разделов прописывается в настройки загрузчика. Когда пользователь включает смартфон, вторичный загрузчик получает управление и выводит на экран меню с выбором загружаемой прошивки. Юзер тапает по одному из пунктов меню, загрузчик находит boot-раздел выбранной прошивки, извлекает из него и загружает в память ядро и RAM-диск, а затем передает этому ядру управление с помощью kexec. Если же выбрана основная прошивка, загрузка продолжается как обычно.
По сути, это аналог механизма двойной загрузки, который доступен в настольных ПК. Никаких перезаписей boot-раздела (если одна из прошивок перестанет работать, всегда можно перезагрузить планшет или смартфон и выбрать другую), никаких карт памяти, все просто и элегантно. Но даже у этого способа есть две проблемы.
Проблема первая: для корректного обновления основной прошивки нужен специальный recovery, который внедрит в boot-раздел вторичный загрузчик после прошивки обновления. Проблема вторая: дополнительные прошивки до сих пор необходимо модифицировать, то есть изменять файл fstab в их boot-разделах, чтобы они монтировали файловые системы не из разделов NAND-памяти, а из образов, расположенных на карте памяти или в разделе data.
К счастью, и та и другая проблемы уже решены.
MULTIROM
MultiROM — лучшая реализация механизма двойной загрузки из доступных для Android. Система представляет собой реализацию четвертого метода и состоит из трех компонентов: вторичного загрузчика, модифицированного recovery, который позволяет правильно обновлять основную прошивку и устанавливать дополнительные ромы, автоматически модифицируя их для работы в режиме dual boot, и специального инсталлятора в виде Android-приложения, который все это устанавливает.
К сожалению, MultiROM доступен только для Nexus 4, 5 и 7 (обе версии планшета), а также в виде неофициальных портов для НТС One, НТС One X, Galaxy S4 и Droid DNA, поэтому будет полезен только для владельцев данных устройств. В следующем разделе я расскажу о другой реализации механизма dual boot для разных девайсов, а пока рассмотрим, как работает MultiROM и что нужно для его установки.
По сути, все, что требуется, уже есть в приложении MultiROM Manager, доступном в Play Store, но я бы порекомендовал заранее позаботиться об установке кастомного ядра с поддержкой kexec. MultiROM может сделать это и самостоятельно, но прошьет далеко не лучший из имеющихся вариантов. А лучший — это franco. Kernel, который можно установить с помощью приложения franco. Kernel Updater из Play Store. Достаточно иметь установленную консоль восстановления TWRP и ClockworkMod — их можно поставить с помощью GooManager. Также следует сразу озаботиться скачиванием и копированием прошивок, которые мы хотим установить, на карту памяти. Подойдет абсолютно любая прошивка для твоего девайса: сток, CyanogenMod, Paranoid Android, Firefox OS, WebOS…
Итак, после того как мы обзавелись новым ядром (или не обзавелись) и ZIP-архивами с прошивками, запускаем MultiHUM Manager и ждем, пока он проверит наличие своих компонентов в системе. Если ты уже установил ядро, то неустановленными будут только загрузчик MultiROM (первая строка в плашке «Статус установки») и модифицированный recovery (вторая строка). Оба этих компонента можно установить, нажав кнопку «Установить» в плашке «Установка/Обновление» (опции отмечать не надо, приложение уже само поставило нужные галочки).
После этого приложение отправит девайс в перезагрузку, и при загрузке вместо привычного логотипа прошивки ты увидишь экран загрузчика MultiROM. В списке доступных прошивок будет только одна — Internal. Это основная прошивка, для загрузки которой достаточно тапнуть по ее имени. Однако пока загружать прошивку еще рано и необходимо установить дополнительные прошивки. Для этого открываем вкладку Mise в загрузчике и нажимаем Reboot to Recovery.
Теперь на экране должен появиться TWRP, озаглавленный MultiROM TWRR. Это стандартный TWRP с набором функций для установки и управления дополнительными прошивками. Все эти функции находятся в разделе Advanced – MultiROM. Чтобы установить дополнительную прошивку, переходим в этот раздел и нажимаем Add ROM, появится экран выбора опций: тип прошивки (Android, Ubuntu Touch или MultiROM Installer, это для прошивок в формате MultiROM), шаринг ядра между прошивками (всегда следует выбирать «Нет») и тип памяти для установки (внутренняя или карта памяти). Оставляем все как есть и нажимаем кнопку Next, а далее ZIP file.
Появится стандартный диалог выбора файла с прошивкой. Находим один из ранее скачанных ZIP-файлов с прошивкой, тапаем по нему и соглашаемся с прошивкой с помощью свайпа слева направо. В конце нажимаем Reboot и ждем, пока появится экран загрузчика. Теперь в нем должно быть две строки: Internal и имя второй установленной прошивки. Выбираем второй пункт и смотрим, как работает прошивка. Далее снова перезагружаемся и выбираем Internal. Все должно работать как часы.
Вернемся к приложению MultiROM Manager. Кроме установки компонентов MultiROM, он также имеет две другие полезные функции. Первая — возможность быстрой установки Ubuntu Touch (последняя плашка на главном экране). Здесь вообще ничего делать не надо, достаточно нажать «Установить», и приложение само выкачает последнюю версию Ubuntu из Сети и установит ее второй системой. Вторая — возможность переключаться на другую прошивку без необходимости самостоятельно перезагружать устройство и выбирать ее в загрузчике. Просто открываем вкладку «Управл. прошивками», тапаем по нужному пункту и соглашаемся с перезагрузкой. Все просто и удобно.
MultiROM полностью совместим с системами ОТА-обновления стоковых и ка-стомных прошивок. Обновлять по воздуху можно любые установленные прошивки, система сама позаботится об их модификации для работы в режиме dual boot (если речь идет об обновлении дополнительных прошивок) и модифицирует boot-раздел для внедрения вторичного загрузчика (если происходит обновление основной прошивки).
ДРУГИЕ РЕШЕНИЯ
MultiROM — единственное верное и доведенное до ума решение для организации режима dual boot из всех, что я смог найти. Однако это не значит, что других решений не существует вовсе. Они есть, но в большинстве своем представляют собой длинные инструкции, опубликованные на разных форумах, в результате исполнения которых ты получишь механизм двойной (тройной и так далее) загрузки, реализованный по принципу второго метода из начала данной статьи.
Некоторое время назад был популярен проект RomSwitcher, реализующий третий способ двойной загрузки, но, похоже, он окончательно умер, оставив после себя лишь устаревшие порты на несколько разных устройств. В том или ином виде от разных разработчиков он доступен для Galaxy S4, НТС One, Xperia Z и Xperia ZL.
Других сколько-нибудь внятных готовых решений мне найти, к сожалению, не удалось.
ВЫВОДЫ
Загрузка нескольких ОС вполне возможна. Однако для этого необходимо либо иметь девайс, для которого есть поддержка MultiROM, либо уметь модифицировать прошивки. И в том и в другом случае основная прошивка не пострадает, это довольно безболезненный процесс для планшета или смартфона, и бояться его не стоит.
Источник