Кодовая группа (англ. CG, Code Group) — общее название составных частей прошивки в телефонах Motorola. Все кодовые группы играют свою роль в функционировании телефона.
Для P2K телефонов
| CG | Описание | Подписана |
|---|---|---|
| CG0 | Карта адресов CG | Да |
| CG1 | Основное ПО телефона | Да |
| CG2 | Пользовательские данные (Flex) | Нет |
| CG3 | ПО DSP-процессора | Да |
| CG4 | Языковой пакет | Нет |
| CG5 | Таблица конфигурации оборудования | Нет (кроме первых 4 байт) |
| CG6 | Зона безопасности (PDS) | Нет |
| CG7 | Модуль обновления FOTA (обновление по воздуху, зависит от оператора) | Да |
| CG8 | Заголовок и программный код Boot loader-a (в L9 — картинка Hellomoto) | В L9 — нет |
| CG15 | Графический пакет (DRM) | Нет |
| CG18 | Цифровая подпись прошивки - иногда DualBoot | Нет |
Для ODM телефонов
MING A1210, A810 (?) и др. от E28
| CG | Описание |
|---|---|
| CG8 | Memory Map? Sign? CDT? |
| CG10 | BMP logo |
| CG11 | Linux Kernel, zImage, gzipped (is BLOB aka Linux Bootloader also here?) |
| CG12 | rootfs image, cramfs |
| CG13 | appdata image, jffs2 |
| CG14 | userdata image, cramfs |
| CG15 | config image, cramfs |
| CG16 | Unknown data, BP-firmware? |
Для EZX телефонов
A760, A768 и др.
| CG | Описание |
|---|---|
| RDL0 | RAM Downloader Programm for BP? |
| RDL3 | RAM Downloader Programm for AP? |
| CG0 | BP Memory Map? |
| CG1 | BP Firmware? |
| CG3 | BP DSP Firmware? |
| CG11 | Linux Kernel, zImage, gzipped (is BLOB aka Linux Bootloader also here?) |
| CG12 | rootfs image, cramfs |
| CG13 | ezxlocal image, vfm Intel StrataFlash (hatcreek.o) filesystem |
| CG14 | userdata image, cramfs |
| CG15 | config image, cramfs |
| CG16 | BMP logo, gzipped |
| CG17 | Signature? Small Code Group ~200 bytes |
| CG19 | Unknown data for BP? |
A728, A768i и др.
| CG | Описание |
|---|---|
| RDL0 | RAM Downloader Programm for BP? |
| RDL3 | RAM Downloader Programm for AP? |
| CG0 | BP Memory Map? |
| CG1 | BP Firmware? |
| CG2 | BP Flex? |
| CG3 | BP DSP Firmware? |
| CG11 | Linux Kernel, zImage, gzipped (is BLOB aka Linux Bootloader also here?) |
| CG12 | rootfs image, cramfs |
| CG13 | ezxlocal image, vfm Intel StrataFlash (hatcreek.o) filesystem |
| CG14 | userdata image, cramfs |
| CG15 | config image, cramfs |
| CG16 | BMP logo, gzipped |
| CG17 | Signature? Small Code Group ~200 bytes |
E680, E680i, E680g, A780 и др.
| CG | Описание |
|---|---|
| RDL0 | RAM Downloader Programm for BP? |
| RDL3 | RAM Downloader Programm for AP? |
| CG0 | BP Memory Map? |
| CG1 | BP Firmware? |
| CG2 | BP Flex? |
| CG3 | BP DSP Firmware? |
| CG18 | BP Sign? (E680i, A780) |
| CG32 | Linux Kernel, zImage, gzipped (is BLOB aka Linux Bootloader also here?) |
| CG33 | rootfs image, cramfs |
| CG34 | ezxlocal image, vfm Intel StrataFlash (hatcreek.o) filesystem |
| CG35 | userdata image, cramfs and tffs?, signature at the beginning and checksum/byte counter every 0x400 |
| CG36 | config image, cramfs |
| CG37 | BMP logo, gzipped |
| CG38 | Phone Memory Image, vfat and ttfs?, signature at the beginning and checksum/byte counter every 0x400 |
| CG39 | Signature? Small Code Group ~200 bytes |
Поскольку никто не написал программ для работы с SHX-файлами редких Linux-телефонов, можно использовать для их разбора на кодовые группы обычный RSD Lite версии 3 или 4. Подключаем любой телефон в режиме бутлоадера, выбираем интересуемый нас файл прошивки, нажимаем кнопку "Start" для прошивки и отключаем телефон. RSD Lite корректно разберёт SHX-файл и выдаст ошибку. Не закрывая RSD Lite копируем разобранные файлы SMG кодовых групп в любое другое место, поскольку после закрытия RSD Lite их удаляет.
ROKR E2, ROKR E6, MING A1200, A910, E895 и др.
| CG | Описание | BackUp команда |
|---|---|---|
| RDL1 | RAM Downloader Programm for BP? | - |
| RDL3 | RAM Downloader Programm for AP? | - |
| CG0 | BP Memory Map? | - |
| CG1 | BP Firmware? | - |
| CG2 | BP Flex? | - |
| CG3 | BP DSP Firmware? | - |
| CG7 | BP Sign? | - |
| CG18 | BP Sign? | - |
| CG30 | MBM? | ? |
| CG31 | MBM Config? Memory MAP? Kernel boot options saved here (cmdline). | cp /dev/mtd5 /mmc/mmca1/CG31.smg |
| CG32 | BLOB (Linux Bootloader) | cp /dev/mtd6 /mmc/mmca1/CG32.smg |
| CG33 | Linux Kernel, zImage, bzipped or gzipped | cp /dev/mtd7 /mmc/mmca1/CG33.smg |
| CG34 | data_resource image, cramfs | cp /dev/roflash2 /mmc/mmca1/CG34.smg |
| CG35 | userfs_db (ezx_user) image, jffs2 | cp /dev/mtdblock8 /mmc/mmca1/CG35.smg |
| CG36 | userfs_general (ezxlocal) image, jffs2 | cp /dev/mtdblock9 /mmc/mmca1/CG36.smg |
| CG37 | secure_setup image, cramfs | cp /dev/roflash4 /mmc/mmca1/CG37.smg ./addsmg CG37.smg -head 0x1000 FF (host command) |
| CG39 | logos, blobed GIF | cp /dev/mtd11 /mmc/mmca1/CG39.smg |
| CG41 | language image, cramfs | cp /dev/roflash1 /mmc/mmca1/CG41.smg |
| CG42 | setup image, cramfs | cp /dev/roflash3 /mmc/mmca1/CG42.smg |
| CG43/CG44 | rootfs image, cramfs | cp /dev/roflash /mmc/mmca1/CG43.smg ./addsmg CG43.smg -head 0x1000 FF (host command) |
Подробности:
Для MOTOMAGX телефонов
Кодовые группы описанные в cdt
| CG | Подписана | Название | Содержание |
|---|---|---|---|
| 30 | Да | mbm.img | Motorola Boot Manager (MBM) |
| 31 | Да | cdt.bin | cdt |
| 34 | Да | lbl | Linux Bootloader |
| 35 | Да | zImage | Ядро |
| 36 | Да | rootfs.img | Squashfs-образ корневой ФС |
| 37 | Нет | userfs.img | Jffs2-образ /ezxlocal |
| 38 | Нет | pdsfs.img | Yaffs2-образ PDS; монтируется как /etc/pds |
| 41 | Да/Нет | atags.img/logo_cli.bin | Параметры загрузки ядра/Логотип (?) |
| 42 | Нет | logo.bin | Логотип |
| 43 | Нет | setup.img | Squashfs-образ /usr/setup |
| 44 | Да | securesetup.img | Squashfs-образ /usr/securesetup |
| 45 | Да* | gsm_scmall_build.bin | Прошивка BP |
| 46 | Да | language.img | Squashfs-образ /usr/language |
| 48 | Нет | mass_storage.img | Yaffs2-образ /mnt/msc_int0 Содержит vfat-образ, монтируемый как /ezxlocal/download/mystuff (пользовательская память) Во время установки полной прошивки данная кодовая группа содержит также файлы generic_pds_init и sim_lock_init, которые описывают изменения вносимые в PDS телефона после установки прошивки. В основном - это перезапись версии BP-Flex и установка блокировок на использование телефона только в сетях определенных операторов (если прошивка "залочена" на определенного оператора). |
| 49 | Да | usb_firm.bin | Прошивка USB |
| 50 | ? | ? | FOTA? |
| 51 | Нет | ho_data.bin | ? |
| 52 | Нет | resource.img | Squashfs-образ /usr/data_resource |
| 53 | Нет | kpanic | дамп kernel panic |
| 54 | Нет | rsv | зарезервированные блоки на случай сбоя NAND |
| 55 | Да | mbmbackup.img | (Motorola Boot Manager backup?) |
| 56 | Да* | bploader.img | Загрузчик прошивки BP |
| 58 | Нет | ua_temp.bin | ? |
| 59 | Нет | ua_backup.bin | ? |
| 60 | Да | panel_script.bin | ? |
| 61 | Да | device_tree.bin | Описание аппаратной части телефона (назначение сходно с блоком HWCFG на P2K). Отображается в виде файловой системы в /sys/mothwcfg. |
| 62 | Да | initramfs.img | initramfs - первоначальная корневая файловая система используемая на этапе загрузки телефона. Содержит модули ядра загружаемые до монтирования rootfs. |
* в отличие от остальных групп подпись проверяется BP.
Нумерация кодовых групп, принятая при установке MBM
| CG | Название | Содержание |
|---|---|---|
| 30 | mbm.img | Motorola Boot Manager (MBM) |
| 31 | mbmloader | |
| 32 | bploader | Загрузчик прошивки BP |