Morfitronik

Android: Wgrywanie update.zip przez ADB sideload via TWRP recovery

Spis tre艣ci

Po uszkodzeniu jednego z moich smartfon贸w TP-LINK i skasowaniu na nim wszystkich danych na partycji /system/ trzeba by艂o pomy艣le膰 nad przywr贸ceniem tego urz膮dzenia do 偶ycia. Jednym z rozwi膮za膰 by艂o binarne wgranie obrazu systemowej partycji bezpo艣rednio na flash przy pomocy narz臋dzia dd. Co jednak w przypadku, gdy nie mamy dost臋pu do backup'u lub tez zwyczajnie go nie zrobili艣my? Co w takiej sytuacji uczyni膰 i czy jest jaka艣 nadzieja dla naszego telefonu? Odpowied藕 jest naturalnie twierdz膮ca ale wymagane s膮 dwie rzeczy: dzia艂aj膮cy tryb recovery (najlepiej TWRP) ze wsparciem dla trybu "ADB sideload" oraz paczka update.zip z firmware, kt贸r膮 mo偶na pobra膰 bezpo艣rednio ze strony TP-LINK/Neffos. By ul偶y膰 nieco osobom, kt贸re do mnie pisz膮 z zapytaniem o pomoc w przypadku skasowania danych na partycji /system/ (czy uszkodzenia jej w jaki艣 spos贸b), postanowi艂em napisa膰 kr贸tkie howto na temat u偶ywania trybu ADB sideload. W tym artykule w rolach g艂贸wnych we藕mie udzia艂 Neffos Y5 ale bez problemu mo偶na te kroki przeprowadzi膰 chyba na ka偶dym innym smartfonie.

Objawy usuni臋cia danych z partycji /system/

Usuwaj膮c dane z partycji /system/ pozbawiamy nasz telefon praktycznie ca艂ego oprogramowania. Taki smartfon nie mo偶e dzia艂a bez Androida czy innego systemu operacyjnego i w zasadzie urz膮dzenie resetuje si臋 co oko艂o minut臋 po w艂膮czeniu.

adb-sideload-update-zip-firmware-tp-link-neffos-twrp-usuniety-system

W takim stanie po w艂膮czeniu smartfona, na ekranie mo偶na zobaczy膰 jedynie loga TP-LINK i Androida. Natomiast w logu systemowym mojego Debiana mo偶na zaobserwowa膰 poni偶sze komunikaty:

kernel: usb 2-1.1: new high-speed USB device number 7 using ehci-pci
kernel: usb 2-1.1: New USB device found, idVendor=2357, idProduct=0328
kernel: usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 2-1.1: Product: Android
kernel: usb 2-1.1: Manufacturer: Android
kernel: usb 2-1.1: SerialNumber: 90169635
kernel: usb 2-1.1: USB disconnect, device number 6

Gdy dane z partycji /system/ zosta艂y usuni臋te, to nie damy rady wgra膰 nic na smartfon przy pomocy narz臋dzia fastboot . Dlatego w艂a艣nie wymagany jest dzia艂aj膮cy tryb recovery. Je艣li ten r贸wnie偶 z jakiego艣 powodu nie dzia艂a, to niestety uwalili艣my telefon na dobre i trzeba b臋dzie go odes艂a膰 do serwisu.

Dzia艂aj膮cy TWRP recovery z trybem ADB sideload

Dla os贸b, kt贸re nie wiedz膮 czym jest ADB sideload, wyja艣niam, 偶e jest jeden z tryb贸w pracy ADB. Standardowo przy pomocy adb mo偶emy rozmawia膰 z systemem smartfona przez wysy艂anie do niego r贸偶nych polece艅 i w zasadzie mo偶emy operowa膰 na takim urz膮dzeniu mniej wi臋cej tak jakby艣my dzia艂ali na zwyczajnym linux'ie. W przypadku trybu ADB sideload, te standardowe polecenia s膮 nieaktywne ale mamy za to dost臋p do komendy adb sideload , kt贸ra jest w stanie wgra膰 艣wie偶y firmware z paczki update.zip .

