[ath79] DTB update mechanism

Generating a "official" kernel image with modded dtb is key.

I met the same problem as reported in this thread on my wdr4900v2 modded with a 16MiB rom, and I managed to achieve above goal by making use of both image builder and the source tree:

  1. Modify the dts file for the target. (It had better be made a local commit in its own branch, as it can be cherry-picked upon future revisions)
  2. Build a minimalist custom build for the target (which is unlikely to fail, as it is minimalist), to build all the prerequests. The resulted image could even be flashed, in order to confirm the modified device tree works well.
  3. Replace the stripped vmlinux file generated in step 2 (e.g. ${OPENWRT_SRC}/build_dir/target-mips_24kc_musl/linux-ath79_generic/vmlinux ) with the one shipped with image builder ( ${IMGBUILDER}/build_dir/target-mips_24kc_musl/linux-ath79_generic/vmlinux ).
  4. Invoke cd ${OPENWRT_SRC}; make target/install or even make -C ${OPENWRT_SRC} target/install , letting the build system to generate a valid kernel.bin upon the "official" kernel shipped with image builder.
  5. Use image builder to build the flashable image as described above with kernel.bin generated in step 4 ( use ${OPENWRT_SRC}/bin/targets/ath79/generic/openwrt-ath79-generic-tplink_tl-wdr4900-v2-initramfs-kernel.bin to replace ${IMGBUILDER}/build_dir/target-mips_24kc_musl/linux-ath79_generic/tplink_tl-wdr4900-v2-kernel.bin in my case )

This method should be less error-prone, for it uses the original build system to generate kernel.bin, rather than by hand.