====== 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 < 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-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 setup ====== - Powerdown your AC100 - Connect the USB cable between your AC100 and the host PC - press CTRL and ESC keys, and while maintaining them pressed, powerup your AC100 - the AC100 power white LED should light on, the screen remains switched off - download the bootloader into the CPU RAM, on your host PC, type: $ 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 ====== nvflash commands ====== Write the image partition of your AC100: $ nvflash -r --download Read the partition from the AC100 to the file : $ nvflash -r --read For a complete description of nvflash commands: $ nvflash --help