Как установить TWRP на Xiaomi с Ubuntu, Linux Mint, elementary OS
В этом посте — очень коротко о том, как установить TWRP Custom Recovery на смартфон Xiaomi с компьютера на Ubuntu, Linux Mint, elementary OS или любом другом дистрибутиве Linux.
Отметим, что данный метод отлично подходит для установки любой из версий TWRP Custom Recovery на любой смартфон или планшет марки Xiaomi.
Процедура установки в любом случае одинаковая и одинаково простая. Единственное условие: предварительно бутлоадер мобильного девайса нужно разблокировать.
как установить TWRP на Xiaomi с Ubuntu, Linux Mint, elementary OS и прочих дистрибутивов Linux
- линк на сайт разработчика — в списке выбираем img-файл для своей модели Xiaomi (только так, другие не подойдут) и качаем его на комп;
- открываем Терминал;
- Xiaomi перезагружаем в режиме fastboot (сначала выключаем, потом зажимаем одновременно кнопки «Питание» и «Уменьшение громкости«, пока на экране не появится эмблемка fastboot);
- в Терминале в указанной очередности вводим следующий набор команд:
- после этого через с помощью USB-кабеля подключаем Xiaomi к компьютеру и в Терминале вводим команду, которая должна отобразить на экране компа уникальный ID мобильного устройства:
- после этого всё готово для установки TWRP Custom Recovery на ваш смартфон (или планшет), запускаем процедуру установки следующей командой (в которой вместо «recovery.img» прописываем точное название скопированного ранее img-файла для модели вашего мобильного устройства):
Процедура установки длится примерно 10 секунд. По факту её завершения отсоединяем мобильный девайс от компьютера и выходим из режима fastboot (для этого нужно нажать и удерживать кнопку «Питание» не менее 15-20 секунд до начала перезагрузки). После перезагрузки устройства в обычный режим процедуру установки TWRP Custom Recovery можно считать успешно завершенной.
Источник
Шьем кастомное рекавери на android через терминал
В сети уйма гайдов по прошивке смартфонов на базе андроид. Но написаны они исключительно под Windows. А это очень тягомотно, как говорится. То драйвера не те, то не встают как надо, то телефон не определяется, то прошивальщик зависает. Эх, винда… В топку её) наш выбор: терминал linux’a.
Сейчас коротко, но доступно расскажу о возможностях терминала линукс при прошивке смартфона на базе android.
Начну с проверенных способов и моделей: zte, xiaomi, meizu, haier, huawei…
Сейчас почти на всех современных смартфонах, по умолчанию заблокирован загрузчик. На старых моделях и версиях андроида, такого не встречалось. Без разблокированного загрузчика мы рискуем получить кирпич, либо пожизненный бутлуп аппарата. Тогда придется нести в СЦ, платить денюжку, а там еще не факт, получится ли у мастеров откачать Ваш аппарат.
ВНИМАНИЕ! Перед какими-либо действиями с Вашим аппаратом, позаботьтесь о создании бэкапа данных и его сохранности на стороннем носителе ( пк, флеш-карта ).
Поэтому первым шагом разблокируем загрузчик на Вашем аппарате. Инфу искал на популярных ныне сайтах: 4pda.ru и xda-developers.com. Там подробно написано, как разблокируется загрузчик на устройствах. Труда найти способ не составит. И так как мне довелось руками разблокировать аппарат ZTE, то по нему и буду делиться опытом. Принцип на остальных аппаратах примерно похож.
Что нам нужно? В первую очередь нужно установить пакеты для работы с андроидом:
Источник
Установка twrp через linux
Есть arch и нежелание ставить windows, но нужно поставить twrp на xiaomi mi a1, через windows всё очень просто: качаю adb, пишу пару команд — профит, а вот через arch как?
Есть желающие помочь тупому нищуку? :c
подобная манипуляция нужна для установки android 9..
Йоканый бабай, ставь adb. Оно есть под linux (уж не отсюда ли оно под винду и перетекло?)
видал, чо я нашел в гугле?
Хз, инструкция есть только для windows и mac
А какая разница под чем adb пускать?)
Есть ли возможность как-то заменить sp flash tool?
Хотел уточнить у спецов, мб есть какие-то нюансы
Оно есть под linux, лично мтк6737 шил под дебианом.
Никаких подводных, главное что бы пк телефон увидел и все.
А если не увидит?
Надо будет настроить тогда. Я тебе нахрена ссылку на арчивики кинул? Чо как не линуксоид?
Не сталкивался с подобным, но спасибо — попробую
Пфф, просто правила udev надо будет сделать. Все в статье очень подробно описано. Ты делай, пробуй. Будут вопросы, приходи и пиши сюда, помогу.
установил android-tools, запустил adb, разблокировал загрузчик — загрузился в fast-boot, запустил adb devices — нет устройств
Боже мой. Какие нахер нюансы? Ведро собирается на линухах, соответственно тулзы изначально были на линух.
В чем проблема поставить android-tools или как у тебя в дистре оно. И сделать так:
Если рач, то ставишь android-udev, делаешь ребут либо reload правил и можешь работать
ADB это android debug bridge
А тебе нужно делать
Потому что режим Fastboot(название за себя говорит) это уже не ведроид. ADB работает только в ведре, для отладки и всего прочего чего тебе не нужно.
На 4PDA почитать можно было как шить рекавери, на линух лишь утилиты поставить и всё.
Я же сказал, важно что бы пк увидел смартфон. Попробуй так прошить, если не получится, значит надо правило udev создавать. Ты статью то читал? Там все написано.
А там разве не одна команда на все? Я вообще шил наугад всегда. Не видит, значит, надо правило udev делать.
adb юзаешь например для чтения логов ведра, adb shell logcat | tee -a ./мои_логги
fastboot это режим для прошивки .img файлов и всякого прочего, а-ля разделы там почистить, сделать анлок.
ADB можно ещё юзать в TWRP, тоесть sideload’ы делать, дабы не заливать прошивку на флешку и т.д, сразу на лету по кабелю
Не видит, значит, надо правило udev делать.
Можно попробовать так:
Если увидит — ставить правила udev, либо оставить так, если не ведроидоразработчик
А, ну я не особо заморачивался. Шьется по команде flash recovery и ладно.
спасибо большое, ставится прошивка, но есть вопрос: я загрузился в twrp: fastboot boot twrp.img, потому что та команда, что выше, выдавала ошибку. Вопрос: после установки прошивки twrp останется?
Нет. boot — загрузить, flash — прошить.
Выхлоп команды flash покажи
ну один нюанс конечно есть, если ты понимаешь
FAILED (remote: partition table doesn’t exist)
На некоторых девайсах может заменяться на стоковой рекавери при первой же перезагрузке
прошей тврп из тврп. там есть пункт «флеш имедж»
Если не разлочен boot то до этого разлочить а сам прооцесс:
Вообще вся разработка Android ведётся из под Linux. Первым делом утилита пишется под Linux, а потом портируется на винду. В случае с adb просто повезло, что и там есть libusb. Вроде он его используется.
Значит надо читать на 4PDA тему девайса и смотреть как шить
Мы из тебя информацию калеными щипцами вытягивать должны? Что за телефон хоть? Загрузчик анлокнутый?
поставил андроид, затем twrp, но поставил так, что теперь стартует рекавери, вместо андроида
Точно также качаешь adb на Linux (с официального сайта Android) или даже ставишь из реп. В отличии от винды драйвера не нужны от слова совсем. Команды выполняешь аналогичные.
Проблемы начинаются, если требуется какая-нибудь фирменная утилита производителя. adb, fastboot к ним не относятся, это стандартные утилиты Android SDK.
В общем: удалось установить кастомную проштвку, но не удалось twrp. Всем спасибо, ребята!
А через что ты ее ставил, лол? Ты же через twrp хотел ее ставить.
fastboot boot twrp, затем отформатировал, переместил прошивку в корень и через install прошил
twrp >3.1 сносят файлик в /system восстанавливающий стоковый рековери.
здесь имя образа рековери своё, но
adb, fastboot к ним не относятся, это стандартные утилиты Android SDK.
но тем не менее, вендорские адб различаются версиями и функционалом. это не раз отмечали на 4пда. вобщем, м.б. неожиданности. как известный пример — fastboot edl )
возьми уроки у lenin386 . вроде как новогодние скидки
Фастбут же , вот вот не все то золото что хвалят , видимо не везде работают такие штуки , а только у тех кто для этого не просто обои с иконками перебирал
Источник
Как установить twrp через linux
Сборка TWRP recovery из исходников
/omni
repo init -u https://github.com/omnirom/android.git -b android-4.4
repo sync
/.bashrc
echo ‘export USE_CCACHE=1’ >>
/omni/device
mkdir -p vendor_name/device_name
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),device_name)
include $(call all-makefiles-under,$(LOCAL_PATH))
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),D10A_HighScreen)
include $(call all-makefiles-under,$(LOCAL_PATH))
$(shell mkdir -p $(OUT)/obj/KERNEL_OBJ/usr)
ifeq ($(TARGET_PREBUILT_KERNEL),)
LOCAL_KERNEL := $(LOCAL_PATH)/kernel
else
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
endif
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/kernel:kernel \
$(LOCAL_PATH)/dt.img:dt.img \
$(LOCAL_PATH)/recovery.fstab:root/recovery.fstab
$(call inherit-product, build/target/product/full.mk)
$(shell mkdir -p $(OUT)/obj/KERNEL_OBJ/usr)
ifeq ($(TARGET_PREBUILT_KERNEL),)
LOCAL_KERNEL := $(LOCAL_PATH)/kernel
else
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
endif
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/kernel:kernel \
$(LOCAL_PATH)/dt.img:dt.img \
$(LOCAL_PATH)/recovery.fstab:root/recovery.fstab
$(call inherit-product, build/target/product/full.mk)
# Inherit device configuration
$(call inherit-product, device/vendor_name/device_name/device_name.mk)
# Device identifier. This must come after all inclusions
PRODUCT_DEVICE := device_name
PRODUCT_NAME := omni_device_name
PRODUCT_BRAND := vendor_name
PRODUCT_MODEL := #модель устройства
PRODUCT_MANUFACTURER := vendor_name
# Inherit device configuration
$(call inherit-product, device/HighScreen/D10A_HighScreen/D10A_HighScreen.mk)
# Device identifier. This must come after all inclusions
PRODUCT_DEVICE := D10A_HighScreen
PRODUCT_NAME := omni_D10A_HighScreen
PRODUCT_BRAND := HighScreen
PRODUCT_MODEL := Boost 2se
PRODUCT_MANUFACTURER := HighScreen
Строка BOARD_FLASH_BLOCK_SIZE это стяните с похожего аппарата, но я не видел другого значения пока что.
# TWRP
HAVE_SELINUX := true
DEVICE_RESOLUTION := # тут пишем разрешение экрана
TW_IGNORE_MAJOR_AXIS_0 := # это смотрим как у похожего аппарата
RECOVERY_GRAPHICS_USE_LINELENGTH := # это смотрим как у похожего аппарата
BOARD_HAS_NO_REAL_SDCARD := # # это если у вас отдельный раздел для внутренней памяти, а не в разделе /data (/data/media)
TW_DEFAULT_EXTERNAL_STORAGE := # это смотрим как у похожего аппарата
TW_INTERNAL_STORAGE_PATH := # тут пишем например «/internal_sd» — эти значения у вас прописаны в recovery.fstab
TW_INTERNAL_STORAGE_MOUNT_POINT := #тогда тут «internal_sd»
TW_EXTERNAL_STORAGE_PATH := #тут пишем «/external_sd»
TW_EXTERNAL_STORAGE_MOUNT_POINT := #тогда тут»external_sd»
# USB Mounting
TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/msm_hsusb/gadget/lun%d/file #вот эту строку ищите сами прогой root explorer проходите по этому пути, у вас может быть по другому.
/omni
. build/envsetup.sh
lunch omni_device_name-userdebug
make -j5 recoveryimage #тут пишем число ядер вашего ЦП +1
В qms с просьбами помочь мне не пишите, всю необходимую инфу я вам дал. Принимаются только пожелания по редактированию. Удачи в сборке рекавери.
По вопросам наполнения шапки, обращайтесь к Куратору темы baddhet в QMS
Сообщение отредактировал baddhet — 03.09.21, 07:08
Сообщение отредактировал baddhet — 11.07.19, 14:47
Я нашёл исходники устройства с таким же процессором(msm8916) в архиве 400МБ. они подойдут чтоб подглядеть?
https://github.com/omn…ble_recovery/issues/18
Сообщение отредактировал coqs — 18.01.15, 22:12
coqs,
На гит хабе глянь что то типо этого — https://github.com/AOKP/device_lge_mako?files=1 это на nexus 4. Найди примерно такое же.
Добавлено 18.01.2015, 22:13:
Потом для примера свой выложу. Через пару деньков.
Вроде вот этот, отличается разрешением и камерой и по моему ещё оперативкой https://github.com/MoK…d_device_huawei_c8817d я всё исходники качаю 411/415. к 2 пункту никак не могу приступить)
Сообщение отредактировал coqs — 18.01.15, 22:37
# device mount point fstype mount_flags fs_mgr_flags
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait
/dev/block/bootdevice/by-name/custpack /custpack ext4 ro,barrier=1 wait
/dev/block/bootdevice/by-name/persist /persist ext4 ro,barrier=1 wait
/dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check
#PR-551802, add flag ‘length’
/dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,length=-16384,encryptable=footer
/dev/block/mmcblk1p1 /storage/sdcard1 vfat nosuid,nodev,barrier=1,data=ordered,nodelalloc wait
/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/bootdevice/by-name/modem /firmware vfat defaults defaults
/dev/block/bootdevice/by-name/sbl1 /sbl1 emmc defaults defaults
/dev/block/bootdevice/by-name/aboot /aboot emmc defaults defaults
/dev/block/bootdevice/by-name/rpm /rpm emmc defaults defaults
/dev/block/bootdevice/by-name/tz /tz emmc defaults defaults
/dev/block/bootdevice/by-name/hyp /hyp emmc defaults defaults
/dev/block/bootdevice/by-name/sec /sec emmc defaults defaults
/dev/block/bootdevice/by-name/splash /splash emmc defaults defaults
/dev/block/bootdevice/by-name/abootbak /abootbak emmc defaults defaults
/dev/block/bootdevice/by-name/rpmbak /rpmbak emmc defaults defaults
/dev/block/bootdevice/by-name/tzbak /tzbak emmc defaults defaults
/dev/block/bootdevice/by-name/sbl1bak /sbl1bak emmc defaults defaults
/dev/block/bootdevice/by-name/hypbak /hypbak emmc defaults defaults
Сообщение отредактировал coqs — 19.01.15, 18:39
Карта есть только она в системе как-то чудно монтируется через /dev/fuse (через этот fuse монтируется usb-otg, sdcard0, и ещё чего-то)
вот этот файлик всё монтирует как-то init.environ.rc.txt ( 1,32 КБ )
т.е. sdcard0 она где-то в /data ext4 /dev/block/bootdevice/by-name/userdata
а точнее по пути /data/media/0
И каким, интересно, макаром её монтировать?=)
usb-otg хрен с ним он не нужен в рекавери.
Сообщение отредактировал coqs — 19.01.15, 20:20
Источник