I am trying to configure u-boot and the partition layout for our hardware. We plan to boot from a 2k page size, 128k block size 512MB SLC NAND flash. Looking at the configuration files for Freescale's i.MX6 development boards, they seem to allocate a very large (16-20MB) partition to contain the boot structures and u-boot. Also, u-boot's environment storage seems to be located at some seemingly arbitrary offset inside that partition. Comments inside the board's u-boot config.h header reference kobs-ng, but searching the kobs-ng source code didn't really explain the layout very well. Could someone please summarize where all of the boot structures, u-boot, and the u-boot environment are stored inside the partition? What is the minimum viable size for a boot partition given the above flash parameters and a u-boot image that can fit inside 3 blocks?
Thanks for the info.