카테고리 보관물: Android

Android

디버깅을위한 Android 부팅 메시지? 로더, 메인 부트 로더, 커널로드 등). 누구든지

Android (예 : Galaxy Nexus, Nexus S 및 / 또는 Motorola Xoom)에 “부팅”로그를 생성하는 기능이 있는지 확인하려고합니다. (리눅스 부팅 화면과 비슷 함) 폰이 충돌하기 전에 부팅 단계에서 휴대 전화가 얼마나 멀리 떨어져 있는지 파악하는 데 큰 도움이 될 것입니다 (예 : 1 단계 부트 로더, 메인 부트 로더, 커널로드 등). 누구든지 전화를 사용하여이 로그 파일을 추출하거나 “자세한”부팅 모드를 활성화하는 방법을 알고 있습니까 (전화가 연결된 Linux 컴퓨터의 터미널에 실제 메시지를 인쇄)?

내 전화가 현재 수정 된 빌드와 함께 “부팅 루프”에 갇히고 가능한 경우 디버깅하고 싶습니다.

또는 누구나 쉽게 전화를 해킹하여이를 수행하는 방법을 설명하는 유용한 리소스 나 자습서를 알고 있습니까? 또는 내 질문이 있지만 더 모호한 형식의 포럼이 있습니까?

이것은 최근의 실망스러운 문제 였으므로 어떤 도움이라도 대단히 감사하겠습니다!



답변

이를 수행하는 몇 가지 방법이 있습니다.

  • cat /proc/last_kmsg > /sdcard/last_kernel_message_log.txt
  • dmesg > /sdcard/kernel_boot_log.txt
  • 스마트 폰을 끈 상태에서 USB 케이블을 꽂습니다. 그런 다음 adb logcatWindows cmd 또는 Linux 터미널에서 명령 을 실행 하면 장치가 온라인 상태가 될 때까지 기다리면 스마트 폰의 전원이 켜집니다. logcat은 스크롤을 시작해야합니다.

휴대 전화가 부팅되기 전에 휴대 전화가 부팅 단계에서 얼마나 멀리 떨어져 있는지 파악하는 데 관심이 있으므로 이러한 방법이 도움이 될 것입니다. 문제는 커널 로그 (위의 첫 두 가지 방법)를 빠르게 가져와야한다는 것입니다.

내가 할 일은 내 아치 리눅스 상자에서 두 개의 터미널 창, 하나는 adb logcat, 다른 하나 는 로그 로그를 스크롤하기 시작합니다.

편집하다:

adbfastboot! 를 사용하면 차이점이 있습니다 .

fastboot다르게 작동하면 이미지를 지정된 파티션으로 플래시하는 데만 사용되며 부트 로더 프로세스와 더 밀접하게 연결됩니다. 즉, 부트 로더 메커니즘을 이해할 수 있습니다. 또한 다음이 필요합니다.

  • Windows에서 ‘관리자’권한으로 실행
  • 리눅스에서 ‘루트’권한

이것이 필요한 이유는 하드웨어의 특정 입출력을 우회하기 때문에 adb프로토콜 에서 “토크”하지 않고 부트 로더와 직접 “토크”하는 것입니다. 일반 사용자로 할 수없는 것. 의 사용법에 대한 도움말은 다음과 같습니다 fastboot.

$ sudo fastboot
usage: fastboot [ <option> ] <command>

commands:
  update <filename>                        reflash device from update.zip
  flashall                                 flash boot + recovery + system
  flash <partition> [ <filename> ]         write a file to a flash partition
  erase <partition>                        erase a flash partition
  getvar <variable>                        display a bootloader variable
  boot <kernel> [ <ramdisk> ]              download and boot kernel
  flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
  devices                                  list all connected devices
  continue                                 continue with autoboot
  reboot                                   reboot device normally
  reboot-bootloader                        reboot device into bootloader
  help                                     show this help message

options:
  -w                                       erase userdata and cache
  -s <serial number>                       specify device serial number
  -p <product>                             specify product name
  -c <cmdline>                             override kernel commandline
  -i <vendor id>                           specify a custom USB vendor id
  -b <base_addr>                           specify a custom kernel base address
  -n <page size>                           specify the nand page size. default: 2048

잘 알려진 사용법은 fastboot예를 들어, 복구 이미지를 플래시하는 것입니다. sudo fastboot flash recovery recovery.img다른 하나는 원시 이미지를 직접 플래시하는 것 sudo fastboot flash system system.img입니다. 커널 개발의 경우 fastboot boot new_kernelthis를 사용하면 부트 로더 자체 부팅을 건드리지 않고 임시로 새 커널을 다운로드하여 부팅합니다.

플래시 해야하는 원시 이미지의 크기에는 제한이 있습니다. 원시 이미지를 말할 때 .img확장명 이있는 파일을 참조하고 있으며 이미지는 128Mb를 초과해서는 안됩니다. ( ics4blade를 개발할 때이 사실을 알았습니다. 빌드가 완료 된 후 system.img는 162Mb 였고 플래시를 시도했지만 빠른 부팅이 거부되었습니다! 그것! )

주의를 기울이고 파티션이 올바른지 확인하고 필요한 경우 다시 확인하고 다시 확인하십시오. 필요한 경우 컴퓨터에서 멀어지고 휴식을 취한 후 다시 방문하여 다시 확인하십시오. 잘못된 파일을 잘못된 파티션에 플래시 … 잘 으 rug


답변

LiveBoot를 사용할 수 있습니다. Google Play 스토어에 있습니다. 그것은 당신이 요구하는 것을 할 것입니다.


답변