Прошивка телефона linux
Прошивка телефонов из под Linux
Приветствую. В последнее время часто приходится перепрошивать различные девайсы, однако держать для этих целей винду не могу (негде). Потому назрел вопрос — как шить из пол линукса, если прошивальщик windows-only:
1) запускать через Wine
2) поставить винду в виртуалку и шить оттуда
Какой из этих вариантов надёжнее? Не хотелось бы окирпичить девайсы
Смотря какие чипсеты. MTK можно шить из под линукса легко, MTK droid tools есть для линукса натинвый, квалком тоже легко, fastboot и все, а вот остальное я боюсь windows only. ну или попробуй прокинуть usb в виртуалку.
Какой из этих вариантов надёжнее? Не хотелось бы окирпичить девайсы
Запустить винду не в виртуалке
Запустить винду не в виртуалке
Спасибо, товарищ капитан. Но я ясно написал, что в настоящее время не могу
Про MTK Droid Tools не знал, спасибо
Зависит от девайса.
Для Xiaomi я курил много 4pda, пробовал разные версии разных прошивальщиков запускать в виртуалке — всё фейлилось. А потом я распаковал архив с прошивкой и увидел там sh-скрипт, который замечательно с первого раза всё прошил. Там использовались стандартные андроидовые утилиты — adb, fastboot.
Да, пробросить USB в виртуалку на QEMU-KVM. Ещё момент, когда подключаешь к прошивальщику, может меняться код устройства и надо подключать к виртуалке заново
Линукс есть, а винду в дуалбуте негде держать? Прохладная история.
Тогда из оставшихся вариантов самым надёжным видится виртуалка, причем с пробросом в неё USB контроллера.
Ну или, в зависимости от модели, нативные инструменты, как тот же MTK Droid Tools или fastboot из андроид сдк
Почти все девайсы нонче имеют fastboot. А я вам повторю, что Android даже разрабатывается исключительно под Linux или Mac.
Линукс есть, а винду в дуалбуте негде держать? Прохладная история.
У меня старая мать с BIOS, но Linux установлен на диск с GPT и разделом bios_grub. Винда не хочет устанавливаться рядом
Любую соньку можно спокойно шить Flashtool’ом, если так уж нужен гуй.
А так — я когда-то нокию шил из-под винды XP с проброшенным в VBox USB. Всё живо.
Отдельный винт пробовал?
1) запускать через Wine
Никак не получится. Остается
2) поставить винду в виртуалку и шить оттуда
Хз, я всегда адб прошивал. Я, правда, телефоны очень не люблю и меняю раз в тыщу лет, но пока на говно какое вин онли не попадал.
Отдельный винт решит проблему. Но у меня его пока нет
Что прошивать собираетесь? Если это смартфоны то там можно через ТПВР или как там его. Но сперва нужно его через адб установить.
Т.е. линукс или винда не имеет значения.
По прошивке первый вариант (вайн) вообще отпадает, нафиг тебе кирпичи?
Шил все свои девайсы по много раз, конкретно с андроидом гемора меньше и часто есть прошивальщик под онтопик, венда бывает даже не нужна, если внимательно загуглить.
Под остальные девайсы — один раз гонял и шил кое-что очень важное, накатил венду на отдельный раздел только для этого. Но перестал и поставил её на виртуалку, единственное, я qemu с консоли всегда запускаю, но специально для венды стоит оболочка virt-manager .
В последний раз шил один девайс, он определялся на разных этапах как разные составные устройства, там в 1 клик менюшки прокидывается полностью — проблем вообще никаких не возникло. А прошивок разных кучу попробовал, так что работает отлично 100%.
В основном смарты BQ, Samsung и всякую китайщину вроде Irbis или Digma.
Кастомный рекавери им ставь и оттуда прошивай.
Тоже вариант. Но при наличии этого самого рекавери
Allwinner и Rockchip шьются нативно. Свежие MTK вроде тоже. Остальные хз. Я как-то давно реверсил протокол и сделал прошивальщик за вечер, но не советую.
Самсунги сложно. Мои шьются этим: https://bitbucket.org/benjamin_dobell/heimdall/downloads/ Но говорят это не всегда и не у всех и зависит от многих факторов.
4пда или хда там много добра
Ирбис шил и рутовал описанным мною способом
Для медиатеков еще есть их SP_Flash_Tool_Linux.
А вообще — виртуалка и пробрасывать не USB, а его контроллер (т.е. PCI устройство). Так сразу убираются проблемы с изменением ID.
MTK можно шить из под линукса легко, MTK droid tools есть для линукса натинвый
Мой старый китаец на мтк шился каким-то дерьмом от вендора под оффтопик с дичайшими матюками. И некоторые прошивки в виде exe файлов. Дали даже китайский TWRP возможность поставить, который был кастрирован и шить не умел, вообще глючный какой-то.
Второй. Шил таким образом древний кутек с100, полет нормальный.
В случае вайна может возникнуть косяк, из-за которого аппарат станет кирпичом.
У меня все смартфоны, какие были, шились из под Linux на раз-два через fastboot. Если случай экзотический, то можно загрузиться в TWRP (recovery даже не обязательно прошивать) и накатить прошивку из него.
Ну тут я думаю совсем старый чип мтк. Да, некоторые модели делали укурки а не люди. Но сейчас все стандартизировано стало. Правда телефоны на мтк от lg и sony вроде как не шьются через MDT, только фирменные утилиты под винду.
… пробрасывать не USB, а его контроллер (т.е. PCI устройство). Так сразу убираются проблемы с изменением ID.
О, спасибо Тебе добрый человек
Кстати, да. Прошивал xiaomi под виндой — куча проблем с драйверами, их цифровой подписью, какими-то нелепыми ошибками и прочей ерундой. Решил попробовать прошить под линуксом и был очень удивлен насколько это может быть просто и беспроблемно. Все что нужно ставится за полминуты из штатного репозитория, в целом это на порядок проще и быстрее чем под виндой. Я про fastboot конечно же.
Перепрограммирование смартфона или планшета
Шаг 1 — Настройка
Следующие шаги необходимы чтобы общаться с устройством.
Настройка Touch Developer Preview Tools PPA
The PPA has the tools and dependencies to support Precise, Quantal and Raring. Add the Ubuntu Touch PPA by adding the following custom source list entry to your /etc/apt/sources.list file.
Затем выполните следующие действия:
Шаг 2 — Разблокировка
Если устройство уже разблокировано, приступайте к шагу №3. Этот шаг сотрут все ваши данные на вашем устройстве.
- При выключенном устройстве — включите устройство, удерживая кнопку питания + громкость вверх/вниз.
- Устройство будет загружаться в загрузчик.
- Подключите устройство к компьютеру с помощью кабеля USB.
На компьютере нажмите Ctrl + Alt + T. Напечатайте sudo fastboot oem unlock , а затем нажмите «enter»
Шаг 3 — Первоначальная настройка устройства
- Следуйте следующим шагам на Вашем устройстве:
- загрузите устройство
- Включить отладку USB на устройстве
- on Ice Cream Sandwich (version 4.0) go to Settings and turn on USB Debugging (Settings > System > Developer options > USB debugging).
- on Jelly Bean (versions 4.1 and 4.2) you need to enter Settings, About [Phone|Tablet] and tap the Build number 7 times to see the Developer Options, activate USB Debugging via Settings > Developer options > USB debugging.
on 4.2.2 you will need to accept a host key on the device, if you already had adb installed, do the following
On the workstation-> adb kill-server; adb start-server
- Подключите устройство к комьютеру посредством USB кабеля.
Depending on the installed Android version, a popup will show up on the device with the host key that needs to be accepted for the device to communicate with the workstationSave the version of the current image on the device, if on Android, to use as a reference to revert back to. The version can be found by going to Settings > About Phone > Build Number.
Шаг 4 — Установка прошивки на устройство
Чтобы установить разработчиков Ubuntu сенсорный изображение на вашем устройстве, то вам нужно выполнить следующую команду:
The -b performs a full bootstrap on the device. If the device is already unlocked it will carry on. If you have already bootstrapped once and want to install a daily just do:
Это позволит развернуть последнюю сборку Ubuntu на вашем устройстве. Ваше устройство должно перезагрузиться уже в оболочне Ubuntu Unity.
Замечание — файлы буудт сохранены in Downloads/phablet-flash.
Восстановление Android
Предварительный просмотр Ubuntu может не удовлетворить ваши текущие потребности (пока). Если вы хотите вернуться к заводской (исходной) прошивке Android, выполните следующие действия:
- Recall the version that was installed before flashing.
- Download the factory image corresponding to your device’s model and version (initial table has links).
- Ensure the device is connected and powered on.
- Extract the downloaded file and chdir into the extracted directory.
run adb reboot-bootloader
run ./flash-all.sh (use sudo if lack of permissions on the workstation don’t allow you to talk to the device).
Ваше устройство должно загрузиться Android-ом 🙂 после того, как процесс будет завершен.
Немного о linux
Highlighter
вторник, 7 февраля 2012 г.
Редактирование прошивки android под linux
Писал для 4pda.ru для телефона Samsung GT-I9001 Galaxy S Plus, может, кому будет полезно.
Данное руководство предполагает, что читающий обладает базовыми навыками использования linux (использование консоли, получение прав рута, установка программ, создание/редактирование системных файлов)
Зависимости и UDEV
Сначала нужно установить sun-jdk. Стоит отметить, что оракл недавно менял лицензию, поэтому в основном репозитории его может не быть. Для ubuntu достаточно установить sun-java6-jdk, но, если планирутся пересобирать ядро, то нужно будет установить дополнительные зависимости.
Для 32/64 битной ubuntu нужно выполнить следующее:
Дополнительно, если у вас 64 бита, нужно установить 32х битные библиотеки
Теперь, чтобы у обычных пользователей были права на использование adb, нужно создать соответствующее правило udev
После этого жмём Ctrl+D, чтобы выйти из рутовской сессии.
Создаём своё ядро
Качаем гугловский sdk. Для этого идём на http://developer.android.com/sdk/index.html и качаем версию под linux http://dl.google.com/android/android-sdk_r16-linux.tgz
После этого распаковываем файл
Идём в папку android-sdk-linux/tools и запускаем файл android
И устанавливаем Android SDK Platform tools
После этого появится папка android-sdk-linux/platform-tools, где и находится adb. Для удобства, есть смысл добавить эту папку в PATH, чтобы иметь быстрый доступ к adb (замените путь на свой).
Теперь можно подключать телефон в режиме отладки USB (Настройки — приложения — разработка — включить отладку USB) к компьютеру.
По команде adb devices должен показаться ваш телефон.
Теперь возьмём с телефона текущий конфиг ядра.
Теперь распаковываем его при помощи gunzip и переименовываем в .config (стоит обратить внимание, что файл, начинающийся с точки — скрытый)
Идём на http://opensource.samsung.com и качаем исходники ядра, либо пользуемся git для получения. После этого распаковываем скачанный архив и копируем туда наш файл .config.
Теперь нам нужен тулчейн для сборки под arm. Для ubuntu можно скачать отсюда, затем распаковать.
В gentoo можно воспользоваться командой crossdev —target arm-none-linux-gnueabi.
Открываем Makefile и ищем там переменную CROSS_COMPILE и заменяем значение на тот путь, где находится наш распакованный (или установленный тулчейн). У меня этот путь
Теперь обычным make -jX, где X — число процессоров(ядер)+1 собираем ядро. Если собралось, то Вы — молодец. Можно накладывать патчи и что-то менять в ядре.
После сборки ядро находится Kernel/arch/arm/boot/zImage.
Сначала при помощи CWM нужно сделать бэкап прошивки.
После этого идём на https://github.com/dsixda/Android-Kitchen/archives/master и качаем кухню. Samsung GT-I9001 поддерживается с версии 0.182.
Качаем, распаковываем.
Копируем файлы, полученные при бэкапе из CWM в папку original_update.
Запускаем кухню
Выбор осуществляется вводом цифр/букв, которые написаны в начале строки.
Устанавливаем рабочий каталог, добавляем busybox. Затем жмём 0 и заходим в advanced options — тут можно сделать деодекс прошивки. Это нужно для того, чтобы можно было изменять файлы прошивки. Также стоит включить поддержку /etc/init.d.
После всего этого можно заняться кастомизацией интерфейса. Это делается очень просто — идём на http://uot.dakra.lt/kitchen/, выбираем, что нам нужно сделать и через некоторое время получаем готовую прошивку. Единственное, на что стоит обратить внимание — в пункте File Upload нужно выбрать:
update-binary — Type Galaxy
Upload system files — заливаем framework-res.apk, SystemUI.apk, twframework-res.apk.
После этого жмём submit и ждём, когда модификации будут готовы.
На выходе мы получаем zip-файл, который можно прошить через CWM. Но можно вынуть файлы из архива и скопировать их в нашу распакованную прошивку. Она находится в папке WORKING_число_число.
Установка нового ядра
Выбираем 20 — Tools for boot image (unpack/re-pack/etc.), затем распаковываем boot.img. У нас появится папка BOOT-EXTRACTED, где находится ядро и распакованный рамдиск, где можно подредактировать загрузочные скрипты и параметры. Делаем Build boot.img from BOOT-EXTRACTED folder (for working folder) и после этого можно собирать прошивку.
В результате у нас готов подписанный архив, который можно ставить из recovery.
Примечание 1. У меня нету под руками ubuntu, поэтому с именами пакетов мог ошибиться. Все остальные действия не сильно зависят от используемого linux.
FlashTool — Прошивка телефонов на базе Android
> <()MR|<
Эксперт
Популярность: +57 (59)
Имя: Дмитрий
Возраст: 28
С нами с: 07.04.2007
Сообщений: 1373
Откуда: H.Hовгород
Модель телефона: K510i-трупик; X10 mini pro
Сайт разработчика
FlashTool (авторы: Androxyde, Bin4ry) — многофункциональная программа для работы с телефонами на базе Android.
- Прошивка оригинальным ПО (Android 1.6, 2.1, 2.3 прошивки)
- Получение Root прав
- Установка Recovery, Busybox, модифицированных ядер
- Очистка памяти (удаление программ из /system/apps по выбору)
- Очистка кэша виртуальной машины dalvik
- Оптимизация (установка JIT v2) (только для Android 2.1)
- Кустомизация (установка приложений из custom/apps в папке с flashtool)
- Очистка неполностью удаленных приложений
- Редактирование любых текстовых файлов на устройстве
- Разблокировка загрузчика
Инструкция по установке
Для пользователей Windows:
1. Устанавливаем прошивочные драйвера
2. Скачиваем Flashtool для Windows с сайта.
3. Запускаем установщик
Для пользователей Linux:
1. Скачиваем и распаковываем архив для Linux с сайта.
2. Проверяем, установлена ли библиотека libusb-1.0. Для 64-битной системы должны быть установлены 64-битная и 32-битная версии.
3. Добавляем следующие правила в /etc/udev :
Инструкция по прошивке
Внимание! Все нижеописанные операции с телефоном Вы производите на свой страх и риск. Ни автор руководства, ни авторы программы не несут ответственности за возможный ущерб.
1. Помещаем образ для прошивки в папку firmwares, находящуюся в папке с программой
2. Запускаем Flashtool и нажимаем кнопку Flash
3. Выбираем режим прошивки Flashmode
4. Выбираем прошивку из списка , по желанию можно отключить прошивку ядра или радиомодуля или не удалять пользовательские данные/приложения/кэш.
5. Нажимаем OK и ждем, пока появится окно с наглядной инструкцией.
Подключаем телефон в режиме прошивки (с нажатой механической клавишей «Назад» для X8/W8/X10 mini (pro)/X10, «Меню» для arc, arc S, neo, neo V, pro, «Поиск» для PLAY, «Громкость вверх» для mini, mini pro, ray, active, «Громкость вниз» для Live with Walkman, Sony (все?) Tipo)
6. Ждем окончания прошивки. После того как прога напишет:
Отключаемся от ПК, включаем телефон и радуемся
Для остальных операций необходимо подключить телефон к компьютеру в режиме отладки по USB и выбрать соответствующую операцию в окне Flashtool(установка JIT и разблокировка загрузчика находятся в меню Plugins и появляются только после подключения телефона для некоторых моделей.)
— для получения Root прав.
— для удаления приложений
— для установки apk
— для установки Recovery
— для установки модифицированного ядра
_________________
Редко ошибешься, если исключительные поступки будешь объяснять тщеславием, посредственные – привычкой и мелкие – страхом. (Фридрих Ницше)
Последний раз редактировалось: Dimmu (Пт Дек 14, 2012 20:36), всего редактировалось 2 раз(а)
Neputin
Зелёный
Популярность: 0 (0)
Возраст: 43
С нами с: 28.11.2010
Сообщений: 2
Модель телефона: K750i>W995i
Сборка собственной Android-прошивки, часть 1/3
Оригинал: How to build Android ROM Part 1/3
Автор: Masc
Дата публикации: 6 марта 2017 г.
Перевод: А.Панин
Дата перевода: 28 марта 2017 г.
Разработка Android-прошивок — настройка рабочего окружения
Нередко мобильные устройства поставляются с неоптимизированными прошивками от производителя, которые после непродолжительного использования начинают работать медленно и нестабильно. Многие сталкивающиеся с таким поведением прошивок люди ищут стандартные решения в сети, при этом некоторые из них собирают собственные прошивки для своих устройств.
Это первая из трех статей серии, в которой я постараюсь описать максимально понятным языком процесс самостоятельной сборки Android-прошивки для вашего устройства.
Если вы хотите собирать Android-прошивки, вам понадобится установленный на компьютере Linux-дистрибутив, ну а если вы не можете выделить отдельный компьютер для этих целей, вы вполне можете обойтись виртуальной машиной с Linux-системой.
Я буду использовать дружелюбную систему Ubuntu 16.04, что рекомендую и вам.
Требования
- Дистрибутив Linux
- Как минимум 200 ГБ свободного пространства на жестком диске или твердотельном накопителе
- Мощный компьютер с как минимум 4 ГБ оперативной памяти и производительным четырехядерным центральным процессором
- Качественное соединение с сетью Интернет на скорости как минимум 600 КБ/с
Если у вас есть все необходимое, можно начинать работу.
Все приведенные в данной статье команды должны исполняться с помощью приложения Терминал и, разумеется, я не буду повторять это после каждой команды.
Если в вашей системе не установлена виртуальная машина Java, вы можете выполнить следующую команду для ее установки вместе со всеми библиотеками:
Сборочный инструментарий
Выполните следующую команду для установки сборочного инструментария (ее исполнение может занять достаточно много времени в зависимости от скорости вашего Интернет-соединения):
Не догадываетесь, что это такое? Ну, это важный инструмент, необходимый для соединения с серверами и загрузки исходных кодов, которые понадобятся впоследствии. Его название происходит от слова «репозиторий», обозначающего централизованное хранилище определенных ресурсов. В нашем случае в этом хранилище хранятся исходные коды всех программных компонентов, которые будут компилироваться и добавляться в создаваемую прошивку.
Выполните следующую команду для для установки описанного инструмента в свою систему:
CCACHE
Это полезная утилита, которая используется для кэширования бинарных файлов и позволяет сократить время компиляции (примерно на 50%).
Для ее инициализации следует выполнить следующую команду:
Разумеется, вместо приведенного значения вы должны указать количество свободных гигабайт на своем жестком диске.
Для ознакомления с статистикой кэширования следует использовать следующую команду:
Для удаления файлов кэша — следующую команду:
Настройка рабочего окружения почти закончена — осталось открыть файл bash.rc:
Теперь следует перейти к последней строке этого файла и вставить в него следующие строки:
Наконец, следует закрыть текстовый редактор и выполнить следующую команду для применения изменений:
Пришло время перезагрузить систему.
А это две следующие статьи серии, описывающие процесс сборки прошивки!