XXX-Man

Инструкция по созданию/редактированию прошивок в формате SZB

В этой теме 1 сообщение

Специально для Lenovo-forums.ru

Инструкция описывает действия пользователя по созданию/редактированию SZB-контейнера (далее - контейнер), необходимого для прошивки телефонных аппаратов Lenovo K860(i).

Что необходимо:
- содержимое прилагаемого архива;
- Windows любой версии (ХР, 7, 8 х86-х64) если редактирование образов в дальнейшем не подразумевается: только разборка/сборка;
- любая Linux-подобная система (рекомендуется Ubuntu не важно какой версии) для внесения изменений в образы прошивки;
- базовые знания Linux.

Описание содержимого архива:
simg2img - утилита, позволяющая конвертировать файлы образов прошивки в формат ext4, понятный Linux-подобным системам;
make_ext4fs - утилита, предназначенная для преобразования типа файловой системы редактируемых образов из ext4 обратно в понятный телефону;
szbtool_x86 - собственно сама утилита для работы с контейнерами, созданная небезызвестным Linkscue;
szbtool_x86.exe - вариант утилиты для исполнения в среде Windows. Ключи для работы с программой будут подробно описаны далее по тексту.

### Разбираем SZB ###
Для примера разберем контейнер официальной прошивки K860_1_S_2_03_0172_121224.szb.
1. Создаем папку с произвольным именем. В нашем случае: /Games/X/.
2. Распаковываем содержимое прилагаемого архива в созданную папку.
3. Копируем "препарируемую" прошивку в созданную папку.
527975e120d17_scr1.jpg

4. В нашей папке /X/ запускаем командную строку (клавиша F2 при использовании файлового менеджера Krusader), а в ней выполняем следующую команду:
./szbtool_x86 -x K860_1_S_2_03_0172_121224.szb
5279751829951_scr2.jpg

52797540cb4e6_scr44.jpg

5. В итоге имеем 6 распакованных образов в папке:
- uboot.bin;
- boot.img;
- recovery.img;
- system.img;
- preload.img;
- cpimage.img.
5279746094276_scr3.jpg

5279748e06f13_scr4.jpg

Из них собственно и состоит контейнер (прошивка) и с ними мы будем в дальнейшем работать.

### Редактируем образы прошивки ###
Для начала давайте разберемся за что отвечает каждый из образов, входящих в состав контейнера:
uboot.bin - это бутлоадер девайса, без соответствующих знаний в программировании лучше в нем не ковыряться;
boot.img - загрузчик. Содержит ядро системы, как и в предыдущий образ в него соваться не стоит ;
recovery.img - рекавери. Вместо него можно в последующем всунуть модифицированное (MIUI или CWM);
system.img - собственно образ самой файловой системы аппарата со всеми файлами, папками и соответствующей структурой. Он - основная "цель" при создании модифицированных прошивок. Путем модификации определенных файлов/папок в прошивку вносятся изменения для увеличения ее функциональности, стабильности, смены оформления и т.д.;
preload.img - образ предустановленных приложений. В нем хранятся пользовательские приложения. При модификации оф. прошивок как правило из него сразу же удаляется "китайский мусор" и т.п. Можно конечно же и добавлять приложения по желанию (Total commander, Titanium backup, Root explorer и т.п.);
cpimage.img - прошивка модема. Этот модуль отвечает за качество связи Вашего аппарата. С ним таже можно экспериментировать и "подсовывать" в контейнер прошивки модема с наилучшим качеством связи.

Приступим к редактированию прошивки.
1. Для начала конвертируем необходимые Вам образы в формат ext4 (командную строку запускать из рабочей папки /х/):
./simg2img system.img system.ext4.img./simg2img preload.img preload.ext4.img./simg2img cpimage.img cpimage.ext4.img
527aa6f808c7f_scr10.jpg

527aa704446f9_scr11.jpg

2. В нашей рабочей папке создадим папку /mount/. В нее мы будем монтировать необходимые образы.
3. Запускаем из командной строки файл менеджер Krusader (Вы можете использовать любой другой) c правами администратора. Это необходимо для того, чтобы иметь возможность вносить изменения в файл редактируемого образа:
sudo krusader
527aa88ad5aed_scr13.jpg

527aa9735fcd8_scr14.jpg

4. Монтируем в папку /mount/ необходимые нам образы (командную строку запускать из рабочей папки /х/).
sudo mount -t ext4 -o loop system.ext4.img mountsudo mount -t ext4 -o loop preload.ext4.img mountsudo mount -t ext4 -o loop cpimage.ext4.img mount
527aaa5e79e46_scr17.jpg

5. Вносим необходимые изменения в нужный образ.
6. Перепаковываем модифицированные образы:
./make_ext4fs -s -l 400M -a system system-repack.img mount./make_ext4fs -s -l 190M -a preload preload-repack.img mount./make_ext4fs -s -l 14M -a cpimage cpimage-repack.img mount
527aaacbdd993_scr18.jpg

7. Отмонтируем примонтированный образ:
sudo umount mount
Монтировать, вносить изменения и перепаковывать образы необходимо по очереди, т.е. последовательность действий будет такая:
- монтируем образ system.img [4]; вносим в него изменения [5]; перепаковываем образ в system-repack.img [6]; отмонтируем образ [7];
- монтируем образ preload.img [4]; вносим в него изменения [5]; перепаковываем образ в preload-repack.img [6]; отмонтируем образ [7];
- монтируем образ cpimage.img [4]; вносим в него изменения [5]; перепаковываем образ в cpimage-repack.img [6]; отмонтируем образ [7].

Хотя конечно же ничто Вам не мешает создать для каждого из образов свою отдельную папку (вместо /mount/ использовать /system/, /preload/ и /cpimage/ например) и редактировать их одновременно. Мне так удобнее. Решать Вам, думаю разберетесь.

### Собираем SZB ###
Для начала опишем все ключи, необходимые для работы с утилитой szbtools:
-b - добавляет в образ прошивки uboot.bin
-k - добавляет в образ прошивки boot.img
-r - добавляет в образ прошивки recovery.img
-s - добавляет в образ прошивки system.img
-c - добавляет в образ прошивки cpimage.img
-p - добавляет в образ прошивки preload.img
-d - не используется;
-e - ключ очистки данных пользователя (data & cache space). Необходим, если создаете полноценную прошивку;
-a - ключ, указывающий автора прошивки (author);
-v - ключ, указывающий версию прошивки (version);
-i - информация об указанной прошивке;
-x - ключ для "разбора" указанной в аргументе прошивки;
-h - вызов справки.

В конечном итоге результирующей командой для создания собственной прошивки будет например такая (при условии, что модифицировались образы system.img, preload.img, автором прошивки является xxx-man и название прошивки K860_FIRMWARE_MOD.szb):
./szbtool_x86 -b uboot.bin -k boot.img -r recovery.img -s system-repack.img -c cpimage.img -p preload-repack.img -e -a xxx-man -v K860_FIRMWARE_MOD.szb

SZB-Tools.rar

8 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу