I successfully built my own kernel(boot.img) for samsung s7 edge(SM-G9350 Android7.0), There are many puzzles when build and flash samsung rom(kernel):

  1. source download from http://opensource.samsung.com/ may be not complete!
  2. how to find out whether the source is complete?  check this dir: /system/lib/modules/, if the kernel you built contains all *ko in /system/lib/modules/(use a normal rom to check first),the source is complete,otherwise,it’s not.
  3. if the Image you built didn’t contain all the *ko,the kernel can not boot.
  4. use AIK(Android Image Kitchen) to make boot.img.
  5. the kernel source version had better fit with ROM version.
  6. you can download official rom from this site: http://www.cnroms.com/, much faster.
  7. had better use same version’s official rom’s dt.img(boot.img-dtb) or you can build from kernel source.