Using U-Boot to update your Device
In U-Boot, there is a command gzwritefile to write a compressed image to a block device. It can be used to update an internal eMMC as well as a (micro-) SD card. The syntax is:
gzwritefile <target interface> <target device> <source interface> <source device> <filename> [<buffersize> [<force>]]
Where:
target interface
is the interface the device to write to is connected (usualy mmc)target device
is the device and partition number to write to in syntaxdevice[.partition]
, if the partition is omitted the whole device is usedsource interface
is the interface the source device is connected tosource device
is a device to read fromfilename
is the image file to writebuffersize
(optional) is the size of the buffer to use if omitted 1MB will be usedforce
(optional) will write the file even if it does not fit the target device
Examples:
gzwritefile mmc 0 usb 0 myimage.imz
will write the compressed image myimage.imz from the 1st usb-storage to the 1st mmc-device.
gzwritefile mmc 0.1 mmc 1 myimage.imz
will write the compressed image myimage.imz from an external SD-card to the 2nd partition of the internal eMMC
will write the compressed image myimage.imz from the 1st usb-storage to the 1st mmc-device even if it will not fit using a 1MB buffer. The buffer-size of 1MB is the default, but must be given make the force
-parameter be at the right place.
Automated Installation/Update using U-Boot
The U-Boot command gzwritefile can be used in conjunction with the U-Boot-Autoboot mechanism to automatically install an image file to a device. Create an autoboot.bat file like this:
Change the line
to match the filename of your image and place it, together with your image, in the root-directory of an USB-Stick. Plug it into your device and power it on. On startup U-Boot will scan the connected USB-devices, find the file, recognize it as an autostart-file (by it's name and the magic header #!autoboot.bat
) and execute it's contents as a script.
You can also place your image in a subdirectory and change the line
to