Archiwa tagu: sony-taoshan

Smartfony #3: Guziki

miałem to wysłać wieki temu, przepraszam

Sony Xperia L (czyli Taoshan):

Po kilku próbach uruchomienia systemu rozpadł mi się włącznik 🙁

Ale za to odezwał się do mnie Powimod również chcąc przeportować postmarketOS na ten telefon, a po niecałym miesiącu już są pierwsze efekty 🙂

O ile nie mogłem zbyt mocno pomóc w praktyczny sposób (przycisk rozpadł się tydzień temu) to starałem się znajdować materiały jak można rozwiązać różne problemy.

Tyle tytułem wstępu, natomiast streszczenie pracy wygląda następująco:

  • Obydwaj skompilowaliśmy kernel Linuxa, każdy na swój sposób, teoretycznie obydwa powinny działać, ale okazało się, że telefon się nie włącza.
  • Padła propozycja znalezienia portu UART, co jednak na razie się nie udało, a ja podczas otwierania telefonu uszkodziłem sobie przycisk włączania (który swoją drogą składa się z podstawi i blaszki przyklejonej taśmą klejącą do podstawki)
  • Zaczęliśmy więc analizować obraz boot.img, używać kombinacji kernela + ramdisku pochodzących od pmos oraz LineageOS, jednak bez efektu
  • O ile nie udało się doprowadzić do działania komendy fastboot boot umożliwiającej testowanie bez wprowadzania trwałych zmian w telefonie, tak okazało się, że po dodaniu dwóch opcji przy generowaniu pliku boot.img (`–kernel_offset` oraz `–ramdisk_offset`) da się stworzyć działająca kombinację (kernel pmos + ramdisk LineageOS), która uruchamia LineageOS
  • Początkowo wydawało się, że przy próby uruchomienia postmarketOS nie są owocne, ale okazało się, ze telefon startuje, ale bez ekranu, diody LED i jakichkolwiek oznak życia oprócz trybu tekstowego (telnet) (który udało się niedługo potem uruchomić)
  • łatka od Konradybcio do modelu Xperia M (sony-nicki) pomogła uruchomić ekran, ale to wiem tylko ze słyszenia, gdyż mój ekran przestał działać 🙁

Jest więc działający port, ale już nie będę więcej pracował nad tym modelem z powodu zepsutego ekranu

Słowniczek:

boot.img – plik, który zawiera wszystkie pliki potrzebne do uruchomienia telefonu

ramdisk – po uruchomienu telefonu wczytywany jest kernel, który następnie ładuje zawartość ramdisk.gz do pamięci telefonu i następnie odpala znajdujące się tam pliki; to jest pamięć na pliki gdy jeszcze nie jest dostępna normalna pamięć wbudowana w telefon

Smartfony #1: dwie cegły w jeden dzień

Początek serii o smartfonach na których eksperymentuję i próbuję uruchomić system postmarketOS.

auchan-s6s5in3g:

Okazuje się, że byłem w stanie wgrać recovery na ten sam SoC(patrz słowniczek), ale pochodzące z innego telefonu, co pozwoliło mi je odpalić, jednocześnie uceglając Androida :/. Nie ma obrazu, ale adb działa, co wystarczyło aby wykonać kopię i wyciągnąć kilka interesujących rzeczy, jak na przykład plik dts(patrz słowniczek), który to może bardzo uprościć sprawę z portowaniem pmos. Dlaczego? Jest pewna szansa, że posiadając ogólny kernel dla urządzeń z SoC firmy Spreadtrum oraz dołączając do niego wyciągnięty plik dts uda mi się odpalić najnowszego Linuxa na telefonie.

sony-taoshan:

Kolejny telefon trafił do mojej kolekcji, jest dla niego dostępny kernel LineageOS, co w teorii powinno mocno uprościć proces portowania pmos. O naiwny ja. Po wgraniu pmos kernel się nie uruchamiał, a w rezultacie i telefon. Pomyślałem więc o zrobieniu kopii zapasowej całego telefonu na wszelki wypadek zanim go doszczętnie zepsuję, ale potrzebowałem do tego niestandardowego recovery. Niestety, o ile większość telefonów ma osobno partycje boot i recovery ten nie >:(. Nie mogę więc tak po prostu wgrać recovery, bo nadpiszę aktualnie używany kernel, przez co Android nie wystartuje. Musiałbym więc dla każdego nowego systemu/kernela dopakować do wgrywanego obrazu pliki trybu recovery co będzie denerwujące. Na razie więc mam telefon z niedziałającym Androidem, bez kopii zapasowej, czekający na przypływ cierpliwości z mojej strony.

słowniczek:

SoC – serce twojego smatfona, jeden chip zawierający w sobie procesor, kartę graficzną, modem(to co odpowiada za połączenie z siecią komórkową) i kilka innych rzeczy

DTS to skompilowany plik DTB, czyli Device tree, pliku zawierającego informację o wszystkich podzespołach urządzenia, takich jak procesor, pamięć, wyświetlacz itd., co pozwala zamiast kompilować osobny kernel dostosowany do jednego urządzenia zrobić jeden ogólniejszy, który to podczas startu odczyta jakie sprzęty są dostępne i je uruchomi.

fastboot – specjalny tryb telefonu, który pozwala na instalację nowego oprogramowania, ale robi to  poprzez całkowitą podmianę partycji,ne pozwalając na podmianę pojedynczych plików

recovery – specjalny tryb telefonu, który pozwala na instalację nowego oprogramowania wraz z aktualizacją pojedynczych plików; przywrócenie telefonu do ustawień fabrycznych oraz wykonanie kopii zapasowej