PDA

Просмотр полной версии : How to extract a IFS file



theed
17.03.2014, 00:55
Hello,

I want to create a custom ifs-EMG.IFS file for repairing a MMI3G. With dumpifs it should be possible to extract a IFS, but it gives an error "Unable to find startup header in ifs-emg.ifs".
Did i forget some parameters.

slav
18.03.2014, 00:20
Give your IFS and i'll extract it for you.

theed
18.03.2014, 20:04
Slav,
My goal is to have a ifs file for a 3GP smaller than 3 mb, so it can be uploaded to my 3GP unit.
During the tranfser the unit goes to sleep within 5 or 6 minutes during the z modem transfer (10kbps), so the original ifs-emg upload is stopped. I tried a ifs-emg from a 3G unit that is about 3mb and it transfers by zmodem and the unit tries to boot with it, the architecture of a 3G is different so it stops.
I have put a image on this link:< (http://rapidshare.com/share/6AAD8E314EB900B22F8398E173C9BA5B)link deleted>
Is it possible to create a new ifs from the extracted with makeifs then, with a new build file.

slav
18.03.2014, 20:30
Unfortunaly, i can't make new image for zmodem. I can only unpack your image.
BTW, your link doesn't work.

sergeynik
18.03.2014, 22:27
need MU version

theed
19.03.2014, 00:46
The Mu version is:
IPL: Audi 3G 9308 (SH7785) / QNX 6.3.0 [PL_qnx_ipl-3g_9308-sh7785_08253A, built 2008/06/18_15-16-25_UTC]
CPU: SH7785 (>= 5th cut, clk mode 20. 4xDDR), 792MHz
RAM: 512 MB (probed, DBCONF=e30002)
FLASH: Spansion S29GL512N (32bit): 512 sectors x 256K
FPGA: PL_MMI3G_PLUS_FPGA_9411_D1_11384A (0ms)
*** Old-fashioned mark found on IFS @0x1c0000: .zero=0x30000013
*** Old-fashioned mark found on IFS @0x680000: .zero=0x10000000
RAM : 128 MB @0x08000000
RAM : 128 MB @0x40000000
NVRAM: 36 MB @0x5dc00000
RAM : 220 MB @0x50000000
FLASH: 128 MB @0x00000000
FPGA IRQ: Interrupt Controller ID:33 Ver:2.1.0 ILVL:7 Lines:255


System page at phys:0800a000 user:0800a000 kern:8800a000
Starting next program at v8804bae0
Welcome QNX6.3.2 (QNXLabel RL_qnx_os_632_PSP3_08041A)- Harman/Becker MMI3GP Build 9498 E1-12032B
USB-stuff (QNXLabel RL_qnx_os_632_PSP3_08041A)
Train ID: HN+_KR_AU3G_P0553 (or higher in case of train updates without MU change)
Release Candidate: 1.0 (or higher minor version)
MU version: 0553

before i flashed it i wrong adress (forgot one 0 at the end of the adress).

bertelsmann
09.04.2014, 15:37
Any news on That?
Well unpacking is not a problem,
either change a few bytes in the ifs header so that dumpifs (qnx tools) can handle it
or write your own little extraction tool. IFS is LZO compressed - once you decompressed it
it is the normal ifs structure.

but did anybody succeded in repacking it into an working ifs image (buildfile)
which the mmi ipl accepts - i did not :-(
Any help appreciated

regards

theed
09.04.2014, 17:02
No, i did not succeed in extracting the ifs yet.
My idea was to extract the ifs, create a new buildfile and rebuild a (smaller) ifs.
Which bytes do i have to change, i will give it a try?
As far as i know Sergeynik can make a new IFS.

bertelsmann
09.04.2014, 20:59
Hi,

get the qnx developer tools.
There is a tool called dumpifs

on older firmware images (before 612 i guess) this worked

do either change byte 0x37 from 01 to 00
or use the option -z

dumpifs -zx image.file

if you changed the bit 0x37 you do not have to use the -z option

since version 612 ifs is compressed in a different way
i am not sure if there is a way to decompress with dumpifs

regards

zerbino
09.04.2014, 23:53
Hi,

get the qnx developer tools.
There is a tool called dumpifs

on older firmware images (before 612 i guess) this worked

do either change byte 0x37 from 01 to 00
or use the option -z

dumpifs -zx image.file

if you changed the bit 0x37 you do not have to use the -z option

since version 612 ifs is compressed in a different way
i am not sure if there is a way to decompress with dumpifs

regards
Hi! If i can view statistics of ifs-root.ifs by command dumpifs ifs-root.ifs like at феефсрув file, does it must be unpacked by this utility or not?
i type dumpifs -x ifs-root.ifs but only have output like

Checksums: image=0xe4ba088a startup=0xeb3f2b45
and no any files exists.

Is it posible get content of ifs-root.ifs or it have some nuances?

24991

theed
10.04.2014, 00:13
I used the command like this:

dumpifs -z -d d:\dump\ifs-emg\ -b d:\dump\ifs-emg.ifs

It gave me a dump of the file in the d:\dump\ifs-emg\ directory, without the -b i get an error that it was unable to open a directory.
The -b is for dumping in the root of the directory, i did not change the byte 37

theed
10.04.2014, 00:22
After investigating the extracted files there is one nvidea driver file of 2mb, if i can get rid of that file there is enough time to reflash the unit.
Must be possible to generate a new buitldfile from some qnx examples on the web, and then make a new one by makeifs.
Ill keep you updated.

bertelsmann
10.04.2014, 01:48
you have to create the directories first

try something like this:

IMAGE=$1
echo "Dumping content of $IMAGE..."
$IFSDUMP -z $IMAGE |awk '{print $3}' >$TMPDIR/ifscont.txt
$IFSDUMP -z $IMAGE |grep "\->" |awk '{print $3" -> "$5}' >$TMPDIR/ifslinks.txt
for i in `cat $TMPDIR/ifscont.txt`; do dirname $i; done |sort -u >$TMPDIR/dirlist.txt
for i in `cat $TMPDIR/dirlist.txt`; do mkdir -p ./$i; done
#create symlinks
while
read i
do
SRC=`echo -e "$i" | awk '{print $3}'`
LNK=`echo -e "$i" | awk '{print $1}'`
LNKDIR=`dirname $LNK`
LNKBASE=`basename $LNK`
cd $LNKDIR
ln -s $SRC $LNKBASE
cd $CURDIR
done < $TMPDIR/ifslinks.txt
##
$IFSDUMP -zx $IMAGE
echo "done !"

theed
10.04.2014, 23:48
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.

slav
11.04.2014, 00:26
Good luck ))

