Module show invaild type after rebuilding kernel

When I rebuild kernel 4.4 to add some function for SIMCOM, and I followed the steps which shows in RELEASE 28.1, I set up root system, then rebuild kernel. but when I flash it success, I make modules to .ko file and insmod it, i found that the ko is invaild type, I asked someone, he said that the source of kernel in /usr/src is different from Image or zImage which leads to this problem. and then I test it in TX1 which flash using origin kernel or Jetpack, the module works.
so I found the problem that when i build kernel, I copy Image and zImage into kernel, and copy lib/modules as tar into kernel also as well as dtb, then i run sudo ./apply_binaries.sh which will tar lib/modules into rootfs/lib/modules and cause two kinds of type which is 4.4.*(new) and 4.4.*-tegra, and in kernel file the terga-headers.tar will uzip into rootfs/usr/src. 
There is the question which I use Image and lib/module, but the source in /usr/src is origin!! if this is the reason caused module install failed? If anyone can help me to solve it?

Did you set CONFIG_LOCALVERSION to match the suffix of “uname -r”? The kernel itself sets the version prefix of “uname -r”, the CONFIG_LOCALVERSION sets the suffix (usually “-tegra”), and modules are searched for in “/lib/modules/$(uname -r)/”. If the module was built such that it expects a different “uname -r” you will probably have issues.

If CONFIG_LOCALVERSION was not the issue, did you use driver source separate from the original kernel source?