How to extract a IFS file

theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

How to extract a IFS file

Сообщение theed »

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
Пользователь
Сообщения: 54
Зарегистрирован: Вс ноя 17, 2013 11:51 pm
Откуда: Киев

Сообщение slav »

Give your IFS and i'll extract it for you.
theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

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:<link deleted>
Is it possible to create a new ifs from the extracted with makeifs then, with a new build file.
slav
Пользователь
Сообщения: 54
Зарегистрирован: Вс ноя 17, 2013 11:51 pm
Откуда: Киев

Сообщение slav »

Unfortunaly, i can't make new image for zmodem. I can only unpack your image.
BTW, your link doesn't work.
Аватара пользователя
sergeynik
Сообщения: 4920
Зарегистрирован: Ср янв 17, 2007 3:00 am
Контактная информация:

Сообщение sergeynik »

need MU version
theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

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
Пользователь
Сообщения: 33
Зарегистрирован: Вт апр 08, 2014 12:33 pm

Сообщение bertelsmann »

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
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

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
Пользователь
Сообщения: 33
Зарегистрирован: Вт апр 08, 2014 12:33 pm

Сообщение bertelsmann »

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
Местный
Сообщения: 256
Зарегистрирован: Вт дек 10, 2013 9:37 pm
Откуда: Moscow

Сообщение zerbino »

bertelsmann писал(а):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?

[ATTACH]24991[/ATTACH]
Вложения

[Расширение txt было запрещено, вложение больше недоступно.]

theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

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
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

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
Пользователь
Сообщения: 33
Зарегистрирован: Вт апр 08, 2014 12:33 pm

Сообщение bertelsmann »

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
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение 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.
slav
Пользователь
Сообщения: 54
Зарегистрирован: Вс ноя 17, 2013 11:51 pm
Откуда: Киев

Сообщение slav »

Good luck ))
theed
Пользователь
Сообщения: 65
Зарегистрирован: Вт фев 18, 2014 1:54 am

Сообщение theed »

sergeynik, do you have any info, regarding a buildfile?
Аватара пользователя
Black Wolf
Новичок
Сообщения: 27
Зарегистрирован: Чт мар 28, 2013 12:04 am
Откуда: Зимбабве

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

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

http://www.qnx.com/developers/docs/6.3. ... ilder.html
slav
Пользователь
Сообщения: 54
Зарегистрирован: Вс ноя 17, 2013 11:51 pm
Откуда: Киев

Сообщение slav »

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

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

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



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

уверен, что есть пути для хороших программистов, чтобы dissasemble EFS IMG и т.д., но здесь, в основном новички, и именно поэтому я предложил QNX строитель, потому что я не видел много разработчиков здесь, за исключением Sergeynick и Uknik ;) , может быть, у вас есть еще один «Пушкин "Р?
slav
Пользователь
Сообщения: 54
Зарегистрирован: Вс ноя 17, 2013 11:51 pm
Откуда: Киев

Сообщение slav »

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