====== NvFlash ====== nvflash is a utility provided by Nvidia for flashing Tegra devices. Nvflash runs on a host PC and communicates with the Tegra system (the AC100 in our case) through a dedicated USB port (the mini USB port on the AC100). nvflash is distributed by nvidia as a binary only. Sources are not available and the communication protocol in not publicly documented.
nvflash is distributed as part of the Linux4Tegra Development kit. available here: http://developer.nvidia.com/tegra-250-tango-development-kits
The following commands will install nvflash in ~/tools/ldk/bootloader folder:
$ mkdir ~/tools/ $ wget http://developer.download.nvidia.com/assets/mobile/files/tegra-linux-12.alpha.1.0.tar.gz $ tar xf tegra-linux-12.alpha.1.0.tar.gz
Two files are useful:
In order to be able to run nvflash as a normal user, you need to install an udev rule file:
$ sudo -i $ cat > /etc/udev/rules.d/60-nvflash.rules <<END # nvflash support for Nvidia Tegra systems attached to USB SUBSYSTEM=="usb", ATTR{idVendor}=="0955", ATTR{idProduct}=="7820", MODE="0660", GROUP="plugdev" END
This last step is optional, but without doing it you will have to run nvflash as root.
Without any clear usage and redistribution license, nvflash cannot be distributed as a standard package. An installer package is available from here: http://share.grandou.net/debian/nvflash
Here is how to install it:
$ cd /tmp $ wget http://share.grandou.net/debian/nvflash/nvflash_20110628-2_all.deb $ sudo dpkg -i nvflash_20110628-2_all.deb
nvflash is installed in /usr/bin/nvflash, and so can be run directly from your shell The bootloader is installed here: /usr/lib/nvflash/bootloader.bin
The package takes care of installing an udev rules, allowing you to run nvflash as a normal user.
$ nvflash --bl /usr/lib/nvflash/fastboot.bin --sync
Note: adapt the command with real path of your fastboot.bin
Now the AC100 is ready to accept commands from nvflash
Write the image <filename> partition <N> of your AC100:
$ nvflash -r --download <N> <filename>
Read the partition <N> from the AC100 to the file <filename>:
$ nvflash -r --read <N> <filename>
For a complete description of nvflash commands:
$ nvflash --help