- О второй операционной системе в каждом мобильном телефоне
- Одновременная работа нескольких Android на одном устройстве
- Как установить на одном Android устройстве несколько ОС или прошивок
- Установка MultiROM
- Как переключаться между операционными системами или прошивками
- Как установить Ubuntu Touch
- Как установить кастомные прошивки и другие ОС
- Как удалить установленные прошивки
- Простой способ установки второй операционной системы на телефон
О второй операционной системе в каждом мобильном телефоне
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 на одном устройстве
Компания 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 устройстве несколько ОС или прошивок
Устройства линейки 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
Источник
Простой способ установки второй операционной системы на телефон
Системный администратор сети MiSNet
В отличие от мобильных устройства, пользователями стационарных компьютеров и даже ноутбуков давно практикуется использование двух операционных систем на одном устройстве. А ведь с сегодняшними аппаратными параметрами смартфонов вполне возможно установить, к примеру, Android Lollipop вдобавок к 10/11. Сегодня разберем, замедлит ли это смартфон и что это дает.
Для начала статистика – на среднем смартфоне (Mi 9T, например) производительность второй системы ниже примерно на 10%, если брать отношение к стоковой системе. И это при том, что две полноценные системы работают одновременно, но, конечно, можно и перевести вторую ОС в спящий режим. К слову, для работы второй системы не нужны права ROOT, а требования к устройству следующие: для второй системы отводится минимум 750 Мб оперативной памяти (только система), ЦП должен быть 4-ядерным, общая ОЗУ смартфона – не меньше 3 Гб.
Зачем может понадобиться вторая система на телефоне? Для выбора второй ОС сами разработчики программы рекомендуют Android 5.1.1. Это объясняется тем, что именно эта версия хорошо совместима с более старыми версиями. Ведь основная цель не поменялся от ПК – запуск несовместимых программ. Те приложения, которые не работают на Android 9/10/11, точно будут работать на 5 версии. Также можно использовать две системы в качестве мультиаккаунта или своеобразного семейного режима с несколькими пользователями. К слову, в зависимости от мощности аппарата, но в среднем переключение между версиями происходит не более, чем за 5 секунд.
Утилита, позволяющая это сделать – VMOS. Она распространяется бесплатно, но с установленным Android 5.1.1, для использования других систем нужна VMOS Pro, где можно установить любую версию и сборку. Да и требуется полная версия только разработчикам для тестов приложений на старых смартфонах. Загрузить утилиту можно с официального сайта, после и во время установки обязательно выдайте все разрешения. Установки ее не отличается от установки любого стороннего приложения: загружаем с интернета APK-файл, запускаем, устанавливаем, выдаем разрешения и ждем. А ждать придется долго, все-таки это фактически установка второй ОС. Далее входим в Google аккаунт и все.
Источник