Устанавливаем 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, выполнив команды:
chmod +x flash_tool
chmod +x flash_tool.sh
Как перемещаться по директория в терминале вы можете прочесть в этой статье.
Следующим шагом добавляем вашего пользователя в группу uucp, это делается для получения прав на запись в виртуальный COM-порт. Я буду добавлять пользователя “cyber-x”, вы же замените данное имя на имя вашего пользователя:
sudo gpasswd -a cyber-x uucp
Когда все выше описанные действия сделаны, необходимо выйти из системы и снова зайти, либо, как вариант, перезагрузить компьютер. Следующем этапом будет установка пакета “51-android.rules”, данный пакет можно получить с GitHub. Это делается для того, что бы ваш Android девайс определился в системе Linux COM-порту. Для получения с GitHub мы воспользуемся утилитой git и клонируем данный репозиторий, предварительно сменив директорию на домашнюю, выполнив команду “cd”:
cd git clone https://github.com/M0Rf30/android-udev-rules.git
Если вдруг у вас не установлена утилита “git”, то выполните команду “sudo apt install git”.
Заходим в директорию “android-udev-rules” и тут нам нужно скопировать файл под названием “51-android.rules” в директорию вашей системы “/etc/udev/rules.d/”, копировать мы будем командой “cp”, о которой вы можете прочесть тут. И так, переходим в директорию и копируем данный файл, копировать необходимо с правами root пользователя:
cd android-udev-rules sudo cp -r 51-android.rules /etc/udev/rules.d/
Далее перезагружаем правила udev командой:
sudo udevadm control --reload-rules
Выключаем ваш Android девайс и в выключенном состоянии подключаем его к компьютеру под управлением Linux. Нам необходимо, что бы телефон определился в системе, для этого выполним команду:
В конце вывода полученных данных должно быть примерно следующее, тут главное ttyACM0, если это значение имеется, значит все OK:
cdc_acm 1-1:1.1: ttyACM0: USB ACM device usb 1-1: USB disconnect, device number 77
Возвращаемся к 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
AnLinux: простой способ установить Linux-окружение на Android-телефон без рута
Любой телефон или планшет, работающий на Android, — это устройство, которое управляется ОС Linux. Да, очень модифицированной ОС, но все же основа Android — ядро Linux. Но, к сожалению, для большинства телефонов опция «снести Android и поставить дистрибутив по своему вкусу» недоступна.
Поэтому, если хочется Linux на телефоне, приходится покупать специализированные гаджеты вроде PinePhone, о котором мы уже писали в одной из статей. Но есть еще один способ получить Linux-окружение практически на любом смартфоне, причем без root-доступа. Поможет в этом инсталлятор, который называется AnLinux.
Что такое AnLinux?
Это специализированное ПО, которое дает возможность использовать Linux на телефоне при помощи монтирования образа, содержащего root-файловую систему любого из дистрибутивов, включая Ubuntu, Kali, Fedora, CentOS, OpenSuse, Arch, Alpine и многих других. Инсталлятор использует PRoot для эмуляции root-доступа.
PRoot перехватывает все выполняемые пользователем вызовы, которые требуют в обычной ситуации root-доступа, и обеспечивает их работоспособность в обычных условиях. В PRoot используется системный вызов ptrace для отладки ПО, который помогает достичь цели. С PRoot все это можно сделать как с chroot, но без root-прав. Кроме того, PRoot предоставляет фейковый доступ пользователю для пседвофайловой системы.
AnLinux — небольшая программа. Но этого достаточно, ведь единственное ее предназначение — установка образов систем и запуск скриптов, поднимающих пользовательское окружение. Когда все сделано, пользователь получает вместо смартфона Linux-ПК, причем Android продолжает работать на фоне. Подключаемся к устройству при помощи VNC-вьювера или терминала, и можно работать.
Конечно, это не идеальный вариант «завести» Linux на смартфоне, но он вполне рабочий.
С чего начать?
Основное — Android-смартфон с версией ОС не ниже Lollipop. Кроме того, пойдет и 32-битное или 64-битное ARM или x86-устройство. Кроме того, потребуется солидный объем свободного файлового пространства. Для этого можно использовать карту памяти или просто устройство с большим объемом внутренней памяти.
- AnLinux (вот ссылка на Google Play).
- Termux (снова понадобится Google Play).
- VNC Client (VNC Viewer — хороший вариант).
- Bluetooth-клавиатура (опционально).
- Bluetooth-мышь (опционально).
- HDMI кабель для мобильного телефона (опционально).
Что же, приступим
Как только установлен Termux, получаем полноценную консоль. Да, рута нет (если телефон не рутован), но ничего страшного. Следующий шаг — установка образа для дистрибутива Linux.
Теперь нужно открыть AnLinux и затем — выбрать Dashboard из меню. Всего есть три кнопки, но выбрать можно лишь одну, первую. После этого появляется меню выбора дистрибутива. Можно выбрать даже не один, а несколько, но в этом случае понадобится большой объем свободного файлового пространства.
После выбора дистрибутива активируются две другие кнопки. Вторая позволяет загрузить в буфер обмена команды, необходимые для загрузки и установки Linux. Обычно это pkg, wget команды и скрипт для их выполнения.
Третья кнопка запускает Termux, так что команды можно вставлять в консоль. Как только все сделано, запускается скрипт, позволяющий загрузить окружение дистрибутива. Для вызова дистрибутива нужно каждый раз запускать скрипт, но установку проводим только один раз.
А что с графической оболочкой?
Если она нужна, то следует лишь выбрать меню для десктопного окружения и использовать больше кнопок — появится не три, а больше. Кроме самого дистрибутива, нужно выбрать еще и оболочку, например, Xfce4, Mate, LXQt или LXDE. В целом, ничего сложного.
Потом кроме скрипта, который запускает дистрибутив, потребуется еще один — он активирует сервер VNC. В целом, весь процесс простой и понятный, он вряд ли способен вызвать затруднения.
После запуска сервера VNC подключаемся со стороны клиента, воспользовавшись вьювером. Требуется знать порт и localhost. Все это сообщает скрипт. Если все сделано правильно, то пользователь получает доступ к своей виртуальной Linux-системе. Производительность современных телефонов на высоте, так что особых проблем не будет. Конечно, вряд ли смартфон сможет полностью заменить десктоп, но, в целом, все это работает.
Этот способ может пригодиться, если вдруг нужно срочно подключиться к серверу, а вы в машине, без ноутбука (конечно, в этом случае все описанные выше операции с AnLinux уже должны быть выполнены). Виртуальная Linux-машина позволяет подключиться к рабочему или домашнему серверу. А если в автомобиле по какой-то причине оказался дисплей и беспроводная клавиатура, то за считанные секунды в салоне можно организовать рабочий кабинет.