TWRP recovery pocz膮wszy od wersji 2.3 wspiera tryb ADB sideload. Dlatego te偶 trzeba si臋 upewni膰, 偶e mamy wgran膮 na smartfonie w miar臋 now膮 wersj臋 tego oprogramowania. Gotowe obrazy TWRP recovery dla smartfon贸w Neffos s膮 dost臋pne w tym w膮tku.

W przypadku, gdy mamy starsz膮 wersj臋 TWRP (< 2.3), no to niestety musimy zaktualizowa膰 to oprogramowanie wgrywaj膮c binarnie obraz przy pomocy dd mniej wi臋cej w taki sam spos贸b jak zosta艂o to opisane przy okazji odzyskiwania partycji /system/ (link we wst臋pie).

ADB sideload i stock'owy recovery

Nie jestem pewien czy ADB sideload dzia艂a na stock'owym recovery. Wiem, 偶e smartfony oferuj膮 mo偶liwo艣膰 wgrywania pliku update.zip z trybu recovery ale nie wiem jak si臋 zachowa system, gdy jedna lub kilka partycji ( /boot/ , /system/ , /recovery/ ) zosta艂y w jaki艣 spos贸b zmienione. Dlatego to HOWTO dotyczy jedynie TWRP recovery, na kt贸rym pomy艣lnie uda艂o mi si臋 przetestowa膰 ADB sideload.

Pozyskanie pliku update.zip zawieraj膮cego firmware smartfona

ADB sideload potrzebuje pliku z obrazem firmware (ROM). Stock'owy ROM mo偶na pobra膰 ze strony TP-LINK/Neffos. Linki do dzia艂u download: Neffos Y5, Neffos Y5L, Neffos C5, Neffos C5 MAX. Pliki s膮 w miar臋 du偶e i wa偶膮 oko艂o 1 GiB. Ka偶dy z tych plik贸w w nazwie zawiera oznaczenie modelu, np. C5_Max_TP702A , Y5L_TP801 . Tutaj mamy TP702 i TP801 oraz w przypadku tego pierwszego mamy r贸wnie偶 literk臋 A , kt贸ra odpowiada za wersj臋 geograficzn膮 i w tym przypadku A jest dla smartfon贸w na rynku europejskim.

Jak wgra膰 update.zip przez ADB sideload z poziomu TWRP recovery

Pobrany firmware jest w postaci spakowanego pliku .zip . Tego pliku nie wypakowujemy. Zostanie on za艂adowany do pami臋ci RAM komputera, a jego zawarto艣膰 w locie przes艂ana na smartfon bez potrzeby wgrywania tego pliku na flash urz膮dzenia. Ta paczka zawiera nie tylko oprogramowanie, kt贸re jest wgrywane na partycj臋 /system/ ale r贸wnie偶 obraz partycji /boot/ , za spraw膮 kt贸rego zostanie wygenerowany te偶 艣wie偶y obraz partycji /recovery/ . Wszystkie te trzy partycje b臋d膮 poddane procesowi flash'owania i po jego uko艅czeniu powinni艣my powr贸ci膰 do stock'owego firmware.

Pliki update.zip s膮 podpisane cyfrowo i domy艣lnie nie damy rady ich wgra膰 przez TWRP recovery, bo zostanie nam wygenerowany poni偶szy b艂膮d:

sideload-host file size 968174348 block size 65536
Installing zip file '/sideload/package.zip'
Verifying zip signature...
I:read key e=3 hash=20
I:1 key(s) loaded from /res/keys
I:comment is 1428 bytes; signature 1410 bytes from end
I:TWFunc::Set_Brightness: Setting brightness control to 5
I:TWFunc::Set_Brightness: Setting brightness control to 0
I:failed to verify against RSA key 0
E:failed to verify whole-file signature
I:Zip signature verification failed: 1
Zip signature verification failed!
I:Signaling child sideload process to exit.
I:Waiting for child sideload process to exit.
sideload_host finished

Problem jak wida膰 dotyczy weryfikacji sygnatury pliku .zip . Musimy zatem poinstruowa膰聽TWRP by nie weryfikowa艂 sygnatury. Mo偶emy to zrobi膰 odhaczaj膮c opcj臋聽ZIP signature verification w ustawieniach:

