Как извлечь boot.img?

Я имею HDA звук Intel на моем гигабайте mobo и использую alsamixer с archlinux

15
04.04.2016, 09:38
4 ответа

boot.img является маленьким (выход) файл, которые содержат две основных части.

          * 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

Развлекайтесь!

19
27.01.2020, 19:49
  • 1
    я получаю ошибку на третьем шаге, помогает мне... терминал говорит что команда unpackbootimg, не найденная –  Rahul Matte 17.06.2014, 13:04
  • 2
    , Получив ту же ошибку для шага 3 на Монетном дворе 17 здесь. Испытанное выполнение их sudo и после chmod 755 напрасно. –  Nisse 11.09.2014, 07:41
  • 3
    На шаге 3 удостовериться output_path уже существует, иначе unpackbootimg будет segfault. –  Aldaviva 13.02.2016, 05:07
  • 4
    Ссылка для инструмента является битой. –  Addison Crump 18.01.2017, 17:05
  • 5
    Просто клонируйте код от GitHub: github.com/osm0sis/mkbootimg –  Albus Dumbledore 15.03.2017, 07:37

boot.img не изображение сжатой файловой системы как system.img. Это читается загрузчиком и содержит немного больше, чем изображение ядра и изображение электронного диска.

Некоторое двоичное распределение поставляет ядро и изображения электронного диска отдельно. В этом случае Вы ничего не должны делать с boot.img, просто повторно создайте новый с mkbootimg.

Если необходимо извлечь информацию из a boot.img, попробовать split_bootimg (William Enck, через Wiki Android).

6
27.01.2020, 19:49
  • 1
    ссылка на split_bootimg больше не действительно. –  Nathan Osman 28.09.2013, 06:19
  • 2
    @NathanOsman, Замененный ссылкой на копию на странице William Enck. –  Gilles 'SO- stop being evil' 28.09.2013, 13:10

Я использую opensuse. Я установил abootimg. Если вы хотите извлечь (boot|recovery).img, запустите such:

abootimg -x (boot|recovery).img

Затем вы получите следующие файлы: bootimg.cgf, zImage и initrd.img. Если вы хотите упаковать образ, выполните such

abootimg --create (boot|recovery).img -f bootimg.cfg -k zImage -r initrd.img

Затем вы получите (boot|recovery).img

Enjoy

4
27.01.2020, 19:49

Вы можете использовать следующий инструмент для извлечения и -повторной упаковки загрузочного образа Android

$ git clone https://github.com/cfig/Android_boot_image_editor.git

скопируйте файл boot.img в клонированный репозиторий git. Беги:

$./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
2
27.01.2020, 19:49

Теги

Похожие вопросы