boot.img를 추출하는 방법? 기사 를 추출 하여

boot.imgAndroid 이미지에서 파일 의 내용을 보려고합니다 .

Google 에서이 기사 를 추출 하여 찾았 system.img지만 작동하지 않습니다 boot.img. 에 대해이 작업을 수행하려고 boot.img하면 다음이 표시됩니다.

Invalid sparse file format at header magi
Failed to read sparse file

되어 simg2img추출에만 사용 system.img?

  1. 그렇다면 추출 할 다른 방법이 boot.img있습니까?
  2. 그렇지 않다면 추출하지 않는 문제는 무엇 boot.img입니까?


답변

boot.img는 두 개의 주요 부분을 포함하는 작은 (ish) 파일입니다.

          * kernel(important for android)
          * ramdisk( a core set of instruction & binaries)

boot.img의 압축을 풉니 다 :

다음 단계가 포함됩니다.

  1. 다음을 사용하여 도구를 다운로드하십시오. wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz

  2. 을 사용하여 파일을 추출하십시오 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


답변