Próbuję dowiedzieć się, czy system Android (tj. Galaxy Nexus, Nexus S i / lub Motorola Xoom) ma jakąś możliwość wygenerowania dziennika „boot-up”. (coś w rodzaju ekranu rozruchowego systemu Linux) Byłoby niezwykle pomocne w ustaleniu, jak daleko telefon się znajduje na etapach rozruchu, zanim ulegnie awarii (np. bootloader pierwszego etapu, bootloader główny, potem ładowanie jądra itp.). Czy ktoś wie, jak włączyć telefon, aby wypluł ten plik dziennika lub włączyć „pełny” tryb uruchamiania (i drukować aktualne komunikaty na terminalu komputera z systemem Linux, do którego jest podłączony telefon)?
Mój telefon utknął w „pętli rozruchowej” z moją obecną zmodyfikowaną wersją i chciałbym go debugować, jeśli to możliwe.
Alternatywnie, ktoś zna jakieś przydatne zasoby lub samouczki, które wyjaśniają, jak łatwo „zhakować” telefon, aby to zrobić (bez bałaganu ze sprzętem)? Lub na forach, na których moje pytanie mogło zostać zadane, ale w bardziej niejasnej formie?
Był to ostatnio frustrujący problem, więc każda pomoc byłaby bardzo mile widziana!
źródło
Odpowiedzi:
Można to zrobić na kilka sposobów:
cat /proc/last_kmsg > /sdcard/last_kernel_message_log.txt
dmesg > /sdcard/kernel_boot_log.txt
adb logcat
z cmd lub terminala systemu Windows, zawiesi się ono, czekając na uruchomienie urządzenia, a teraz uruchom smartfon. Logcat powinien wtedy rozpocząć przewijanie.Ponieważ wyraziłeś zainteresowanie ustaleniem, jak daleko jest telefon w fazie rozruchu, zanim ulegnie awarii , metody te powinny pomóc. Chodzi o to, że musisz być dość szybki, aby pobrać dziennik jądra (dwie pierwsze metody pokazane powyżej).
Chciałbym to zrobić, na moim Arch Linuxie, dwa okna terminala, jedno dla
adb logcat
drugiego, aby pobrać dziennik, gdy tylko logcat zaczyna się przewijać!Edytować:
Bądź świadomy, istnieją różnice w używaniu
adb
ifastboot
!fastboot
działa inaczej, służy tylko do flashowania obrazów na określonych partycjach i jest bardziej związany z procesem boot-loader, tzn. może zrozumieć mechanizm boot-loader. Wymaga również, aby:Powodem, dla którego tego wymaga, jest to, że omija pewne wejścia / wyjścia sprzętu, a zatem nie „mówi” w
adb
protokole, a raczej „mówi” bezpośrednio do modułu ładującego. Coś, czego nie można zrobić jako zwykły użytkownik. Oto pomoc dotycząca korzystania zfastboot
.Znany eksploatacyjnej
fastboot
jest migać na przykład błysk obraz pomocniczy:sudo fastboot flash recovery recovery.img
kolejna jest bezpośrednio migać surowego obrazusudo fastboot flash system system.img
. Aby uzyskać więcej informacji na temat programowania jądra, użycie tegofastboot boot new_kernel
powoduje tymczasowe pobranie nowego jądra i uruchomienie go bez dotykania własnego rozruchu modułu ładującego.Istnieje również ograniczenie rozmiaru surowego obrazu, które wymaga flashowania, kiedy mówię surowy obraz, mam na myśli plik, który ma
.img
rozszerzenie, obraz nie może przekraczać 128 Mb. ( Dowiedziałem się tego podczas opracowywania ics4blade, po zakończeniu kompilacji system.img miał 162 MB i próbowałem go sflashować, ale Fastboot odmówił! Aby obejść to ograniczenie, musiałem utworzyć plik zip zip CWM, aby to zrobić i obejść to! )Przećwicz ostrożność i upewnij się, że partycja jest poprawna, i ponownie sprawdź i sprawdź ponownie, jeśli to konieczne, odejdź od komputera, zrób sobie przerwę, wróć ponownie i ponownie sprawdź ponownie, w tym miejscu może się to potwornie popsuć flashuj niewłaściwy plik na niewłaściwą partycję ... dobrze wzrusza ramionami
źródło
cache
idata
- nie ponoszę odpowiedzialności za nic złego, jeśli będziesz kontynuować! I spróbuj ponownie flashować ROM poprzez CWM. Co więcej , zapomnij o fastboocie i użyj CWM, aby wyczyścić pamięć podręczną i dane , wygląda na to, że bootloop jest spowodowany zepsutym cache lub danymi ...Możesz użyć LiveBoot. Jest w sklepie Google Play. Zrobi to, o co prosisz.
źródło