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?
 
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