My kernel is probably larger than 2MB, but I still experience same problem when loading via uBoot (sometimes boot correctly after install, then not after restart).