===== Updating existing firmware over ethernet ===== \\ This tutorial describes hoe to update the firmware files in U-Boot. ==== Prerequisites ==== * Configured TFTP Server on development host, please see [[en:general_information:tftp|How to setup TFTP Server]] **1. Boot from eMMC or SD and stop autoboot in U-Boot**\\ Hit any key to stop autoboot: 0 =>\\ **2. Set U-Boot variable //mmcdev// according to the drive you want to write to** => setenv mmcdev ++++mmcdev| TQMa6x, TQMa6ULx, TQMa7x:\\ //mmcdev 0// = eMMC\\ //mmcdev 1// = SD Card\\ \\ TQMa335x:\\ //mmcdev 0// = SD Card\\ //mmcdev 1// = eMMC\\ \\ TQMLS102xA:\\ mmcdev depends on the placement of eMMC on your module!\\ //mmcdev 0// = SD Card **or** eMMC ++++ **3. Connect target device via ethernet to a tftp server supplying the frimware images**\\ **4. Provide the correct network configuration in U-Boot:** * => setenv autoload no * => setenv serverip (e.g.: setenv serverip 192.168.100.110) * => setenv ipaddr (e.g.: setenv ipaddr 192.168.100.111) * => setenv netmask (e.g.: setenv netmask 255.255.255.0) **5. Provide U-Boot the file name of the desired image on the tftp server:** * ++For U-Boot update:| \\ \\ TQMa6x, TQMa6ULx, TQMa7x, TQMLS102xA:\\ => setenv uboot \\ \\ TQMa335x: please see [[en:arm:tqma335x:linux:ptxdist:deployment#Updating the firmware|Updating the firmware]]\\ \\ ++ * ++For Device Tree update:| \\ \\ TQMa6x, TQMa6ULx, TQMa7x, TQMLS102xA:\\ => setenv fdt_file \\ \\ TQMa335x: please see [[en:arm:tqma335x:linux:ptxdist:deployment#Updating the firmware|Updating the firmware]]\\ \\ ++ * ++For Kernel update:| \\ \\ TQMa6x, TQMa6ULx, TQMa7x, TQMLS102xA:\\ => setenv zimage \\ \\ TQMa335x: please see [[en:arm:tqma335x:linux:ptxdist:deployment#Updating the firmware|Updating the firmware]]\\ \\ ++ **6. Perform Update:** * ++U-Boot update:| \\ TQMa6x, TQMa6ULx, TQMa7x, TQMLS102xA:\\ => run update_uboot\\ \\ TQMa335x: please see [[en:arm:tqma335x:linux:ptxdist:deployment#Updating the firmware|Updating the firmware]]\\ \\ ++ * ++Device Tree update:| \\ TQMa6x, TQMa6ULx, TQMa7x, TQMLS102xA:\\ => run update_fdt\\ \\ TQMa335x: please see [[en:arm:tqma335x:linux:ptxdist:deployment#Updating the firmware|Updating the firmware]]\\ \\ ++ * ++Kernel update:| \\ TQMa6x, TQMa6ULx, TQMa7x, TQMLS102xA:\\ => run update_kernel\\ \\ TQMa335x: please see [[en:arm:tqma335x:linux:ptxdist:deployment#Updating the firmware|Updating the firmware]]\\ \\ ++ The u-boot update scripts automatically implement the selection of the primary copy to boot.