Есть в нашей жизни некоторые устоявшиеся стереотипы, которые на практике почти никогда не подтверждаются, но все в них продолжают упорно верить. Одним из таких стереотипов является утверждение о том, что операционная система Windows более дружелюбна к пользователю и многие вещи в ней делать намного проще. Вот и я недавно стал заложником этого стереотипа. Не надолго, правда.
Итак возникла необходимость прошить телефон на базе процессора Qualcomm. У этих процессоров есть низкоуровневый режим EDL для прошивки. После изучения интернетов было выяснено, что прошивка делается через программу QFIL работающую естественно только из одной ОС. Также стало известно, что под Linux существует небольшая консольная программка работающая по протоколу EDL называется она QDL, ну и вводящие в заблуждение комментарии на ЛОРе о том, что не стоит с этим связываться на Linux-е и проще, и быстрее поставить в Virtualbox винду и пробросить USB порт, что я и начал делать, но вскоре пожалел об этом. Инструкции, как таковой, для этого действия нету и приходилось по кусочкам её искать в разных местах. Если быть кратким то действия для прошивки можно свести к следующим пунктам:
- Выключить проверку подписи драйвера
- Установить драйвер
- Установить программу
- Ну и прошить телефон
Под Linux необходимых действий оказалось меньше.
- Установить программу
- Прошить телефон
Установка
libxml2
и libudev
.sudo apt install fastboot libxml2-dev libudev-dev git build-essentials make
git clone https://git.linaro.org/landing-teams/working/qualcomm/qdl.git
cd qdl
make
ModemManager
.sudo systemctl stop ModemManager
Прошивка
Теперь приступим к прошивке. Скачиваем и распаковываем архив с прошивкой (глобальная версия Flyme OS 6.1.4.0G прикреплена внизу статьи).
./qdl —debug —storage <storage_type> --include <firmware_dir> <prog.mbn> <rawprogram.xml> <patch.xml>
./qdl --debug --storage emmc --include /path/to/unpacked_firmware /path/to/unpacked_firmware/prog_emmc_firehose_8953_ddr.mbn
/path/to/unpacked_firmware/rawprogram_unsparse.xml
/path/to/unpacked_firmware/patch0.xml
lsusb
) должен появится телефон Qualcomm с id оканчивающимся на 9008. После чего начнётся прошивка которая будет длится около 10 минут и окончится перезагрузкой в работающую систему.