Flash phone with linux

Устанавливаем Flash Tool в Linux для прошивки смартфонов

Некоторые пользователи своих девайсов предпочитают перепрошить свой смартфон на Android кастомной прошивкой, самая популярная прошивка – LineageOS. В подавляющем большинстве прошиваются смартфоны в Windows, но, сегодня мы разберемся как прошить ваш девайс в Linux с помощью утилиты Flash Tool. Данная утилита прошивает Android смартфоны работающие на процессоре MTK. Утилита Flash Tool является одной из самых популярных утилит в своем роде, установить ее можно так же и в операционной системе Linux, все действия мы будем выполнять в Ubuntu 20.04, но, инструкция подойдет и для всех производных от Ubuntu, как вариант Pop OS, Linux Mint и так далее. Насчет Fedora и других RPM ориентированных систем, ничего сказать не могу, так как не проверял.

P.S. Все действия которые вы совершаете с телефоном, выполняются на ваш страх и риск. За не рабочий аппарат, в результате всех описанных действий в данной статье автор ответственности не несет. Данная инструкция проверена на телефоне Blackview BV5800, прошивался сей девайс в Ubuntu 20.04, а точнее в Kubuntu.

Подготовительный этап

Первым делом необходимо скачать саму утилиту Flash Tools для Linux, рекомендую скачивать именно с 4pda, а не с левых сайтов. Так же, если вдруг по какой-то причине 4pda не доступен, то Flash Tool версий 5.2020, 5.2016, 5.2012 вы можете скачать по ссылке ниже:

И так, после того как вы скачали архив с утилитой Flash Tool, его необходимо распаковать, предполагается, что вы его скачали в директорию загрузки и туда же распаковали.

Установка зависимостей и запуск FlashTool

Теперь необходимо открыть терминал, перейти в директорию с распакованным FlashTool и дать права на исполнение файлам flash_tool, flash_tool.sh, выполнив команды:

Как перемещаться по директория в терминале вы можете прочесть в этой статье.

Следующим шагом добавляем вашего пользователя в группу uucp, это делается для получения прав на запись в виртуальный COM-порт. Я буду добавлять пользователя “cyber-x”, вы же замените данное имя на имя вашего пользователя:

Когда все выше описанные действия сделаны, необходимо выйти из системы и снова зайти, либо, как вариант, перезагрузить компьютер. Следующем этапом будет установка пакета “51-android.rules”, данный пакет можно получить с GitHub. Это делается для того, что бы ваш Android девайс определился в системе Linux COM-порту. Для получения с GitHub мы воспользуемся утилитой git и клонируем данный репозиторий, предварительно сменив директорию на домашнюю, выполнив команду “cd”:

Если вдруг у вас не установлена утилита “git”, то выполните команду “sudo apt install git”.

Заходим в директорию “android-udev-rules” и тут нам нужно скопировать файл под названием “51-android.rules” в директорию вашей системы “/etc/udev/rules.d/”, копировать мы будем командой “cp”, о которой вы можете прочесть тут. И так, переходим в директорию и копируем данный файл, копировать необходимо с правами root пользователя:

Далее перезагружаем правила udev командой:

Выключаем ваш Android девайс и в выключенном состоянии подключаем его к компьютеру под управлением Linux. Нам необходимо, что бы телефон определился в системе, для этого выполним команду:

В конце вывода полученных данных должно быть примерно следующее, тут главное ttyACM0, если это значение имеется, значит все OK:

Возвращаемся к Flash Tool и запускаем из терминала скрипт от имени root пользователя выполнив команду:

Читайте также:  Лучшие браузеры для линукс минт

Перед началом прошивки в утилите необходимо выставить настройки, заходим в Options- Download и ставим галочки напротив всех 2-х пунктов:

В строке “Scatter-loading File” указываем путь к scatter файлу, который прилагается к прошивкам. Выбираем один из режимов – Download Only или Firmware Upgrade и нажимаем кнопку Download:

Режим Download Only (прошивка без потери данных) – снимаем галочки с Preloader и Userdata в Flash Tool, при этом произойдёт обычное обновление прошивки. Если оставить галочку на пункте Userdata – все пользовательские данные будут стерты.
Режим Firmware Upgrade (прошивка всех разделов), при этом IMEI не слетает, используется в случае, если хотите получить чистый Android смартфон с новой прошивкой.

