How to extract a IFS file

Аватара пользователя
Black Wolf
Новичок
Сообщения: 27
Зарегистрирован: Чт мар 28, 2013 12:04 am
Откуда: Зимбабве

Сообщение Black Wolf »

Считалось, в контексте данной темы, как правило, на замену любых типов IMGS QNX, вы буквально понял мое сообщение! QNX в любом случае нужен, по крайней мере, извлекать файлы из IFS Imga. Возможно вы используете crackovanu QNX версии, так что это легко говорить ... Никто не упомянул код запуска, и это не оспаривается, что он не может в одиночку создать, обсуждает изменение существующих IMGS от производителя! Кроме того, все эти ГИМ я проанализировал из EFS для МСФ, и я знаю, и я говорю. Бывший трещина, два варианта, один из sergeynick и другие изменение - загрузить быстро, были основаны на IMGS EFS, EFS и EFS system.efs extended.efs, сослагательного наклонения история началась после 3gapp использовать в последнее время ;) .

постскриптум
Я надеюсь, что Google не так уж плохо переведены, и что вы не поймете буквально все мои письма, говоря немного вообще говоря :) .
slav
Пользователь
Сообщения: 54
Зарегистрирован: Вс ноя 17, 2013 11:51 pm
Откуда: Киев

Сообщение slav »

Google переводит плохо. Ничего не понимаю ))
Учите Русский... или пишите на английском. ))) Я тоже постарарюсь.
QNX IDE не может редактировать образы, а лишь создавать. Так что, в файле .build нет смысла, даже если вы его воспроизведёте. Почему - я уже объяснил.
slav
Пользователь
Сообщения: 54
Зарегистрирован: Вс ноя 17, 2013 11:51 pm
Откуда: Киев

Сообщение slav »

The first program in a bootable Neutrino image is a startup program whose purpose is to:
1. Initialize the hardware.
2. Initialize the system page.
3. Initialize callouts.
4. Load and transfer control to the next program in the image.

You can customize Neutrino for different embedded-system hardware by changing the startup program.

If you can customize startup sources from SH7785SDK BSP and compile startup program for mmi3g - you can make new image, using QNX IDE.
Аватара пользователя
Black Wolf
Новичок
Сообщения: 27
Зарегистрирован: Чт мар 28, 2013 12:04 am
Откуда: Зимбабве

Сообщение Black Wolf »

slav писал(а):Google переводит плохо. Ничего не понимаю ))
Учите Русский... или пишите на английском. ))) Я тоже постарарюсь.
QNX IDE не может редактировать образы, а лишь создавать. Так что, в файле .build нет смысла, даже если вы его воспроизведёте. Почему - я уже объяснил.

Я полагал, что, но в отношении этой великой форуме я попытался писать по-русски ;) , а в Мэнни российских форумах forbiddent писать в дифф яз, чем русские :) .

I supposed that, but in respect to this great forum i tried write in russian ;) , and in manny russian forums is forbiddent to write in diff lang, than russian :) .
Аватара пользователя
Black Wolf
Новичок
Сообщения: 27
Зарегистрирован: Чт мар 28, 2013 12:04 am
Откуда: Зимбабве

Сообщение Black Wolf »

slav писал(а): You can customize Neutrino for different embedded-system hardware by changing the startup program.

If you can customize startup sources from SH7785SDK BSP and compile startup program for mmi3g - you can make new image, using QNX IDE.
I know how it works, already made patch for all them, old patch based on .efs imgs sys and ext, and new 3gapp, not necessary explanation of it. Again i think we aren't on same freqs :) , i didnt speak about creating new imgs, even that can be done, but about editing imgs by QNX official tools. But to not spam this thread with this matter, i'll stop here, cause think is for most of members here not useful, cause they are concetrated in specific area - activating, online services, not much about CP, etc. :) , and think here not much programmers, but Sergey, suppose you, Uknik, and maybe 2-3 more guys.

I work on patching k775 rns850 with zerbino, will post it soon ;) .

p.s.
sorry for 2 posts, mod please merge them.
slav
Пользователь
Сообщения: 54
Зарегистрирован: Вс ноя 17, 2013 11:51 pm
Откуда: Киев

Сообщение slav »

Initially, I gave the answer to theed, about build file.
He wrote:
theed писал(а):Thanks, bertelsmann
Now i have a normal directory structure, anybody luck with a build file to use makeifs, and use a custom version?
Still going through the qnx manuals to find out what it should have been.
theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

Still trying to create a buildfile, using a buildfile from a evaluation board sh7780.
The symbol links are not the hardest part and how to include the files also, using the extraction log of the dumpIFS command as a reference.

I bricked the MMI 3GP myself, by flashing it wrongly, only having the bootloader as a command line tool.
As an engineer (development not on QNX and electronics) i cant stand it that i did that, so i have to fix it myself.
bertelsmann
Пользователь
Сообщения: 33
Зарегистрирован: Вт апр 08, 2014 12:33 pm

Сообщение bertelsmann »

Hey there,

well i see exactely the mentioned problems
how to include a working startup into the image
and also how to create the correct /proct/boot/.script file
due to qnx docu this seems also be defined in the build file.

maybe it could be a way using buildtool to create a working ifs filesystem and
copy the startup from an existing - original image.

IFS Image always starts with 4 byte magic
0x00-0x03 - startup header magic (EB 7E FF 00)

The image is little endian alligned
With the mmi images the Filesystem inside the image
always starts at
0xd108
with the Magic "69 6D 61 67 65 66 73 04" (Ascii: imagefs.)

