Открыть boot img linux

Как легко распаковать и перепаковать файлы boot и ramdisk

Учитывая, что модификация прошивки такая же старая, как и сама ОС Android, попасть в игру для новичков может быть довольно сложно. Например, для прошивки определенных пользовательских ПЗУ требуется несколько шагов, таких как извлечение официального загрузочного образа и его прошивка на устройстве перед окончательным завершением процесса и прошивка файлов пользовательских ПЗУ вместе с ним.

Хотя в некоторые руководства вы найдете в Интернете включенные файлы boot.img, в других случаях вам может потребоваться самостоятельно изменить загрузочный образ, а затем переупаковать его. Поскольку операционная система Android для мобильных телефонов является производной от Linux, единственный способ сделать это — использовать платформу на основе Linux или эмулировать ее на вашем ПК с Windows.

Скрипты для распаковки и перепаковки файла boot.img

Пользователь XDA CNexus просеянных через Интернет, чтобы найти и составить список инструментов для распаковки и переупаковки файла образа загрузки, все из которых можно загрузить, используя ссылку, приведенную ниже.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Команды, которые вы должны знать

  1. boot_info Файл, включенный в пакет, позволяет вам получить базовый адрес и адрес виртуального диска файла boot.img, который вам позже понадобится для повторной упаковки.
  2. split_boot (split_bootimg.pl) помогает извлечь ramdisk и zImage из файла boot.img в отдельную папку.
  3. unpack_ramdisk позволяет распаковать файл ramdisk с помощью следующей команды:
    Использование: unpack_ramdisk
  4. repack_ramdisk функция позволит вам перепаковать файл ramdisk из заданного каталога, используя следующую команду:
    Использование: repack_ramdisk [outputFile]
  5. mkbootimg Команда поможет вам создать новый файл boot.img из имеющихся у вас файлов ramdisk и zImage (полезно для создания измененных файлов boot.img).
  6. umkbootimg делает прямо противоположное и разделяет ядро ​​и загрузочный образ.
  7. распаковать просто распакует файл boot.img в один каталог, а виртуальный диск в отдельный каталог для удобства.
Читайте также:  Linux mint verify iso

Совместимость с Windows: что нужно знать

  1. Если у вас нет запущенной операционной системы Linux, вы можете эмулировать ее на своем ПК с Windows, используя это официальное руководство.
  2. Инструмент был протестирован для работы с Debian, но не подтвержден для работы с Cygwin.
  3. Все сценарии в файле .ZIP должны быть сохранены в папке на пути к системе Linux, в которой вы работаете, чтобы они могли быть обнаружены (пример: ~ / bin)

Как использовать распаковку и перепаковать загрузку и распаковку файла ramdisk

Что ж, нам нужно использовать файл split_boot, поскольку он содержит сценарий, чтобы сначала распаковать файл boot.img, получить из него файл ramdisk, а затем извлечь файл ramdisk.

инструменты для распаковки загрузочных img

  1. Скачать инструмент загрузки из здесь.
  2. Сейчас, извлекать его в отдельную папку, чтобы получить эти файлы.
  3. Теперь предоставьте этим файлам необходимые разрешения. Итак, запустите команду ниже в папке, где у вас есть все файлы.
chmod +x boot_info mkbootimg repack_ramdisk split_boot unpack_ramdisk

