"Мечтают ли электроовцы о линуксе на телефоне?"
Сказать по правде, после фейла с Ubuntu Phone и той эпичной фигни, которая происходит с SailfishOS, я немного приуныл. Не знаю, как вас, но меня уже давно удручает ситуация, когда я не могу полностью контролировать устройство, которым я пользуюсь большую часть времени.
Я не могу поставить "банерорезку" на системном уровне или поднять dnscrypt. Зарулить часть трафика по wifi, а часть по мобильной сети. Достать тот самый нужный мне файл, доступный только из-под рута. А при открытии загрузчика слетает гарантия, перестает работать бесконтактная оплата и все те "улучшатели" для камеры от производителя. Не могу прописать install
по ssh и через пару секунд получить приложение со всеми нужными патчами.
А когда я вижу те десятки установленных производителем неудаляемых приложений, которые занимают место, жрут батарею, постоянно спамят оповещениями и собирают аналитику — мне становится совсем грустно. Это настоящее, к которому мы пришли. С закрытыми прошивками для железа и взглядом на пользователя только как на источник получения прибыли.
Недавно я на наткнулся на проект, который, возможно, сможет что-то изменить...
DISCLAIMER: автор не связан с проектом, но уточнил у разработчиков некоторые интересующие его моменты, которыми и поделился в статье.
ДЛЯ НЛО (можно убрать): статья в первую очередь о проблемах и непростых решения, которые иногда приходится принимать разработчикам свободных устройств в современном рынке закрытого железа. + немного информации о данном конкретном проекте, которой нет в открытом доступе. Все упоминания о сборе средств (и ссылку на него) я убрал. К качестве референса — статья о Librem 15, которая прекрасно живет на geektimes (там ссылка на краудфандинговую компанию есть, кстати).
Что это?
Librem 5 — смартфон на linux, который будет построен на максимально открытом железе и софте, с уважением к безопасности и приватности. Он пока не существует, но есть уже более-менее проработанный за 1.5 года план, и менее чем через месяц начнется активная разработка.
Кто?
Команда Purism успешно выпустила серию ноутбуков с максимально свободным железом (насколько это сейчас возможно), open source BIOS'ом и своим дистрибутивом linux, который они развивают. Сейчас компания переключила свое внимание на смартфоны.
Железо
Что делает любой адекватный человек открывая статью о новом девайсе? Конечно, пролистывает весь маркетинговый булшит до описания характеристик железки. Дальше будет список с оф. сайта. Почему он такой куцый, я объясню ниже.
- 5″ touchscreen
- i.MX6/i.MX8 CPU
- Vivante GPU (Etnaviv free software accelerated driver)
- Separate mobile baseband
- 3GB LPDDR3
- 32GB eMMC
- MicroSD slot
- Camera (front and back)
- Flash
- Headphone and Microphone Jack (3.5mm)
- Microphone
- Speaker
- Power Button
- Volume Controls
- SIM Slot
- WiFi 802.11
- Bluetooth 4
- Debugging interface (internal)
- USB Host
- USB Type-C
- Battery
- Sensors:
- GPS
- Accelerometer
- Gyroscope
- Compass
- Ambient Light
- Proximity
- Hardware kill switches for:
- Camera
- Microphone
- Baseband
- WiFi/Bluetooth
Отдельный чип мобильной связи
Начнем с неожиданного пункта. Но он повлиял на многие принимаемые далее решения.
Мобильные сети небезопасны. И проблема вовсе не в реализации ПО или неправильной настройки оборудования (хотя и такое сплошь и рядом) — проблема куда глубже и связана с самой архитектурой сети. Десятки различных векторов атаки: начиная от широко известных («проходного двора» SS7, перехвата 2G, ошибок в шифровании 3G/4G) — до специфических хардварных атак на конкретное оборудование.
Ситуация осложняется тем, что большинство мобильных чипов используют бинарную прошивку (firmware) без исходников. А когда это добро еще и физически находится в SoC, работающем с камерой и микрофоном… Кошмар параноика.
Но телефон без мобильных сетей — не телефон. Поэтому самый правильный выход для защищенного смартфона будет в том, чтобы держать чип мобильных сетей как можно более изолировано от всего остального. В Librem 5 используют отдельный от процессора чип мобильной связи. Даже больше: для него будет предусмотрен физический выключатель. Не знаю, что именно разработчики собираются отключать, но, по хорошему, нужно рубить питание, антену и связь с главным процессором.
Кстати, перестаньте использовать SMS для аутентификации и авторизации. Я серьезно. Это небезопасно.
CPU & GPU
Итак, в процессоре не должно быть беспроводной связи. Что еще? Полностью открытые драйвера с хорошей поддержкой OS. Если верить разработчикам Librem 5, из того, что сейчас представлено на рынке, им подошла целая одна (!) линейка SoC — i.MX6 от NXP. Просто муки выбора. Современная реальность открытого железа.
Что же нам достанется из этой линейки процессоров? 2 ядра 32-битного Cortex-A9 1.0 GHz, Vivante GC880 GPU, DDR3 и USB 2.0. Этакий середнячок 5х-летней давности. Не густо, конечно, но для обычного использования должно хватить.
Но мы ведь хотим, чтобы мир пересобирался на нашем gentoo за пару часов, а не за неделю, и сервер, который мы обязательно запустим на этом смартфоне, может и не 10k RPS выжимал, но хотя бы пару десятков пользователей мог обслужить? ;)
К счастью, в начале года NXP презентовала новую линейку процессоров i.MX8, которые могут даже носить гордое звание середнячков этого года. 4 ядра 64-битного Cortex-A53, Vivante GC7000Lite GPU с поддержкой Vulkan, 4kp60, h.265 и VP9, DDR4, USB 3.0-C — с этим уже вполне можно жить, а не существовать. Крипту не помайнишь, конечно, но нам же не для этого? GPU должно потянуть 3D средней тяжести — было бы только что запускать :)
Почему же в характеристиках i.MX6/i.MX8? К сожалению, i.MX8 еще нет. Ходят слухи, что там уже все готово для производства, и до конца года новая линейка выйдет. Часть кастомеров летом получила опытные образцы. И разработчики Librem 5 даже готовы подождать 2-3 лишних месяца, если что. Но пока в качестве страховки i.MX6.
Экран
5 дюймов, минимум HD. В планах поставить FullHD, если будет такая возможность. Как оказалось, трудно заранее на 100% договориться на такую небольшую партию. Когда компания по сбору средств завершится, будет выбран лучший вариант и заключен контракт с поставщиком. От себя добавлю, что для 5 дюймов даже HD не так уж и плохо.
Память
3GB LPDDR3 в варианте с i.MX6, и, возможно, больший объем LPDDR4 для i.MX8-M. 32 GB eMMC и слот для MicroSD.
Wireless
Отдельным чипом Wifi/Bluetooth, физический выключатель — те же самые причины, что и для мобильных сетей.
Камера, навигация, акселерометр, etc.
Все стандартно. Есть две камеры — и хорошо. Стоит обратить внимание только на то, что камеры и микрофон тоже будут иметь физические выключатели. Любители использовать изоленту негодуют.
Батарея
Съемная, больше никакой информации.
Корпус
Металлический, легкий доступ ко всем внутренностям и отладочным портам.
NFC и беспроводная зарядка
Наверняка нет. По крайней мере не для первой версии. Объем работы и так очень большой.
Сканер отпечатка, распознавание по лицу, сетчатке глаза и исполнению «Смооооууук он зэ вооооотэ»
Принципиально нет. Биометрия — такая штука, которую можно использовать и без вашего желания, и сложно поменять после компрометации. В отличие от паролей, которые только у вас в голове. «Начало» — пока только фантастика (я надеюсь).
Врочем, распознавание по исполнению никому не известного трека из заголовка можно будет реализовать самим — все-таки у вас будет полный контроль над телефоном.
Софт
OS
Linux, по умолчанию будет самопальный PureOS (основан на Debian), который используется в ноутбуках компании. Обещают возможность использовать любой дистрибутив, который поддерживает ARM. С напильником, конечно. Выглядит вполне реалистично, учитывая, что загрузчик открыт и все драйвера будут доступны.
Будет ли песочница для приложений? Для PureOS уже есть ядро с GrSecurity, так что наверняка такой механизм будет реализован. Ну и SELinux c AppArmor опять же. Вообщем все, что есть для linux можно будет использовать под конкретный уровень вашей паранои.
Интерфейс и стандартные приложения
Разработчики уже договорились о поддержке со стороны Gnome и KDE комьюнити. Что будет по умолчанию — пока не решено. В планах портировать «джентльменский набор» приложений с оптимизацией под тачскрины. Когда эта работа будет завершена — придет время для более сложных вещей.
Matrix
По умолчанию в качестве децентрализованного безопасного способа коммуникации будет использоваться Matrix.
Сторонние приложения
Как можно раньше станет доступна плата разработчика. В планах предоставить все необходимые SDK, документацию и эмулятор. Планируется поддержка изолированных HTML5-приложений. Есть идеи по мотивации сторонних разработчиков.
Когда?
Начало 2019.
На мое замечание о том, что таймлайн выглядит слегка оптимистичным, Todd Weaver (основатель и CEO проекта) ответил, что согласен, что сроки довольно агрессивные, но заметил, что никто не будет ждать 3 года разработки после краудфандинга. Стратегия в том, чтобы выпустить устройство с минимально необходимым функционалом как можно раньше и развивать проект дальше.
Необходимость и прогнозы
Мне кажется, что Librem 5 очень важен для будущего разработки свободных мобильных устройств. Если проект завершится неудачей — вряд ли в ближайшие несколько лет кто-то решится повторить что-то подобное, вспоминая его и Ubuntu Phone.
Вопрос в свободе. Нужен всего один прецедент, чтобы показать, что такое возможно. А в профессионализме команды проекта я не сомневаюсь — у них уже есть успешный опыт.
Автор: farwayer