I have an Easybox 803 and successfully installed a sysupgrade. Unfortenately, the sysupgrade seems to write the kernel exactly to the 0xB0040000 adress where also the environment of u-boot is stored.
I have installed the initial image at 0xB0050000, since this was where u-boot said the kernel was. (kernel_addr). Then the boot process works.
When I do a sysupgrade, then at 0xB0050000 no longer an image is. But when I do in u-boot iminfo 0xB0040000, the kernel is detected. I can also successfully boot that image.
Now when I try to change the kernel_addr environment variable and saveenv, then there is no longer the kernel at 0xB0040000 (I guess it is overwritten).
How can I tell sysupgrade to write himself to 0xB0050000?
and another question:
When I write the upgrade image directly to the 0xB0050000 adress with u-boot, then the kernel is successfully executed, but gets a kernel panic since it does not find the root partition. May it be possible that the location of the root partition is somehow hard coded within the image, thus when NOT installed at 0xB0040000, then it does not find it anymore?
If i remember right, the partition layout change on the newer u-boot versions.
You have to use the u-boot from chaos chalmer or barrier breaker for the right/old flash layout.
Then build your image with the build system.
Note: This is for kernel 5.4 and if you are building for another kernel version you have to edit the device tree in the right files-x.x folder.