theed
13.04.2014, 14:54
sergeynik, do you have any info, regarding a buildfile?

Black Wolf
13.04.2014, 17:12
Вы будете нуждаться в QNX строителя;) = лицензию QNX, или попробовать использовать оценивается версию - в течение 30 дней.

http://www.qnx.com/developers/docs/6.3.0SP3/ide_en/user_guide/builder.html

slav
13.04.2014, 17:36
А всё остальное Пушкин напишет? Стартап код, наприер? Не морочьте голову ))

Black Wolf
13.04.2014, 18:16
Я могу понять ваше русски, потому что Google Translate, плохо переведены. Мы не говорим о написании scripts и программирования на языке Java, но QNX строитель;), что создаст флэш изображения EFS и другие параметры вашего 3G + в;).



Если это так, то вы "Пушкин" делают нас одной EFS вручную;)...

уверен, что есть пути для хороших программистов, чтобы dissasemble EFS IMG и т.д., но здесь, в основном новички, и именно поэтому я предложил QNX строитель, потому что я не видел много разработчиков здесь, за исключением Sergeynick и Uknik;), может быть, у вас есть еще один «Пушкин "Р?

slav
13.04.2014, 21:25
Вы название темы видели? Тут речь идёт об IFS, а не EFS. Вас что интересует? EFS не надо редактировать. Зашейте образ во флеш, монтируйте, сделайте изменения и сделайте дамп. С IFS всё гораздо сложнее. Не хотел вас расстраивать, но, QNX IDE не поможет, и билд файл тоже. Сделать билд можно, но, стартап код, необходимый для загрузки системы, есть только у производителя.
И, да, я собирал образы билд-файлами, для других устройств, и знаю о чём говорю.

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

постскриптум
Я надеюсь, что Google не так уж плохо переведены, и что вы не поймете буквально все мои письма, говоря немного вообще говоря :).

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

slav
13.04.2014, 21:56
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
13.04.2014, 22:02
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
13.04.2014, 22:06
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
13.04.2014, 22:19
Initially, I gave the answer to theed, about build file.
He wrote:

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
14.04.2014, 00:12
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
14.04.2014, 02:18
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
14.04.2014, 12:52
На прошивке 0775 команда
IFSDUMP -zx $IMAGE

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

