boot.img
Android 이미지에서 파일 의 내용을 보려고합니다 .
Google 에서이 기사 를 추출 하여 찾았 system.img
지만 작동하지 않습니다 boot.img
. 에 대해이 작업을 수행하려고 boot.img
하면 다음이 표시됩니다.
Invalid sparse file format at header magi
Failed to read sparse file
되어 simg2img
추출에만 사용 system.img
?
- 그렇다면 추출 할 다른 방법이
boot.img
있습니까? - 그렇지 않다면 추출하지 않는 문제는 무엇
boot.img
입니까?
답변
boot.img는 두 개의 주요 부분을 포함하는 작은 (ish) 파일입니다.
* kernel(important for android)
* ramdisk( a core set of instruction & binaries)
boot.img의 압축을 풉니 다 :
다음 단계가 포함됩니다.
-
다음을 사용하여 도구를 다운로드하십시오.
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz
-
을 사용하여 파일을 추출하십시오
tar xvzf android_bootimg_tools.tar.gz
.two
바이너리 가 포함되어 있습니다 :* unpackbootimg * mkbootimg
3. 그런 다음 실행 ./unpackbootimg -i <filename.img> -o <output_path>
It will contain,
* boot.img-zImage ----> kernel
* boot.img-ramdisk.gz ----> ramdisk
다음 명령을 사용하여 램 디스크도 추출 할 수 있습니다
gunzip -c boot.img-ramdisk.gz | cpio -i
파일을 변경 한 후에는 해당 파일을 boot.img로 다시 압축 할 수 있습니다 mkbootimg
즐기세요!
답변
boot.img
와 같은 압축 파일 시스템 이미지가 아닙니다 system.img
. 부트 로더가 읽으며 커널 이미지와 램 디스크 이미지를 포함합니다.
일부 바이너리 배포판은 커널 및 램 디스크 이미지를 별도로 제공합니다. 이 경우을 (를) 사용하여 아무 것도 할 필요가 boot.img
없으며을 사용하여 새 것을 재생성하십시오 mkbootimg
.
에서 정보를 추출해야하는 경우 ( Android Wiki 를 통해 William Enck 작성)boot.img
사용해보십시오 .split_bootimg
답변
opensuse를 사용합니다. abootimg를 설치했습니다. (boot | recovery) .img를 추출하려면 다음을 실행하십시오.
abootimg -x (boot|recovery).img
그런 다음 다음 파일을 얻습니다 : bootimg.cgf, zImage 및 initrd.img 이미지를 압축하려면 다음과 같이 실행하십시오
abootimg --create (boot|recovery).img -f bootimg.cfg -k zImage -r initrd.img
그러면 (boot | recovery) .img가 나타납니다.
즐겨
답변
다음 도구를 사용하여 Android 부팅 이미지를 추출하고 다시 압축 할 수 있습니다
$ git clone https://github.com/cfig/Android_boot_image_editor.git
boot.img를 복제 된 자식 저장소에 복사하십시오. 운영:
$ ./gradlew unpack
처음 실행하려면 인터넷에서 필요한 라이브러리를 다운로드해야합니다. 인내심을 가지십시오. 다음과 같이 “build / unzip_boot /”에서 내용을 얻을 수 있습니다.
build/unzip_boot/
├── bootimg.json (boot image info)
├── kernel
├── second (2nd bootloader, if exists)
├── boot.img.avb.json (AVB only)
└── root