I have a Linux image that is too large for the default 16MB memory size of the PicoZed board. It's well documented that in order to increase the size allotted to unzip the image during boot you need to adjust a the netboot offset in petalinux-config as well as the CONFIG_SYS_BOOTM_LEN define in platform_top.h in the u-boot config file.
- https://forums.xilinx.com/t5/Embedded-Linux/Petalinux-kernel-not-loading/m-p/502122#M10150
- http://www.xilinx.com/support/answers/61332.html
However, after making those changes and rebuilding my Petalinux project (resulting in a new BOOT.bin and image.ub) I still can't successfully boot from my SD card unless I manually change the u-boot environment variables at the U-Boot command line.
I'd like to avoid having to manually set the loadaddr and netstart variables from the u-boot command line for every device we produce.
Why aren't the environment variables being updated? I've checked the platform-auto.h file that is generated by PetaLinux and I do see the correct changes to the loadaddr and netstart env variables but when I call 'printenv' from the U-boot cmd line they aren't the updated values.
I'm using PetaLinux 2014.4 (kernel 3.17) and the PicoZed board.