How to extract firmware from Ambarella 0803?

I've tried several times and no results, besides now the file autoexec.ash doesn't erase and the file drives.txt doesn`t generated. ¿? I'll try with e:

EDIT: Nothing. with E: nothing happens. I'll keep going with d:. It should be to work because before it were.
 
Last edited:
I've noticed that the camera takes the directory of the autoexec.ash as the working directory - so you don't need to specify d:/ or e:/ - you milage may vary but I am lazy and leave off whatever I don't actually need (after lots of trial and error!!)

6MB sounds about the same as what I got from the G90 - if the file loads into @Tobi@s A7Tool then it's a good extraction - just missing the RFS files:)

http://dashcamtalk.com/forum/thread...la-a2-a7-firmware-tool.6029/page-3#post-73485
 
Last edited by a moderator:
I don't know if it was a good extraction because I deleted :(. I thought it was a bad file and I'll retry, but now is impossible. It doesn`t make sense. Maybe it only works the first time?. Tomorrow will be another day to retry ;)
 
Timing wise I was only giving the camera 15 seconds to write the flash out when I was doing a load of testing Friday - the camera doesn't start recording until it's processed the autoexec.ash file so if it's recording you know it's processed everything in there. I just stopped the movie recording and pulled the power cable and waited for the camera to naturally shut down.
 
You all have your slashes wrong, should be \ backslash not /forward slash for drive letters!
You're from a Windows world mate - Linux / UNIX world uses forward slashes - Windows backslashes. These devices are closer to Linux than Windows - the drive letters are just mountpoints :)
 
One should not assume ;)

I am mainly a Linux user before windows, always have been. Do I mention BSD derivatives too.

The slashes need to be back slashes for this use not forward.

Linux mounts and paths are forward slashes yes.




You're from a Windows world mate - Linux / UNIX world uses forward slashes - Windows backslashes. These devices are closer to Linux than Windows - the drive letters are just mountpoints :)
 
Strange how mine worked with forward slashes then :)

Leaving them out makes it easier again!
 
Because by default it ignores errornous paths and as you can see by not putting one in it still works :)
 
Because by default it ignores errornous paths and as you can see by not putting one in it still works :)
Don't you mean it uses the present working directory if nothing is specified?
 
Yes to be pedantic :) instead of failing with incorrect paths it ignores them. And will default to working DIR

Don't you mean it uses the present working directory if nothing is specified?
 
You all have your slashes wrong, should be \ backslash not /forward slash for drive letters!
Damn!!! You're are right ;) I was blind and now see. I gonna try.

edit: I've tried and retried and nothing, with / or \. I give up :(
 
Last edited:
Download the archive in my restore bricked 0803 thread on here and try the autoexec I put in there.

Ok, I downloaded from your post http://dashcamtalk.com/forum/threads/everything-you-need-to-recover-mini-0803.6302/

Your autoexec.ash worked man, thanks. I don't understand the reason. o_O Now I have the backup of the firmware.

Below the lines from your autoexec.ash that I've proved now.

rm a:\autoexec.ash
firmfl gen 6 bst bld hal pri rfs dsp d:\backup.bin
rm d:\autoexec.ash

I don't know if this file is fine. This is the extracted firmware http://freakshare.com/files/vgw51ekt/backup-mini-0803-EPRANCE-FW20140507-V.1.0.bin.html

His size is 5,97 MB (6.267.140 bytes)
Almost 6 Mb? I think is very small. A normal firmware file of 0803 occupies 16 or 17 Mb.
 
Last edited:
For some reason the RFS partition doesn't seem to extract - it didn't on my G90 either and I had to use the romfs save command - to do that you need to know upfront all of the files that are in that partition and then you can manually extract them.

To get this list just add a command to autoexec.ash which says:

Code:
romfs list > romfs.txt

When you boot the camera it will then give you a list of files.

These were the commands that worked on my G90 device to do the RFS extraction - they would need modifying with the filenames within the RFS partition on your device:

