This is an old revision of the document!
Table of Contents
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.
Installing nvflash
From the nvidia tegra developper site
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:
- ~/tools/ldk/bootloader/nvflash: the nvflash utility itself
- ~/tools/ldk/bootloader/harmony/fastboot.bin, a simple bootloader which is downloaded on the Tegra CPU to manage further communication with nvflash
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.
Debian/Ubuntu Package
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-1_all.deb $ sudo dpkg -i nvflash_20110628-1_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.