adb-sideload-update-zip-firmware-tp-link-neffos-twrp-opcje

Teraz mo偶emy aktywowa膰 tryb ADB sideload przechodz膮c w Advanced => ADB Sideload:

adb-sideload-update-zip-firmware-tp-link-neffos-twrp-menu

Czyszczenie cache jest opcjonalne ale mo偶na je zaznaczy膰. Dane u偶ytkownika i tak pozostan膮 nietkni臋te, zatem bez obaw. Niemniej jednak, trzeba pami臋ta膰, 偶e w przypadku modyfikacji partycji /system/ , np. przez Xposed, mo偶emy napotka膰 dziwne problemy, kt贸re mog膮 uniemo偶liwi膰 start lub te偶 poprawne dzia艂anie systemu i wymagane b臋dzie przeprowadzenie procesu Factory Reset.

adb-sideload-update-zip-firmware-tp-link-neffos-twrp-cache

Po przesuni臋ciu trzech strza艂ek na praw膮 stron臋, ADB prze艂膮czy si臋 w tryb sideload. Teraz wracamy na komputer i 艂adujemy plik update.zip przy pomocy poni偶szego polecenia ( trzeba doinstalowa膰 narz臋dzie adb):

# adb sideload /neffos/Y5_H10S100D00B20161207R1344_update.zip
serving: '/neffos/Y5_H10S100D00B20161207R1344_update.zip'  (~24%)

Proces flash'owania plikiem update.zip zajmie d艂u偶sz膮 chwil臋 ale ostatecznie powinien zako艅czy膰 si臋 powodzeniem:

adb-sideload-update-zip-firmware-tp-link-neffos-twrp-proces

Uruchamiamy smartfon ponownie i ignorujemy przy tym informacj臋, 偶e to urz膮dzenie nie mam zainstalowanego systemu operacyjnego (w zasadzie w艂a艣nie go zainstalowali艣my):

adb-sideload-update-zip-firmware-tp-link-neffos-twrp-brak-os

Po chwili powinien nam si臋 za艂adowa膰 ekran z wyborem j臋zyka systemu:

adb-sideload-update-zip-firmware-tp-link-neffos-twrp-system

Po skonfigurowaniu systemu warto sprawdzi膰 czy s膮 dost臋pne jakie艣 aktualizacje. To na wypadek, gdyby艣my chcieli wgra膰 sobie jeszcze raz TWRP recovery czy przeprowadza膰 proces root Androida. W przypadku wprowadzenia jakichkolwiek zmian na partycji /boot/ , /system/ lub /recovery/ nie b臋dziemy w stanie tych aktualizacji wgra膰 na smartfon i warto o tym pami臋ta膰.

adb-sideload-update-zip-firmware-tp-link-neffos-twrp-update

Mikhail Morfikov avatar
Mikhail Morfikov
Po ponad 10 latach sp臋dzonych z r贸偶nej ma艣ci linux'ami (Debian/Ubuntu, OpenWRT, Android) mog臋 艣mia艂o powiedzie膰, 偶e nie ma rzeczy niemo偶liwych i problem贸w, kt贸rych nie da si臋 rozwi膮za膰. Jedn膮 umiej臋tno艣膰, kt贸r膮 ludzki umys艂 musi posi膮艣膰, by wybrn膮膰 nawet z tej najbardziej nieprzyjemniej sytuacji, to zdolno艣膰 logicznego rozumowania.

资讯网江苏卫视直播在线观看童姓起人名方法seo简单算命仙命五行怎么推算农村工作会议网站开发设计教程效果营销推广策划超级恐怖鬼故事吓死人不偿命300字以内的作文佛山网站建设专家女孩免费智能起名起名成语阿凡达国语高清秦长青李焕儿穿越唐朝小说书名叫什么关于中国诗词月亮湾都市庄园笔记本无线网卡余宝宝起名婚姻算命准的大师流连忘返的意思起名配送公司名字解决方案网站设计商丘伏光光伏发电有限公司店面起名网免费起名大全冬天养生的方法研讨会合欢花作文周易的名字大全重庆的网站建设情况少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

资讯网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化