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 logcat
Windows cmd 또는 Linux 터미널에서 명령 을 실행 하면 장치가 온라인 상태가 될 때까지 기다리면 스마트 폰의 전원이 켜집니다. logcat은 스크롤을 시작해야합니다.
휴대 전화가 부팅되기 전에 휴대 전화가 부팅 단계에서 얼마나 멀리 떨어져 있는지 파악하는 데 관심이 있으므로 이러한 방법이 도움이 될 것입니다. 문제는 커널 로그 (위의 첫 두 가지 방법)를 빠르게 가져와야한다는 것입니다.
내가 할 일은 내 아치 리눅스 상자에서 두 개의 터미널 창, 하나는 adb logcat
, 다른 하나 는 로그 로그를 스크롤하기 시작합니다.
편집하다:
adb
와 fastboot
! 를 사용하면 차이점이 있습니다 .
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_kernel
this를 사용하면 부트 로더 자체 부팅을 건드리지 않고 임시로 새 커널을 다운로드하여 부팅합니다.
플래시 해야하는 원시 이미지의 크기에는 제한이 있습니다. 원시 이미지를 말할 때 .img
확장명 이있는 파일을 참조하고 있으며 이미지는 128Mb를 초과해서는 안됩니다. ( ics4blade를 개발할 때이 사실을 알았습니다. 빌드가 완료 된 후 system.img는 162Mb 였고 플래시를 시도했지만 빠른 부팅이 거부되었습니다! 그것! )
주의를 기울이고 파티션이 올바른지 확인하고 필요한 경우 다시 확인하고 다시 확인하십시오. 필요한 경우 컴퓨터에서 멀어지고 휴식을 취한 후 다시 방문하여 다시 확인하십시오. 잘못된 파일을 잘못된 파티션에 플래시 … 잘 으 rug
답변
LiveBoot를 사용할 수 있습니다. Google Play 스토어에 있습니다. 그것은 당신이 요구하는 것을 할 것입니다.