инструмент загрузки прав доступа к файлам

  • Поместите файл boot.img, который вы хотите извлечь, в ту же папку, что и эти файлы на вашем ПК.
  • Чтобы извлечь файл загрузочного образа и файл виртуального диска, выполните приведенную ниже команду.

    извлеченный файл образа загрузки

  • Это создаст новую папку с именем ботинок в вашей текущей папке. Папка загрузки будет содержать файл ядра загрузочного образа, файл ramdisk и папку ramdisk, содержащую данные, извлеченные из файла ramdisk.
  • Вот и все. Вносить изменения в файл папки ramdisk, как вам нужно.
  • Копировать все основные файлы инструмента (boot_info, mkbootimg, repack_ramdisk, split_boot и unpack_ramdisk) в загрузочную папку, содержащую папку ramdisk.
  • Перепаковать файл ramdisk используя команду ниже. Это создаст новый файл ramdisk с именем new-boot.img-ramdisk.cpio.gz в папке загрузки. (Вы можете изменить имя выходного файла с new-boot.img-ramdisk.cpio.gz на любое по вашему выбору.)
    ./repack_ramdisk ramdisk new-boot.img-ramdisk.cpio.gz
    ./mkbootimg --kernel /var/www/html/dl/boot-tool/boot/boot.img-kernel --ramdisk new-boot.img-ramdisk.cpio.gz -o new-boot.img

    перепаковка загрузочного образа и ramdisk

  • Вот и все. Работа сделана! Вы успешно распаковали и переупаковали файлы загрузочного и RAM-диска. Теперь ваш каталог будет выглядеть так. Обратите внимание на новые файлы boot и ramdisk на скриншоте ниже.
  • Как это было? Удалось ли вам легко пользоваться инструментами?

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

    Читайте также:  Linux script run program

    Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

    Источник

    How to extract boot.img?

    I am trying to see the content in a boot.img file from an Android image. I googled and found this article to extract system.img , but it doesn’t work for boot.img . When trying to do this for boot.img , it is showing the following:

    Invalid sparse file format at header magi Failed to read sparse file 
    1. If so, Is there any other method to extract boot.img ?
    2. If not, what is the problem for not extracting boot.img ?

    4 Answers 4

    boot.img is a small(ish) file that contain two main parts.

    Unpack boot.img :

    It contains the following steps:

    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 

    We can extract the ramdisk also, using the following command

    gunzip -c boot.img-ramdisk.gz | cpio -i 

    After changing the files, we can again pack those files as boot.img using mkbootimg

    Getting the same error for step 3 on Mint 17 here. Tried running them by sudo and after chmod 755 to no avail.

    Fix for: «unpackbootimg command not found», you are running 32bit binary on a 64 bit machine without 32bit dependencies. Install them with «apt-get install gcc-multilib»

    Install abootimg (available as a package, for example in Debian/Ubuntu and openSUSE).

    To extract (boot|recovery).img :

    $ abootimg -x (boot|recovery).img $ ls boot.img bootimg.cfg initrd.img zImage 

    To repack (boot|recovery).img after modifying one of bootimg.cfg , zImage or initrd.img :

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

    This project is not maintained and did not work with my boot.img file, however the answer from @cfig worked.

    boot.img is not a compressed filesystem image like system.img . It is read by the bootloader, and contains little more than a kernel image and a ramdisk image.

    Some binary distribution ship the kernel and ramdisk images separately. In that case you don’t need to do anything with boot.img , just regenerate a new one with mkbootimg .

    If you need to extract information from a boot.img , try split_bootimg (by William Enck, via the Android wiki).

    Читайте также:  Performance tuning linux servers

    You can use the following tool to extract and re-pack Android boot image

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

    copy your boot.img to the cloned git repository. Run:

    First time run will need to download necessary libs from internet, be patient. You can get the contents at «build/unzip_boot/», like this:

    build/unzip_boot/ ├── bootimg.json (boot image info) ├── kernel ├── second (2nd bootloader, if exists) ├── boot.img.avb.json (AVB only) └── root 

    Источник

    Монтирование recovery, boot!?

    Как монтировать образ recovery,boot (img) на ubuntu, пробовал разные способы, я так понел recovery в формате emmc и boot в томже, но ubuntu не знает такого формата.

    Пробовал sudo mount -t emmc путь_к_img путь_куда_то

    Также может кто-то посоветует чем можно в линуксе картинку перевести в logo.bin.

    С system.img проблем не возникло, монтировал спокойно.

    Если монитровать не получится тогда как распаковать и упаковать?

    Очень хорошо описана структура и методы распаковки здесь.

    Вкратце: можно воспользоваться скриптом на перле:

    % ./split_bootimg.pl boot.img Page size: 2048 (0x00000800) Kernel size: 1388548 (0x00153004) Ramdisk size: 141518 (0x000228ce) Second size: 0 (0x00000000) Board name: Command line: no_console_suspend=1 Writing boot.img-kernel . complete. Writing boot.img-ramdisk.gz . complete.

    denisandroid

    Скрипт на перле, Not Found

    The requested URL /android/files/linux/split_bootimg.zip was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Apache Server at android-dls.com Port 80

    denisandroid

    denisandroid

    Пример использования был в первой ссылке. Это вольный перевод:

    Разделяем boot.img на составляющие:

    % ./split_bootimg.pl boot.img Page size: 2048 (0x00000800) Kernel size: 1388548 (0x00153004) Ramdisk size: 141518 (0x000228ce) Second size: 0 (0x00000000) Board name: Command line: no_console_suspend=1 Writing boot.img-kernel . complete. Writing boot.img-ramdisk.gz . complete.
    % mkdir ramdisk % cd ramdisk % gzip -dc ../boot.img-ramdisk.gz | cpio -i % cd ..

    Проводим все требуемые изменения (например, меняем ro.secure=0 в default.prop).
    Собираем новый ramdisk утилитой mkbootfs

    % mkbootfs ./ramdisk | gzip > ramdisk-new.gz Упаковываем его в boot-new.img
    % mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel boot.img-kernel --ramdisk ramdisk-new.gz -o boot-new.img

    denisandroid

    linjan: Хм, сново, на твоем способе тоже самое.
    denis@denis-desktop ~/Рабочий стол/perl/ramdisk $ gzip -dc ../boot.img-ramdisk.gz | cpio -i

    gzip: ../boot.img-ramdisk.gz: not in gzip format
    cpio: преждевременный конец архива
    denis@denis-desktop ~/Рабочий стол/perl/ramdisk $

    Источник

    Оцените статью
    Adblock
    detector