Заключение

Прошивка телефонов – рисковое занятие, при неправильно выбранной прошивке можно получить неработоспособный телефон. Зачем вообще прошивают телефоны? Хотя бы для того, что бы получить кастомную прошивку, или получить root права на телефоне.

Данная инструкция лишь воссоздает все действия, которые я проделывал прошивая свой Android смартфон в Linux, основана она на инструкции взятой с 4pda. Более подробно о работе с утилитой Flash Tool читайте все на том же форуме перейдя по ссылке.

Что касаемо остальных дистрибутивов Linux, то вероятней всего данную инструкцию придется адаптировать, в зависимости от вашего дистрибутива Linux. А так как я пользуюсь Kubuntu и Pop OS, то с уверенностью могу сказать, что все описанные действия работоспособны.

В любом случае читайте внимательно инструкцию которая прилагается к прошивке, так как в данной статье основной упор был сделан исключительно на установку Flash Tool в операционной системе Linux. Безусловно, перепрошить телефон в Linux можно и без Flash Tool, но, с ней это сделать намного удобней.

А на этом сегодня все, надеюсь, данная статья будет вам полезна.
Хотелось бы выразить огромную благодарность тем, кто принимает активное участие в жизни и развитии журнала, огромное спасибо вам за это.
Журнал Cyber-X

Источник

Librem 5 — мечты о защищенном смартфоне на линукс

«Мечтают ли электроовцы о линуксе на телефоне?»

Сказать по правде, после фейла с Ubuntu Phone и той эпичной фигни, которая происходит с SailfishOS, я немного приуныл. Не знаю, как вас, но меня уже давно удручает ситуация, когда я не могу полностью контролировать устройство, которым я пользуюсь большую часть времени.

Я не могу поставить «банерорезку» на системном уровне или поднять dnscrypt. Зарулить часть трафика по wifi, а часть по мобильной сети. Достать тот самый нужный мне файл, доступный только из-под рута. А при открытии загрузчика слетает гарантия, перестает работать бесконтактная оплата и все те «улучшатели» для камеры от производителя. Не могу прописать install по ssh и через пару секунд получить приложение со всеми нужными патчами.

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

Недавно я на наткнулся на проект, который, возможно, сможет что-то изменить.

UPDATED: Почти наверняка будет использован i.MX8M и FullHD экран. Ура!
UPDATED2: За 5 дней были собраны недостающие 500k из $1.5M. $300k из них — корпоративные заказы. До конца компании остается еще 2 недели. Хороший ответ тем, кто говорил «не нужно».

DISCLAIMER: автор не связан с проектом, но уточнил у разработчиков некоторые интересующие его моменты, которыми и поделился в статье.

ДЛЯ НЛО (можно убрать): статья в первую очередь о проблемах и непростых решения, которые иногда приходится принимать разработчикам свободных устройств в современном рынке закрытого железа. + немного информации о данном конкретном проекте, которой нет в открытом доступе. Все упоминания о сборе средств (и ссылку на него) я убрал. К качестве референса — статья о Librem 15, которая прекрасно живет на geektimes (там ссылка на краудфандинговую компанию есть, кстати).

Читайте также:  Microsoft windows 10 enterprise 2016 ltsb 14393

Что это?

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 средней тяжести — было бы только что запускать 🙂

Читайте также:  Сканирование диапазона портов linux

Почему же в характеристиках 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 и беспроводная зарядка

Наверняка нет. По крайней мере не для первой версии. Объем работы и так очень большой.

Сканер отпечатка, распознавание по лицу, сетчатке глаза и исполнению «Смооооууук он зэ вооооотэ»

Принципиально нет. Биометрия — такая штука, которую можно использовать и без вашего желания, и сложно поменять после компрометации. В отличие от паролей, которые только у вас в голове. «Начало» — пока только фантастика (я надеюсь).
Врочем, распознавание по исполнению никому не известного трека из заголовка можно будет реализовать самим — все-таки у вас будет полный контроль над телефоном.

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.

Вопрос в свободе. Нужен всего один прецедент, чтобы показать, что такое возможно. А в профессионализме команды проекта я не сомневаюсь — у них уже есть успешный опыт.

Источник

Оцените статью