Good news. I have developed a variant of updating u-boot variables (adds the ability to run any systems) without complicated procedures for overwriting the entire u-boot. To upgrade to the new version of u-boot, it is enough:
- prepare an SD card in FAT32 format.
- Download the u-boot variable update file (uEnv.txt ) by the link.
- Write the received file (uEnv.txt ) to the prepared SD card (FAT32).
- Connect the SD card to StarFive and turn on the power and wait 2-3 minutes. Turn off the power and pull out the SD card.
Now your u-boot SPL has added support for searching and using variables from uEnv,txt files with 3 partitions without restriction. I.e. You can create (or use systems that use such partition allocation) with 1\2\3 partitions, u-boot will search and use your variables sequentially from all 3 ext4 partitions. At the same time, compatibility with the previous launch options is fully preserved, i.e. all previous systems will work as before. First of all, this option will be used in Armbian and Altlinux (in UEFI mode).
The update is performed once and works until the variables are reset to the default state. If necessary, you can easily return all variables to the default state (via the UART console, or creating a file uEnv.txt with a key to reset variables to the default state).
An example of using the new version of u-boot to run Altlinux in UEFI mode can be found in the corresponding topic about AltLinux.