Распаковка и запаковка img прошивок Android для Allwinner
Что нам потребуется:
Распакуйте a10_flash_kitchen_v2.zip, например на локальный диск D Вашего ПК.
Внутри вы найдете packer_gbи packer_ics. packer_ics предназначен для Android ICS, то что нам и нужно.
Откройте папку packer_ics и вы заметите кучу каталогов и пару .bat файлов. Мы проведем много времени в этих каталогах.
Распакуйте архив с заводской прошивкой, которую вы скачали ранее и скопируйте img файл, заранее переименовав его в original.img, в директорию D:\a10_flash_kitchen_v2\packer_ics
Запустите extract_image.bat
Появится окно командной строки Windows. Наберитесь терпения и подождите появления надписи Для продолжения нажмите любую клавишу . . . нажмите любую клавишу чтобы закрыть данное окно.
Откройте каталог _extract в данной директории будут находится все извлеченные файлы. Нас будут интересовать следующие три файла: RFSFAT16_BOOT_00000000000.fex (the boot partition), RFSFAT16_RECOVERY_0000000.fex (the recovery partition), RFSFAT16_SYSTEM_000000000.fex (the system partition, ext4 sparse).
Заметка и предупреждение. Некоторые системы могут также иметь RFSFAT16_BOOTLOADER_00000.fex, который также может потребоваться для вашего устройства, чтобы правильно его загрузить. Для этого просто переименуйте RFSFAT16_BOOTLOADER_00000.fex в bootfs.fex и затем скопируйте bootfs.fex в a10_flash_kitchen_v2\packer_ics\_input
Для разбора RFSFAT16_BOOTLOADER_00000.fex делаем следующее
Скопируйте RFSFAT16_BOOTLOADER_00000.fex в папку custom image
В консоли Porteus выполните следующие команды:
сделайте необходимые изменения в папке b2, например замените script.bin. Затем скопируйте содержимое папки b2 в _bootfs
(D:\a10_flash_kitchen_v2\packer_ics\_bootfs или /mnt/sda5/a10_flash_kitchen_v2/packer_ics/_bootfs/ что одно и тоже)
Извлечение, модификация и создание разделов (шаг 2 - операции в Linux)
Скачайте 64-х битную версию дистрибутива Porteus.org (UNIX система базирующаяся на Slackware, представляет собой LiveCD, USB ОС).
Так как пример будет продемонстрирован в рабочей среде KDE4, желательно в сборке выбрать KDE4. В Advanced options, выберете по умолчанию пользователя Root в пункте 'Click on the button for the user who will be logged in by default to the GUI'. Нажмите кнопку BUILD. Скачайте образ Porteus.
Можете его русифицировать и сразу добавить модуль compat32-libraries-3.0-x86_64-1sl.xzm. Для этого откройте образ Porteus с помощью программы UltraISO зайдите в директорию /porteus/modules/
Скачайте и перетащите туда модуль 0010-locales-ru-utf8-noarch-0c.xzm, а так же модуль compat32-libraries-3.0-x86_64-1sl.xzm
Так же, если Вам необходимо, можете скачать шрифты Microsoft, поместив модуль Fonts_MS_TTF-1.xzm и другой русский софт вы можете найти здесь (зеркало). Сохраните изменения в образе.
Запишите образ Porteus на CD или DVD болванку (можно так же записать на флешку, с помощью UltraISO извлеките образ Porteus на флешку, зайдите в папку boot и запустите Porteus-installer-for-Windows.exe и в биосе выставите загрузку с USB) с помощью UltraISO или Nero. В Bios-e компьютера выставите загрузку с CD/DVD дисковода. Вставьте диск с записанным дистрибутивом Porteus. Включите компьютер, после чего должна начаться загрузка Porteus.
Зайдите на локальный диск D (если не активироали модуль compat32-libraries-3.0-x86_64-1sl.xzm - активируйте его в Porteus) - откройте на рабочем столе Домашнюю папку и создайте там папку custom image
В левой колонке откройте путь /mnt/sda5/a10_flash_kitchen_v2/packer_ics/_extract/
Скопируйте файлы RFSFAT16_BOOT_00000000000.fex, RFSFAT16_RECOVERY_0000000.fex, RFSFAT16_SYSTEM_000000000.fex в папку custom image
и переименуйте эти файлы в
согласно скриншоту:
Скопируйте ранее скаченный tools.tar.gz в папку custom image
Распаковываем архив tools.tar.gz в папку custom image, должна появится папка tools
Разборка и сборка раздела Boot
Запустите консоль (Console) Porteus и введите следующие команды:
Далее создаем поддиректорию ramdisk следующими командами:
Теперь вы можете изменять файлы по мере необходимости. Например, отредактировать файл init.sun4i.rc (в зависимости от модели планшета, в имени данного файла вместо 4, может быть 5 или 7), добавив загрузку своего модуля, строкой:
Сохраните изменения. Введите следующие команды:
Разборка и сборка раздела Recovery
Чтобы извлечь раздел с Recovery, выполните следующие команды:
Измените файлы по мере необходимости и затем запакуйте Recovery в образ с помощью следующих команд:
Разборка и сборка System раздела
Выполните следующие команды:
По мере необходимости можете изменить, что-то добавить или удалить. Затем запакуйте System в образ с помощью следующих команд:
Заметка. Если появится ошибка типа
то запаковывайте так
только предварительно не забудьте заново смонтировать каталог system
Теперь перейдите в папку custom image - вы увидите три новых файла new-boot.img, new-recovery.img, new-system.fex
Теперь можете запустить Windows. Скопируйте эти файлы в D:\a10_flash_kitchen_v2\packer_ics\_input (кроме тех 3 файлов, не забудьте скопировать файл bootfs.fex)
Создание нового образа прошивки (шаг 3 - операции в Windows)
Переименуйте данные файлы в
Теперь нам нужно внести некоторые изменения в файл конфигурации образа. Перейдите в каталог files и найдите файл image.cfg
Откройте этот файл с помощью текстового редактора Sublime Text 2 или Notepad++. Обычным Блокнотом можно испортить этот файл. Найдите две строки, которые ссылаются на OEM и VOEM
Закомментируйте эти строки, добавив ; в начале каждой строки. Не делайте никаких других изменений. Как только вы сделали изменения - Сохраните файл.
Лучше замените image.cfg на этот отредактированный image.cfg
Так же замените bootfs.ini на этот отредактированный bootfs.ini
Перейдите обратно в каталог packer_ics и запустите бат файл create_image.bat
Когда все будет завершено, Вы уведите надпись 'Для продолжения нажмите любую клавишу . . .', нажмите любую клавишу, после чего в директории D:\a10_flash_kitchen_v2\packer_ics должен появится новый образ с именем output.img
Им можете прошить свой планшет, например с помощью LiveSuit
- A10 flash kitchen v2 - для извлечения и создания финального образа прошивки обсуждения на XDA.
- Заводская прошивка (необходимо найти под свой планшет) или подходящая прошивка.
- Linux image tools - для извлечения и создания разделов образа прошивки.
- Текстовый редактор Sublime Text 2 с поддержкой Unix line endings, не используйте Блокнот. Можно так же использовать Notepad++
- 64-х битный дистрибутив Porteus с root правами и рабочей средой KDE4 - cобрать можно здесь
- Модуль compat32-libraries-2.0-x86_64-1hz.xzm
Распакуйте a10_flash_kitchen_v2.zip, например на локальный диск D Вашего ПК.
Внутри вы найдете packer_gbи packer_ics. packer_ics предназначен для Android ICS, то что нам и нужно.
Откройте папку packer_ics и вы заметите кучу каталогов и пару .bat файлов. Мы проведем много времени в этих каталогах.
Распакуйте архив с заводской прошивкой, которую вы скачали ранее и скопируйте img файл, заранее переименовав его в original.img, в директорию D:\a10_flash_kitchen_v2\packer_ics
Запустите extract_image.bat
Появится окно командной строки Windows. Наберитесь терпения и подождите появления надписи Для продолжения нажмите любую клавишу . . . нажмите любую клавишу чтобы закрыть данное окно.
Откройте каталог _extract в данной директории будут находится все извлеченные файлы. Нас будут интересовать следующие три файла: RFSFAT16_BOOT_00000000000.fex (the boot partition), RFSFAT16_RECOVERY_0000000.fex (the recovery partition), RFSFAT16_SYSTEM_000000000.fex (the system partition, ext4 sparse).
Заметка и предупреждение. Некоторые системы могут также иметь RFSFAT16_BOOTLOADER_00000.fex, который также может потребоваться для вашего устройства, чтобы правильно его загрузить. Для этого просто переименуйте RFSFAT16_BOOTLOADER_00000.fex в bootfs.fex и затем скопируйте bootfs.fex в a10_flash_kitchen_v2\packer_ics\_input
Для разбора RFSFAT16_BOOTLOADER_00000.fex делаем следующее
Скопируйте RFSFAT16_BOOTLOADER_00000.fex в папку custom image
В консоли Porteus выполните следующие команды:
Код: Выделить всё
cd "custom image"
mkdir bootfs
mount -o loop RFSFAT16_BOOTLOADER_00000.fex bootfs
cp -a bootfs b2
umount bootfs
сделайте необходимые изменения в папке b2, например замените script.bin. Затем скопируйте содержимое папки b2 в _bootfs
(D:\a10_flash_kitchen_v2\packer_ics\_bootfs или /mnt/sda5/a10_flash_kitchen_v2/packer_ics/_bootfs/ что одно и тоже)
Извлечение, модификация и создание разделов (шаг 2 - операции в Linux)
Скачайте 64-х битную версию дистрибутива Porteus.org (UNIX система базирующаяся на Slackware, представляет собой LiveCD, USB ОС).
Так как пример будет продемонстрирован в рабочей среде KDE4, желательно в сборке выбрать KDE4. В Advanced options, выберете по умолчанию пользователя Root в пункте 'Click on the button for the user who will be logged in by default to the GUI'. Нажмите кнопку BUILD. Скачайте образ Porteus.
Можете его русифицировать и сразу добавить модуль compat32-libraries-3.0-x86_64-1sl.xzm. Для этого откройте образ Porteus с помощью программы UltraISO зайдите в директорию /porteus/modules/
Скачайте и перетащите туда модуль 0010-locales-ru-utf8-noarch-0c.xzm, а так же модуль compat32-libraries-3.0-x86_64-1sl.xzm
Так же, если Вам необходимо, можете скачать шрифты Microsoft, поместив модуль Fonts_MS_TTF-1.xzm и другой русский софт вы можете найти здесь (зеркало). Сохраните изменения в образе.
Запишите образ Porteus на CD или DVD болванку (можно так же записать на флешку, с помощью UltraISO извлеките образ Porteus на флешку, зайдите в папку boot и запустите Porteus-installer-for-Windows.exe и в биосе выставите загрузку с USB) с помощью UltraISO или Nero. В Bios-e компьютера выставите загрузку с CD/DVD дисковода. Вставьте диск с записанным дистрибутивом Porteus. Включите компьютер, после чего должна начаться загрузка Porteus.
Зайдите на локальный диск D (если не активироали модуль compat32-libraries-3.0-x86_64-1sl.xzm - активируйте его в Porteus) - откройте на рабочем столе Домашнюю папку и создайте там папку custom image
В левой колонке откройте путь /mnt/sda5/a10_flash_kitchen_v2/packer_ics/_extract/
Скопируйте файлы RFSFAT16_BOOT_00000000000.fex, RFSFAT16_RECOVERY_0000000.fex, RFSFAT16_SYSTEM_000000000.fex в папку custom image
и переименуйте эти файлы в
Код: Выделить всё
RFSFAT16_BOOT_00000000000.fex -> boot.img
RFSFAT16_RECOVERY_0000000.fex -> recovery.img
RFSFAT16_SYSTEM_000000000.fex -> system.fex
Скопируйте ранее скаченный tools.tar.gz в папку custom image
Распаковываем архив tools.tar.gz в папку custom image, должна появится папка tools
Разборка и сборка раздела Boot
Запустите консоль (Console) Porteus и введите следующие команды:
Код: Выделить всё
cd "custom image"
tools/split_bootimg.pl boot.img
ls
Далее создаем поддиректорию ramdisk следующими командами:
Код: Выделить всё
cd "custom image"
mkdir ramdisk
cd ramdisk
gunzip -c ../boot.img-ramdisk.gz | cpio -i
ls
Теперь вы можете изменять файлы по мере необходимости. Например, отредактировать файл init.sun4i.rc (в зависимости от модели планшета, в имени данного файла вместо 4, может быть 5 или 7), добавив загрузку своего модуля, строкой:
Код: Выделить всё
insmod /system/vendor/modules/здесь_имя_вашего_модуля.ko
Код: Выделить всё
cd "custom image"
tools/mkbootfs ramdisk | gzip > ramdisk-new.gz
tools/mkbootimg --base 0x40000000 --kernel boot.img-kernel --ramdisk ramdisk-new.gz --cmdline 'console=ttyS0,115200 rw init=/init loglevel=8' -o new-boot.img
ls
Разборка и сборка раздела Recovery
Чтобы извлечь раздел с Recovery, выполните следующие команды:
Код: Выделить всё
cd "custom image"
tools/split_bootimg.pl recovery.img
rm -rf ramdisk
mkdir ramdisk
cd ramdisk
gunzip -c ../recovery.img-ramdisk.gz | cpio -i
ls
Измените файлы по мере необходимости и затем запакуйте Recovery в образ с помощью следующих команд:
Код: Выделить всё
cd "custom image"
tools/mkbootfs ramdisk | gzip > ramdisk-new.gz
tools/mkbootimg --base 0x40000000 --kernel recovery.img-kernel --ramdisk ramdisk-new.gz --cmdline 'console=ttyS0,115200 rw init=/init loglevel=8' -o new-recovery.img
ls
Разборка и сборка System раздела
Выполните следующие команды:
Код: Выделить всё
cd "custom image"
tools/simg2img system.fex system.img
mkdir system
mount -o loop system.img system
cd system
ls
По мере необходимости можете изменить, что-то добавить или удалить. Затем запакуйте System в образ с помощью следующих команд:
Код: Выделить всё
cd ../tools
./mkuserimg.sh -s ../system ../new-system.fex ext4 ../tmp 300M
cd ..
umount system
ls
Код: Выделить всё
error: do_inode_allocate_extents: Failed to allocate 2927 blocks
Код: Выделить всё
./mkuserimg.sh -s ../system ../new-system.fex ext4 ../tmp 512M
Код: Выделить всё
mount -o loop system.img system
Теперь можете запустить Windows. Скопируйте эти файлы в D:\a10_flash_kitchen_v2\packer_ics\_input (кроме тех 3 файлов, не забудьте скопировать файл bootfs.fex)
Создание нового образа прошивки (шаг 3 - операции в Windows)
Переименуйте данные файлы в
Код: Выделить всё
RFSFAT16_BOOTLOADER_00000.fex -> bootfs.fex
Заметка. Если делали изменения, то про bootfs.fex забудьте (см. выше разбор RFSFAT16_BOOTLOADER_00000.fex)
new-boot.img -> root.fex
new-recovery.img -> recovery.fex
new-system.fex -> system.fex
Теперь нам нужно внести некоторые изменения в файл конфигурации образа. Перейдите в каталог files и найдите файл image.cfg
Откройте этот файл с помощью текстового редактора Sublime Text 2 или Notepad++. Обычным Блокнотом можно испортить этот файл. Найдите две строки, которые ссылаются на OEM и VOEM
Закомментируйте эти строки, добавив ; в начале каждой строки. Не делайте никаких других изменений. Как только вы сделали изменения - Сохраните файл.
Лучше замените image.cfg на этот отредактированный image.cfg
Так же замените bootfs.ini на этот отредактированный bootfs.ini
Перейдите обратно в каталог packer_ics и запустите бат файл create_image.bat
Когда все будет завершено, Вы уведите надпись 'Для продолжения нажмите любую клавишу . . .', нажмите любую клавишу, после чего в директории D:\a10_flash_kitchen_v2\packer_ics должен появится новый образ с именем output.img
Им можете прошить свой планшет, например с помощью LiveSuit