===== Updating existing firmware over ethernet =====
\\
To update bootloader / kernel / devicetree in a running system you have to copy the images in your tftp directory and upload them to the eMMC or SD Card.\\
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 device via ethernet to a tftp server supplying the image\\
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.