Code:
romfs save d:/ logo.jpg
romfs save d:/ C6000A_ON.jpg
romfs save d:/ C6000A_OFF.jpg
romfs save d:/ CASKA.jpg
romfs save d:/ BLACKVIEW.jpg
romfs save d:/ LINGDU_OFF.jpg
romfs save d:/ LINGDU_ON.jpg
romfs save d:/ start10.jpg
romfs save d:/ invalid.jpg
romfs save d:/ plist_effect_cut.jpg
romfs save d:/ plist_effect_fade_black.jpg
romfs save d:/ plist_effect_fade_gray.jpg
romfs save d:/ poweron_12k.pcm
romfs save d:/ poweroff_12k.pcm
romfs save d:/ shutter_12k.pcm
romfs save d:/ short_shutter_12k.pcm
romfs save d:/ optone_12k.pcm
romfs save d:/ error_12k.pcm
romfs save d:/ poweron_11k.pcm
romfs save d:/ poweroff_11k.pcm
romfs save d:/ shutter_11k.pcm
romfs save d:/ short_shutter_11k.pcm
romfs save d:/ optone_11k.pcm
romfs save d:/ error_11k.pcm
romfs save d:/ poweron_8k.pcm
romfs save d:/ poweroff_8k.pcm
romfs save d:/ shutter_8k.pcm
romfs save d:/ short_shutter_8k.pcm
romfs save d:/ optone_8k.pcm
romfs save d:/ error_8k.pcm
romfs save d:/ 1_48k.aac
romfs save d:/ 1_44k.aac
romfs save d:/ 1_32k.aac
romfs save d:/ 2_48k.aac
romfs save d:/ 2_44k.aac
romfs save d:/ 2_32k.aac
romfs save d:/ 2_48k.ac3
romfs save d:/ 2_44k.ac3
romfs save d:/ 2_32k.ac3
romfs save d:/ 6_48k.ac3
romfs save d:/ 6_44k.ac3
romfs save d:/ 6_32k.ac3
romfs save d:/ dec_cc_3D
romfs save d:/ dec_cc_in
romfs save d:/ cour.ttf
romfs save d:/ bitmaps.bin
romfs save d:/ strings.bin
romfs save d:/ A7L_CC_reg_1_1.bin
romfs save d:/ calib6.bin
romfs save d:/ calib16.bin
romfs save d:/ A5S_CC_reg_ver_1_1.bin
romfs save d:/ A5S_default_cc_3d_video.bin
romfs save d:/ A5S_default_cc_3d_still.bin
romfs save d:/ A5S_default_cc_3d_hiiso.bin
romfs save d:/ param_image_param_release.bin
romfs save d:/ param_aaa_param_release.bin
romfs save d:/ param_adj_photo_preview_param_release.bin
romfs save d:/ param_adj_video_tv_param_release.bin
romfs save d:/ param_adj_video_pc_param_release.bin
romfs save d:/ param_de_still_param_release.bin
romfs save d:/ param_de_video_param_release.bin
romfs save d:/ param_de_still_multi_param_release.bin
romfs save d:/ param_de_video_multi_param_release.bin
romfs save d:/ param_adj_still_fast_param_release.bin
romfs save d:/ param_adj_still_low_iso_param_release.bin
romfs save d:/ param_adj_still_high_iso_param_release.bin
romfs save d:/ param_adj_still_mf_hiso_param_release.bin
romfs save d:/ param_adj_piv_low_iso_param_release.bin
romfs save d:/ param_adj_still_mid_iso_param_release.bin
romfs save d:/ param_adj_still_hdr_hiso_param_release.bin
romfs save d:/ param_adj_still_hdr_miso_param_release.bin
romfs save d:/ param_adj_still_sr_param_release.bin
romfs save d:/ param_set01_param_release.bin
romfs save d:/ param_set02_param_release.bin
romfs save d:/ param_set03_param_release.bin
romfs save d:/ param_set04_param_release.bin
romfs save d:/ param_set05_param_release.bin
romfs save d:/ A5S_CC_3d_color_0_video_0.bin
romfs save d:/ A5S_CC_3d_color_0_video_1.bin
romfs save d:/ A5S_CC_3d_color_0_video_2.bin
romfs save d:/ A5S_CC_3d_color_0_video_3.bin
romfs save d:/ A5S_CC_3d_color_0_video_4.bin
romfs save d:/ A5S_CC_3d_color_0_still_0.bin
romfs save d:/ A5S_CC_3d_color_0_still_1.bin
romfs save d:/ A5S_CC_3d_color_0_still_2.bin
romfs save d:/ A5S_CC_3d_color_0_still_3.bin
romfs save d:/ A5S_CC_3d_color_0_still_4.bin
romfs save d:/ A5S_CC_3d_color_1_video_0.bin
romfs save d:/ A5S_CC_3d_color_1_video_1.bin
romfs save d:/ A5S_CC_3d_color_1_video_2.bin
romfs save d:/ A5S_CC_3d_color_1_video_3.bin
romfs save d:/ A5S_CC_3d_color_1_video_4.bin
romfs save d:/ A5S_CC_3d_color_1_still_0.bin
romfs save d:/ A5S_CC_3d_color_1_still_1.bin
romfs save d:/ A5S_CC_3d_color_1_still_2.bin
romfs save d:/ A5S_CC_3d_color_1_still_3.bin
romfs save d:/ A5S_CC_3d_color_1_still_4.bin
romfs save d:/ A7L_high_iso/08_cc_reg_l4c_edge.bin
romfs save d:/ A7L_high_iso/09_cc_3d_l4c_edge.bin
romfs save d:/ A7L_high_iso/17_fir1_mix_4x.bin
romfs save d:/ A7L_high_iso/18_fir1_mix_2x.bin
romfs save d:/ A7L_high_iso/31_fir1_l4c_edge.bin
romfs save d:/ A7L_high_iso/32_coring_l4c_edge.bin
romfs save d:/ A7L_high_iso/35_alpha_unity.bin
Note that anything that is in a subdirectory has to be specified and the subdirectory has to exist on the memory card for this to work - in the example above this was the A7L_high_iso folder.

These all worked on my device so for the G90 it works fine with forward slashes - your milage may vary on other devices.
 
That definitely makes life easier :)
 
Change rfs to rom. The rfs partition is called rom.
Better ;)

The result is an autoexec.ash working with the lines:

rm a:\autoexec.ash
firmfl gen 6 bst bld hal pri rom dsp d:\backup.bin
rm d:\autoexec.ash


And I added the line:

romfs list > romfs.txt

and I obtained:

Usage: ls - list ROMFS files
inodes - list ROMFS inode tree
load [name] [addr] - load data to memory
save [slot] [name|all] [fpos]- save file to storage
log_init [slot] - log the statistics of ROMFS initialized flag


Not the file list


The rom version FW20140507 V.1.0 of EPRANCE I extracted. Not tested. Link below:
http://freakshare.com/files/cuawi9k5/backup-mini-0803-EPRANCE-FW20140507-V.1.0.bin.html

16,2 MB (17.000.448 bytes)
 
"romfs inodes" would list them..
 
"romfs inodes" would list them..
It should work, but it not works on my 0803. I don't know the reason why most of the times my autoexec.ash doesn't work. I edit with Notepad++. I edit with the options like the user reverend said to me.
If you use Notepad++ you can easily convert from Windows to Unix style via Edit menu - EOL Conversion - UNIX and then save :)

F***** Windows. ;)
 
Back
Top