Пришлось обратиться к тутошнему спецу по IFS-ам) И спасибо ему за это.

sergeynik
14.04.2014, 19:47
у меня все по прежнему ))
www.sergeynik.com/mmi/ifs775.ifs.dir.rar

zerbino
14.04.2014, 20:17
Ну просто или у меня 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
14.04.2014, 20:55
оно просто не может работать видемо со старыми. нет у меня не оригинальная тулза

Zdenek
15.04.2014, 00:01
Hi Sergej, can you pls reupdate new file for this ifs.
http://rapidshare.com/share/DC683B0F...30D40C4166DEEF (http://rapidshare.com/share/DC683B0FB9B0BB049D30D40C4166DEEF)

Thanks

Wladek
15.04.2014, 00:59
Я сделал это по-разному. Я распаковал IFS-root.ifs в один файл, заменяет файлы и я пакет снова.

theed
15.04.2014, 12:14
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
15.04.2014, 22:34
@Wladek (http://turbo-quattro.com/member.php?6950-Wladek): How ?!?

Wladek
16.04.2014, 00:08
dumpifs [-z -u file] 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
17.04.2014, 11:03
Thanks, i tried dumpifs and have a uncompressed ifs now. Where are the checksums located?

bertelsmann
17.04.2014, 11:41
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
19.04.2014, 01:31
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?

bertelsmann
19.04.2014, 13:17
Hey,
i also do not know how to recompress again :-(
i just know it is lzo compresed
probably we have to write our own packer
right now i do not have enough time for that :-(
but i am also very interested in having a customized small ifs
for maintainance purposes

regards

Wladek
23.04.2014, 10:34
As I wrote earlier, we have created a program to re-compress IFS file.

bedrock
24.04.2014, 23:01
@Wladek,

I am also creating a program. I can uncompress into a single file and re-compress IFS ok at this time, using 64K block size and LZO. If I unpack and repack IFS with no changes binary compare same, but if I change I am not able to calculate correct checksum :( Do you have any more info? Is standard polynomial?

theed
25.04.2014, 01:11
@Bedrock, wow great

theed
07.05.2014, 01:23
As far as i know the uncompressed ifs has to be compressed by LZO. There are some large unneeded files in the ifs the nvidia driver for instance.
Is it a possibility to replace the area in the ifs where the nvidia driver is located with zero's. And then recompress again, 00 wil have maximum compression.

bedrock
12.05.2014, 23:50
Seems ifs-emg doesn't use LZO compression after all, but instead uses similar UCL compression, need to update my tool to support both ifs-root and ifs-emg ;)

Byte 0x06 of ifs header seems to indicate compression method, maybe others already knew

theed
13.05.2014, 17:50
Bedrock, checked it see the result of a scan command:

Entering CLI, type '?' or 'help' for help

=> scan
** @0x80100000: FPGA

total size: 746480 [0x0b63f0]
data: 746212 [0x0b62e4]

.FDR = PL_MMI3G_PLUS_FPGA_9411_D1_09422A

.FDU = Userinfos zu FPGA 9411_D1_4010_14lw

** @0x801c0000: IFS [vers.1, UCL, old EMERGENCY]

total size: 4666284 [0x4733ac]
- header: 256
- startup: 53512
- imagefs: 11565604

RAM: 11619116 [0xb14b2c]

** @0x80780000: IFS [vers.1, LZO, old APPLICATION]

total size:36867924 [0x2328f54]
- header: 256
- startup: 53512
- imagefs: 85872380

RAM: 85925892 [0x51f2004]

=== DATA CHECKSUM ERROR! ===

** @0x87f00000: BIOS packet

total size: 786432 [0x0c0000]

BIOS pattern: FFFFFF7F.FFFFFFFF
App. pattern: FFFFFF7F.FFFFFFFF

Is hard to notice, great finding

keldo
22.05.2014, 11:33
Hi Guys,

New to this forum but it is an honour to be here; I have a bricked MMI 3Gp, total black screen, I have been looking after a process how to recover it and I found a lot of information here on this forum. So thank you all!

The challenge for me was to understand information in Polish and Russian, so to help others (just like I got helped by here) I managed to put an English version of step-by-step document together.

Please find it attached here 26519 (UPDATED 26-May-2014)

Please note the attached PDF to this post is single release, the living verison of the document will reside here: http://www.scribd.com/doc/225614389/how-to-recover-a-bricked-Audi-MMI-3G

Regards,
KG

bertelsmann
27.05.2014, 21:18
keldo,

thank you very much for putting all this in one document !!!

zerbino
27.05.2014, 21:27
Hi Guys,

New to this forum but it is an honour to be here; I have a bricked MMI 3Gp, total black screen, I have been looking after a process how to recover it and I found a lot of information here on this forum. So thank you all!

The challenge for me was to understand information in Polish and Russian, so to help others (just like I got helped by here) I managed to put an English version of step-by-step document together.

Please find it attached here 26270

Regards,
KG

Dear foreign visitors! Please, when translating forum materials and shareing information from this forum, specify the source. At least in respect to the work of those who gave it all in the open access.

keldo
28.05.2014, 04:12
Zerbino, assuming your message is directed to me. I would like to draw to your attention to the following facts in response to your message:


When translating forum materials and sharing information from this forum, specify the source.
1. In my defence I have mentioned in my post that the content is a collection of information from this forum. The reality is, only the major portion of the content is from this forum, a lot of other information is complementary value-add from my end, which I have collected from various other sources.

2. Documents were can not be translated, reused or modified have to carry copyright notices, so there are no disappointments, embarrassments or infringements.


At least in respect to the work of those who gave it all in the open access.
3. Words such as 'honour to be here' in my option are respectful enough.

4. I'm getting a vibe that a lot of contributors of this forum that perform their research, hacking and development are looking for financial reimbursement. Which I completely agree in order to continue their great work, but the same contributors are also unhappy about release of my document.

Further discussion and outcome of this; you and I can discuss in private, only if that puts you in a better level of confidence.

zerbino
28.05.2014, 23:12
Даже и дискутировать не интересно на эту тему

walawa75
16.10.2014, 17:54
Hello all,

I try for several days to extract MMI3Gapplication from 783 FW from ifs-root.ifs with QNX dumpifs tool but it doens'nt work :-(( (The app crashs when I put the -z option)

Other question.

My car get MU9411/ifs-root.ifs(51). Do I extract ifs-root.ifs from 41 or 51 folder ?

Here is the link https://www.sendspace.com/file/1l7s0t

Does anyone can help me please ? :-))

bedrock
16.10.2014, 22:04
Fully extracted IFS for you (both 41 and 51)

https://mega.co.nz/#!thVhUKYa!ubYf3ETVm9R22yNnjRbWUhl5AeVM-F71yl06m6PaqZo

walawa75
17.10.2014, 02:59
Waouh !!!! Many many many many many thanks Bedrock !! Really great job.

unbe
18.10.2014, 20:35
https://github.com/unbe/mmi-ifs

djdeniska
04.02.2015, 02:28
https://github.com/unbe/mmi-ifs
А скомпилированную версию под винду можно?
Заранее спасибо

walawa75
27.03.2015, 21:24
Hello !!

I need a new ifs to be extracted. Does anyone can do for me please ? Dear Bedrock it would be great if you could or anyone ?

https://www.sendspace.com/file/bwyyzs

Thank you in advance.

bedrock
27.03.2015, 22:01
@walawa75: for you https://mega.co.nz/#!wsMDSK6A!wAH6AHRirlYZqt9hnd8jqltc3siE6s3urUc-8F2clnI

walawa75
27.03.2015, 22:15
Bedrock you're the best ....... as usual.

Thank you so much !!

audijiJQ
07.04.2015, 04:54
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.

Excuse me, why I always show: "Unable to find startup header in ifs-root.ifs"

MMI
01.08.2015, 22:47
Hi Theed,

Did you find a solution or explanation for this ===DATA CHECKSUM ERROR === ?

Regards,

ROy

MMI
01.08.2015, 22:48
Bedrock, checked it see the result of a scan command:

Entering CLI, type '?' or 'help' for help

=> scan
** @0x80100000: FPGA

total size: 746480 [0x0b63f0]
data: 746212 [0x0b62e4]

.FDR = PL_MMI3G_PLUS_FPGA_9411_D1_09422A

.FDU = Userinfos zu FPGA 9411_D1_4010_14lw

** @0x801c0000: IFS [vers.1, UCL, old EMERGENCY]

total size: 4666284 [0x4733ac]
- header: 256
- startup: 53512
- imagefs: 11565604

RAM: 11619116 [0xb14b2c]

** @0x80780000: IFS [vers.1, LZO, old APPLICATION]

total size:36867924 [0x2328f54]
- header: 256
- startup: 53512
- imagefs: 85872380

RAM: 85925892 [0x51f2004]

=== DATA CHECKSUM ERROR! ===

** @0x87f00000: BIOS packet

total size: 786432 [0x0c0000]

BIOS pattern: FFFFFF7F.FFFFFFFF
App. pattern: FFFFFF7F.FFFFFFFF

Is hard to notice, great finding





Hi, did you find a explanation or solution for this === DATA CHECKSUM ERROR === ?


Regards,

ROy

telewizoor
15.11.2017, 12:40
Hello, i can unpack IFS, change it and pack back. If you want know some more pelase write.

zerbino
15.11.2017, 13:02
Так пиши прям сюда, не стесняйся. Тут все свои))

