Controller firmware using a USB flash drive

Attention! This method only works on Armbian 20.11 and HAOS 6.x firmwares. After updating to Armbian 22.02/HAOS 8.x, it is impossible to update the firmware using this method.

You can flash the controller using a USB flash drive (hereinafter referred to as a flash drive) with a partition formatted in W95 FAT32 LBA (NTFS partitions are not readable by u-boot).

You need to put the file on the USB flash drive jethome_burn.ini and the firmware file (hereinafter referred to as firmware.img in the example).

File content jethome_burn.ini:

[common]
reboot=0
erase_bootloader=1
erase_flash = 1

[burn_ex]
package=firmware.img

File jethome_burn.ini must end with a newline.

If you set the "reboot" parameter to 1, then the controller will flash, reboot and immediately flash in a circle. You can do without specifying the "reboot" property, since the default "reboot" is considered equal to 0.

Insert the flash drive into the controller and apply power. After loading the u-boot, if the flash drive was successfully detected, the flashing process will automatically begin.

Since the controller will not reboot itself after flashing, in order to determine the end of the software update process, you can control the software update process via UART- console (see the documentation for the controller for connecting the UART console). At the end of the firmware process, disconnect the flash drive and reboot the controller.

Supported USB flash drives

Tested to work with the following USB flash drives:

  • SanDisk Cruzer Fit USB 2.0 16GB (idVendor=0781, idProduct=5571) factory formatted.

Description of contents of jethome_burn.ini

[common]

erase_bootloader - two values (0 or 1): 1 - erase bootloader, 0 - do not erase bootloader

erase_flash - five values (from 0 to 4):

0 - Do not erase flash (do not erase)

1 - Normal erase (normal erase, as with normal firmware via USB Burning Tool)

2 - Force Erase (no information)

3 - Erase all (erase the contents of NAND / eMMC and bootloader that are in the protected area)

4 - Force erase all (complete erasure, including protected areas NAND/eMMC/SPI, partition formatting and repartitioning)

reboot – Two values (0 and 1): 1 - reboot after procedures are completed, 0 - do not reboot.

[burn_ex]

package is the name of the *.img file for flashing from a memory card. You can change it to whatever you want.

You can edit the parameter values in this file, but you should understand what you are doing and remember that you do it at your own peril and risk.

Then yes, if you need, for example, to completely remap NAND during flashing, you should edit the corresponding line in the aml_sdc_burn.ini file: erase_flash = 4