I did not say _version_. I said _build_. A kernel build produces both modules and an image (zImage). To keep things simple, you always have to use those modules with that image and not any other image, and any other image will not be able to load those modules. Yes, there are exceptions. If the version string matches, AND all of the symbols the module uses match (versions, structure sizes, ...), and if MODVERSIONS is enabled OR the checksum of a bunch of files match, .... then you might use a module with a different image. But this is not the case here. Build a kernel, build the modules, install the modules, and flash the kernel.