telewizoor
15.11.2017, 13:47
Ok so you must unpack ifs image with proper tool, find files structure in unpacked image, replace file which you want, pack image back with proper tool and change checksums :) thats all

zerbino
15.11.2017, 15:00
Ok so you must unpack ifs image with proper tool, find files structure in unpacked image, replace file which you want, pack image back with proper tool and change checksums :) thats all

thank you, admiral Yasenkher

mobista
21.11.2017, 18:19
Can U explain what tool we need to unpack IFS?

bedrock
21.11.2017, 18:56
What IFS file you need unpacked? Link?

mobista
21.11.2017, 19:25
for example this file :
https://mega.nz/#!vFdmATyB!tQeqMwxPoiWKBX3eyM67ww75OaTHq4qb5B1z51W KNsI

bedrock
22.11.2017, 22:10
Done https://mega.nz/#!FkN2zRAS!Cwmg2nZ2esQcNFhd-p7Xi4HeXkbQ3Psyso83q3oNC9M (https://mega.nz/#!FkN2zRAS!Cwmg2nZ2esQcNFhd-p7Xi4HeXkbQ3Psyso83q3oNC9M)

mobista
23.11.2017, 10:44
Thank U very much mr bedrock.

Is there anybody who can repack IFS?

telewizoor
24.11.2017, 00:00
I need packed ifs to make repack :)