So everything bevor that address is header and startup code

With that knowledge it should be possible to locate the ifs filesystem start within the buildtool created image
cut away everything bevore it und replace it with the first 0xd108 bytes of an original image.

probably some offsets and start adresses within the header have to be adjusted.

I never tried that. it is just an idea to discuss - what do you think ?

regards
Аватара пользователя
zerbino
Местный
Сообщения: 256
Зарегистрирован: Вт дек 10, 2013 9:37 pm
Откуда: Moscow

Сообщение zerbino »

На прошивке 0775 команда
IFSDUMP -zx $IMAGE


уже не работает(
Пишет ошибку - Memory Fault (Core Dumped)

Пришлось обратиться к тутошнему спецу по IFS-ам) И спасибо ему за это.
Аватара пользователя
sergeynik
Сообщения: 4920
Зарегистрирован: Ср янв 17, 2007 3:00 am
Контактная информация:

Сообщение sergeynik »

у меня все по прежнему ))
http://www.sergeynik.com/mmi/ifs775.ifs.dir.rar
Аватара пользователя
zerbino
Местный
Сообщения: 256
Зарегистрирован: Вт дек 10, 2013 9:37 pm
Откуда: Moscow

Сообщение zerbino »

Ну просто или у меня qnx глюканула, или у тебя другая тулза ;)
Эти два аппа парни уже пофиксили.. Теперь жду от них ifs собраных) + они на этой прошивке ввели проверку на версию юнита для обновления.
Думаю теперь, выкинуть ли этот функционал или его наипат.

Думаю просто легче выкинуть этот момент
#############################################################################
#
# KD Pre-Update Check Whitelist
#
#############################################################################

[KDPreUpdateCheck]
VendorInfo="Harman"
DeviceDescription="KD Pre-Update Check Whitelist"
scriptPost = "./KDPreUpdateCheck/postUpdateScript"
scriptPostName = "PostScript"
scriptPostCRC = "f1efbe76"
scriptPostMaxTime = "30"
checkAllUpdates = "true"

[KDPreUpdateCheck\data\0\default\File]
Version = "775"
Source = "KDPreUpdateCheck.csv"
FileSize = "427"
Destination= "/mnt/efs-persist/KDPreUpdateCheck.csv"
DisplayName= "KDPreUpdateCheckWhitelist"
DeleteDestinationDirBeforeCopy = "false"
IsDestinationInFFS = "true"
UpdateOnlyExisting = "false"
CheckPoint = "2097152"
CheckType = "CRC32_CheckWrittenData"
CheckSumSize = "524288"
CheckSum = "746fc605"
Аватара пользователя
sergeynik
Сообщения: 4920
Зарегистрирован: Ср янв 17, 2007 3:00 am
Контактная информация:

Сообщение sergeynik »

оно просто не может работать видемо со старыми. нет у меня не оригинальная тулза
Zdenek
Новичок
Сообщения: 20
Зарегистрирован: Пт дек 13, 2013 8:43 pm

Сообщение Zdenek »

Hi Sergej, can you pls reupdate new file for this ifs.
http://rapidshare.com/share/DC683B0F...30D40C4166DEEF

Thanks
Wladek
Новичок
Сообщения: 3
Зарегистрирован: Пт мар 14, 2014 1:42 am
Откуда: Polska

Сообщение Wladek »

Я сделал это по-разному. Я распаковал IFS-root.ifs в один файл, заменяет файлы и я пакет снова.
theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

Sergeynik, how do you repack a IFS then, not with mkifs?
Still trying to create a ifs with the qnx tools, need the startup-SH7785 file, anyone?
bertelsmann
Пользователь
Сообщения: 33
Зарегистрирован: Вт апр 08, 2014 12:33 pm

Сообщение bertelsmann »

@Wladek: How ?!?
Wladek
Новичок
Сообщения: 3
Зарегистрирован: Пт мар 14, 2014 1:42 am
Откуда: Polska

Сообщение Wladek »

dumpifs [-z -ufile] image [files]
In this way you can unpack ifs-root.ifs into one file, but there is a small problem. Dumpifs adds some bytes that need to be removed. For packaging we created a special program that updates the header (size, CRC ...)

After unpacking it must be ok:

Offset Size Name
0 100 Startup-header flags1=0x9 flags2=0 paddr_bias=0x80000000
100 d008 startup.*
d108 5c Image-header mountpoint=/
d164 6638 Image-directory
---- ---- Root-dirent
14000 65000 proc/boot/procnto-instr
79000 1194 proc/boot/.script
7b000 4f9 proc/boot/serverstarterboot
7c000 4d3 proc/boot/serverstarterboot_tmp
7d000 2e7 proc/boot/server.cfg
theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

Thanks, i tried dumpifs and have a uncompressed ifs now. Where are the checksums located?
bertelsmann
Пользователь
Сообщения: 33
Зарегистрирован: Вт апр 08, 2014 12:33 pm

Сообщение bertelsmann »

The last 4 bytes of the startup header is a crc checksum
also the last 4 bytes of the imagefs
they are calculated from 1st to last byte including the checksum itself

remember everything is little endian in mmi ifs

when you recompress the ifsfs after modification there is an additional checksum
after the compressd imagefs
theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

i need to get rid of the file sbin/io-media-nvidia in the emg-ifs, with that it is small enough to transfer it by zmodem to the unit.
When i load the uncompressed ifs file in a hex editor, the adresses given by the dumpifs command do not correspond to the adresses in the ifs file.
Which command do i use to repack/compress the ifs file again?
Ответить