[tutorial] APX Usage
Okay, heres an ADVANCED tutorial for flashing your elocity a7 tablet with factory firmware software manually using the nvidia apx flash tools. The intention of providing this information is so you don't have to google to get it all in one place, w/ details pertaining to the elocity a7. YOU SHOULD always attempt to flash from android recovery FIRST before attempting these instructions. they are intended for advanced users only. please use extreme caution.
to obtain the nvidia apx flash tools follow @5[Strongino]'s instructions;
3.1 Getting Nvidia Tools
- Go to http://developer.nvidia.com/tegra/devkit-250tango and download "Android 2.2 (Froyo) for Tegra 250 & Tango ONLY" (one or both Windows/ Linux)
Speedlinks (NVidia updated tools 7 feb 2011, so links would change in future)
- [WIN] the default installation location is
C:\Program Files\NVIDIA Corporation\tegra_froyo_20110207
okay, you have the software. i'm assuming you did this from windows; i did as there was more reported instructions for use from windows.
if you don't already have it, you should download the latest factory firmware for the elocity a7;
the latest firmware update is date February 24, 2011, and the build version is PBJ8000.2.0133.
what i did to setup is made a folder titled;
C:\Program Files\NVIDIA Corporation\tegra_froyo_20110207\tegrabackup
i then moved the follows files from the tegra_froyo_20110207 folder to the new \tegrabackup folder;
you may wish to also move flash.bct (i did not do this step) as well, as all 5 files are factory software for a tegratablet (not the A7, don't ask me to go into details right now).
i then extracted the latest update.zip from elocity's website to the;
C:\Program Files\NVIDIA Corporation\tegra_froyo_20110207
folder for convenient, so that i can run the nvidia apx flash tool w/ our software in the same directory.
i pulled the elocity a7 partition information (so we know what partition numbers to flash our software to).
nvflash -r --getpartitiontable partitiontable.txt
i then updated the flash.cfg file in the same folder we're working in using that information.
download link here;
i'm missing the instructions i used to format the cache partition using nvflash, but this may not be necessary; will update later.
i flash the new recovery.img from the update.zip provided by elocity support.
nvflash --bl bootloader.bin --download 6 recovery.img
thats it for flashing the latest factory recovery. i did this, and formatted the cache partition using nvflash. afterwards, when i booted to recovery it still had the recovery.c error at the bottom, but the buttons were responsive instead of flakey, and i was able to wipe cache, factory reset and apply the update.zip from my sdcard.
notes; partition #'s for the elocity a7, 12 partitions total, starting w/ id#2;
2 BCT - Boot Configuration Table
3 PT - Partition Table
4 EBT - Bootloader
5 NVC -
6 SOS - Recovery Kernel - recovery.img
7 LNX - System Kernel - boot.img
8 MBR - msdos partition table for the rest of the disk
9 APP - OS root filesystem - system.img
10 CAC - Cache partition (?)
i loosely created the flash.cfg file using the partition information available, the examples present, and calculate the partition size by multiplying the number of sector by bytes per sector in the partitiontable.txt. some details about non pertinent partitions (for me) may be incorrect in the flash config, the important thing for me is that the partition numbers are correct for our use, and the sizes should be correct so the partitions get put in the right order. i will note that there is much more space available for system, it would appear that when flashing w/ android recovery that the system partition created seems to be just the size for the system files and nothing more.
i'm wondering if one were to do a full format of the apps partition and created an zipped /system file system w/ install script if the full space would be available.. future tests.
dangerous experiments for those w/out sdcard access after this, as i have not read any report that flashing the system.img worked yet.
if you want to try;
nvflash --bl bootloader.bin --download 9 system.img
if you're REALLY BRAVE, try flashing the whole update.zip (extract the the nvflash folder) using this command;
nvflash --bl bootloader.bin --download 6 recovery.img --download 7 boot.img --download 9 system.img
this will flash the factory recovery, boot(kernel+ramfs), and system. until some brave soul tests these options out, we won't know for a fact its safe. in theory it should be.
my theories come with no warranties.
i would still suggest reading in depth (google), and studying backing up your devices partitions using nvflash. i didn't post instructions for this, as i was not able to get this to work, and was the least of my concerns w/ an already bricked tablet.
additional apx commands available;
nvflash action [options]
action (one or more) =
--help (or -h)
displays this page
--cmdhelp cmd(or -ch)
displays command help
--resume (or -r)
send the following commands to an already-running bootloader
--quiet (or -q)
surpress excessive console output
--wait (or -w)
waits for a device connection (currently a USB cable)
full initialization of the target device using the config file
--download N filename
download partition filename to N
sets the boot partition to partition N
formats contents of partition N
--read N filename
reads back partition N into filename
reads back the partition table into filename
reads back BIT into filename
reads back the BCT from mass storage
--odm C Data
ODM custom 32bit command 'C' with associated 32bit data
continues normal execution of the downloaded bootloader
indicates the configuration file used with the following commands:
indicates the file containing the BCT
--sbk 0x00000000 00000000 00000000 00000000
indicates the secure boot key for the target device
downloads and runs the bootloader specified by filename
sets 32bit customer data into a field in the BCT, either hex or
sets 32bit data required for disk image convertion tool
formats all existing partitions on the target device using the config file,
including partitions and the bct
sets the boot device type fuse value for the device name.
allowed device name string mentioned below:
emmc, nand_x8, nand_x16, nor, spi
sets the boot device config fuse value either hex or decimal
verifies data for partition id = N specified. N=-1
indicates all partitions
Intended to be used with --create command only.
updates the chip specific settings of the BCT in mass storage to
the bct supplied,used with --create, should not be with --read,and
issues force sync commad
--rawdeviceread S N filename
reads back N sectors starting from sector S into filename
--rawdevicewrite S N filename
writes back N sectors from filename to device starting from sector S
bctsection should refer to the section of the bct we are updating.
Curently we suport updates for following sections
<SDRAM> updates SdramParams and NumSdramSets fields
<DEVPARAM> updates DevParams, DevType and NumParamSets
<BOOTDEVINFO> updates BlockSizeLog2, PageSizeLog2 and PartitionSize