leader
15.12.2017, 19:53
Unpackign the ifs image is not a hard work.
With the help of mmi-ifs tool you can dump and decompress teh filesystem image. Than with dumpifs and with some shell scripting knoweledge you can extract and create the directory and file structure including the symlinks.

Maybe somebody can give some hints how to repack the filesystem structure into ifs image?
The mkifs utilitiy must be used? What arguments and attributes must be set for mmi3g?

mobista
16.12.2017, 14:00
you have to create the directories first

try something like this:

IMAGE=$1
echo "Dumping content of $IMAGE..."
$IFSDUMP -z $IMAGE |awk '{print $3}' >$TMPDIR/ifscont.txt
$IFSDUMP -z $IMAGE |grep "\->" |awk '{print $3" -> "$5}' >$TMPDIR/ifslinks.txt
for i in `cat $TMPDIR/ifscont.txt`; do dirname $i; done |sort -u >$TMPDIR/dirlist.txt
for i in `cat $TMPDIR/dirlist.txt`; do mkdir -p ./$i; done
#create symlinks
while
read i
do
SRC=`echo -e "$i" | awk '{print $3}'`
LNK=`echo -e "$i" | awk '{print $1}'`
LNKDIR=`dirname $LNK`
LNKBASE=`basename $LNK`
cd $LNKDIR
ln -s $SRC $LNKBASE
cd $CURDIR
done < $TMPDIR/ifslinks.txt
##
$IFSDUMP -zx $IMAGE
echo "done !"

Finally I know how to extract ifs-root.ifs, but all files are in one directory - how to create good *.bat to make directory and then unpack files with QNX?

Henno
25.11.2018, 23:54
Finally I know how to extract ifs-root.ifs, but all files are in one directory - how to create good *.bat to make directory and then unpack files with QNX?

push

MMI
03.01.2019, 18:44
Mistake, sorry

mobista
02.06.2019, 00:31
Hello. I'm trying to dump IFS from MIB. ifs-root file have 22 509 852 bytes of size, unpacked files 15 882 984 bytes - why? How to make proper unpack?

bedrock
02.06.2019, 00:52
Dumped ifs-root.ifs has two ifs images embedded in it like https://www.qnx.com/developers/docs/6.4.1/neutrino/technotes/multiple.html

Need to find second ifs marker in dump and split, then extract both parts.

--
bedrock

smash77
19.11.2019, 17:13
Привет всем! Кто-нибудь может помочь выгрузить полностью файловую систему? В моем случае она двойная, dumpifs выгружает только одну. https://drive.google.com/open?id=151Dtxc2CafpBw6-Sqi8ox84c5XEXph17

