firmware structure of Kenwood MXLO15KLG4.
Based on firmware 1G(S_V4_2_0206_0500) for Mitsubishi Outlander.
Structure firmware the same for Mitsubishi ASX, Pajero and Lancer
#
#S_V4_2_0206_0500
#
BT_V21C
DB_V0.0.006.1300
MAIN_V4_2_0206_0500
NK_V4_2_0206_0500_8G
PANEL_V4_2_0106_0500
SXM_V0B2A01
TCONF_V1_9_0006_0500
TOUCH_V0_0_2246_0200
UBOOT_V4_2_0206_0500_release
#
# end
#
Structure of NaviNk_V4_2_0206_0500.nfu
Begin
End
Description
20
22
CRC16 of zip file(CRC16-CCITT Kermit)
90
9f
Id of firmware
0200
040200
bios.bin
040200
080500
s-bios.bin
080500
01480000
boot.img (to unpack and pack you can use unmkbootimg и mkbootimg)
01480000
EOF
zip file with system.img and bootloader
Structure of Zip file from NaviNk_V4_2_0206_0500.nfu
boot.img,1,e266,808000
qboot.bin,1,dee5,5377000
update_uImage,1,d42,8fe000
RTFM_SH4A_MA100.bin,0,0,0
system.img,1,ba5b,15c00000
bios.bin,1,5105,c96c
s-bios.bin,1,a016,4a24
<Name of File>,1,<CRC16-CCITT Kermit>, <Size of File>
Editing of NaviNk_V4_2_0206_0500.nfu
Edit NaviNk_V4_2_0206_0500.nfu with WinHex
calculate checksum 8 bit
update CRC8 inside SumList.ini.
NaviNk_V4_2_0306_0500.nfu : <8 bit checksum>
Edit zip inside NaviNk_V4_2_0206_0500.nfu
extract file from position 0x1480000(using WinHex)
repack with new system.img
calculate a new CRC16 for system.img (CRC16-CCITT Kermit)
Update NaviNk_V4_2_0206_0500.nfu
update CRC16 of zip file inside NaviNk_V4_2_0206_0500.nfu (position 0x20, alg: CRC16-CCITT Kermit)
mount system.img
sudo mkdir system
sudo mount -rw system.img system
Go to the system folder and modify data.
unmount folder
change CRC16 of system.img inside datainfo (CRC16-CCITT Kermit)
===================
Структура прошивки для Kenwood MXLO15KLG4.
На основе структура прошивки 1G(S_V4_2_0206_0500) для Mitsubishi Outlander.
Структура прошивки анологична для других автомобилей как Mitsubishi ASX, Pajero, Lancer
#
#S_V4_2_0206_0500
#
BT_V21C
DB_V0.0.006.1300
MAIN_V4_2_0206_0500
NK_V4_2_0206_0500_8G
PANEL_V4_2_0106_0500
SXM_V0B2A01
TCONF_V1_9_0006_0500
TOUCH_V0_0_2246_0200
UBOOT_V4_2_0206_0500_release
#
# end
#
Структура файла NaviNk_V4_2_0206_0500.nfu
Начало
Конец
Описание
20
22
Хеш сумма zip файла с system.img, Алгоритм CRC16-CCITT Kermit
90
9f
Идетификатор прошивки
0200
040200
bios.bin
040200
080500
s-bios.bin
080500
01480000
boot.img прошивки можно разобрать и собрать unmkbootimg и mkbootimg
01480000
EOF
zip файл с system.img и с бутлоадером
Структура Zip файла из NaviNk_V4_2_0206_0500.nfu
Файл
Описание
datainfo
Файл с Хеш файлов из bin, Алгоритм CRC16-CCITT Kermit
bin/qboot.bin
qboot.bin
bin/bios.bin
bios.bin
bin/s-bios.bin
s-bios.bin
bin/partition
partition
bin/system.img
[образ Android 4.2.2 со всеми приложениями(#edit-systemimg)
bin/boot.img
boot.img прошивки можно разобрать и собрать unmkbootimg и mkbootimg
Структура datainfo из Zip файла прошивки NaviNk_V4_2_0206_0500.nfu
boot.img,1,e266,808000
qboot.bin,1,dee5,5377000
update_uImage,1,d42,8fe000
RTFM_SH4A_MA100.bin,0,0,0
system.img,1,ba5b,15c00000
bios.bin,1,5105,c96c
s-bios.bin,1,a016,4a24
<имя файла из zip>,1,<Хеш сумма по алгоритму CRC16-CCITT Kermit>, <Размер файла>
редактирование NaviNk_V4_2_0206_0500.nfu
редактируем
вычисляем checksum 8 bit
обновляем файл SumList.ini который рядом с NaviNk_V4_2_0206_0500.nfu
NaviNk_V4_2_0306_0500.nfu : <8 bit checksum>
редактирование zip файла из NaviNk_V4_2_0206_0500.nfu
извлекаем файл например WinHex
редактируем
вычисляем Хеш (CRC16-CCITT Kermit)
обновляем файл прошивки
Не забываем обновить Хеш по адресу 0x20
редактирование system.img
Монтируем раздел в директорию system
sudo mkdir system
sudo mount -rw system.img system
Заходим в папку system и редактируем раздел.
Размонтируем раздел
файл system.img изменился и нужно обновить Хеш в файле datainfo (CRC16-CCITT Kermit)