smash77
20.11.2019, 22:17
Hello. Can anyone help unload the entire file system? In my case it is double, dumpifs only unloads one. https://drive.google.com/file/d/151Dtxc2CafpBw6-Sqi8ox84c5XEXph17

bedrock
20.11.2019, 22:27
Hello. Can anyone help unload the entire file system? In my case it is double, dumpifs only unloads one. https://drive.google.com/file/d/151Dtxc2CafpBw6-Sqi8ox84c5XEXph17
Doesn't look like double to me. Here is filesystem https://drive.google.com/file/d/1rlJv7OxacktVbZR8p-QlJBrODW_YQVsY/view?usp=sharing

--
bedrock

smash77
20.11.2019, 23:55
Thanks for the answer, but this is only part of the file system, dumpifs at the end of work leaves ahead of time

kostia111
23.11.2019, 17:06
Hello. Help me restore
file system. these are the first steps to learning
dashboard on QNX https://cloud.mail.ru/public/5oMZ/5p9PgBEiv

Don
12.12.2019, 09:35
Hello, i can unpack IFS, change it and pack back. If you want know some more pelase write.
hi could tell me how to unpack ifs, thinks in advance

Dedraman
14.05.2020, 13:58
Доброго всем дня! Может и не по адресу обращаюсь, но нужна помощь в распаковке двух файлов прошивки для родственной системы RNEG PSA от Harman на QNX. У самого (пока) нет возможности это сделать, хотелось бы оценить, стоит ли вообще ввязываться. Файлы здесь https://yadi.sk/d/BspdZy_kxyZOmQ Буду премного благодарен!
Сама система у нас мало изучена, вот пытаюсь восполнить пробелы. Пока только научил её (хоть и не очень красиво) говорить по-русски. Хочется большего.

bedrock
14.05.2020, 21:38
Your ifs_1.ifs is same format as audi and can be extracted in same ways, here is linked to extracted contents of ifs_1
https://drive.google.com/open?id=12me4tSLWwA9N83jK4SerH1X4JmmoH6XW

I have not studied hbcifs file, it format is different and doesn't have ifs magic number, maybe it is hb cifs and related to CIFS file standard?? Just a guess.

Dedraman
15.05.2020, 09:37
Your ifs_1.ifs is same format as audi and can be extracted in same ways, here is linked to extracted contents of ifs_1
https://drive.google.com/open?id=12me4tSLWwA9N83jK4SerH1X4JmmoH6XW

I have not studied hbcifs file, it format is different and doesn't have ifs magic number, maybe it is hb cifs and related to CIFS file standard?? Just a guess.

Thank you very very much fo help and fast answer. Maybe hbcifs file has .efs format?
And some content I guess is similar to MMI3GApplication from Audi.

steatlh98
27.05.2020, 17:13
Thank you very very much fo help and fast answer. Maybe hbcifs file has .efs format?
And some content I guess is similar to MMI3GApplication from Audi.

hbcifs (Harman/Becker compressed IFS) is a signature of an IFS sub-partition (compressed) .
http://ftp.dataio.com/FCNotes/BBM/Harman%20Multiple%20Partition%20V2.1%20User%20Manu al.pdf

I'm also interested how to extract the files from these kind of (compressed) IFS files. Header is like this:

68 62 63 69 66 73 00 00 FF E4 9D 25 01 7B 2D 86 00 DB 20 00 0B EB FF AF E1 DC 02 02 88 00 01 37 79 C3 47 D9 F1 00 00 03 69 FE 13 23 69 6D 61 67 65
h b c i f s .................................................. .................................................. .................................................. ....................................... # i m a g e

with memifs2 -q -d <ifsfile> / i get this but it failed saying read not implemented (with 2008 version of memifs2):
byte 9 - 12 (partition size in LE)
byte 13 - 16 (image size in LE)

https://haxor.fi/how-the-firmware-updates-work-on-toyota-touch-go/
(https://haxor.fi/how-the-firmware-updates-work-on-toyota-touch-go/)https://icitech.org/wp-content/uploads/2015/09/ICIT-Brief_Whos-Behind-the-Wheel_Car-Hacking2.pdf


(https://icitech.org/wp-content/uploads/2015/09/ICIT-Brief_Whos-Behind-the-Wheel_Car-Hacking2.pdf)Update: hbcifs files are compressed with either LZO or UCL (NRV) compression.
https://reverseengineering.stackexchange.com/questions/18380/extracting-compressed-firmware-nrv-for-analysis