build: add helpers for generating QSDK sysupgrade compatible images
authorPiotr Dymacz <pepe2k@gmail.com>
Tue, 29 Jan 2019 17:12:51 +0000 (18:12 +0100)
committerPiotr Dymacz <pepe2k@gmail.com>
Mon, 25 Feb 2019 16:36:16 +0000 (17:36 +0100)
commitbf4630e5adb40aa393f6bd4c560baf42de0f1957
treea27e3de33a250b523490cb87f8ebef59edc4795f
parentf20fea9dcdbefb015ede43959478838d21a7eb3b
build: add helpers for generating QSDK sysupgrade compatible images

Qualcomm SDK (QSDK) sysupgrade compatible images for IPQ40xx, IPQ806x
and IPQ807x use FIT format together with 'dumpimage' tool from U-Boot
for verifying and extracting them. Based on 'images' sections names,
corresponding mtd partitions are flashed. For example, in case of
NOR-only boards, below mapping is used (section name -> mtd name):

  hlos*   -> 0:HLOS
  rootfs* -> rootfs

And for boards with NAND (kernel inside UBI):

  ubi* -> rootfs

Above mappings come from unmodified QSDK sources and might be wrong for
boards running custom or modified QSDK-based firmware. Some of vendors
adjust them to meet their modified mtd layout or features like recovery
or dual-image support.

This adds simple script 'mkits-qsdk-ipq-image.sh' (based on 'mkits.sh')
for generating FIT images tree source files, compatible with the QSDK
sysupgrade format. Resulting images can be used for initial (factory ->
OpenWrt) installation and would work both in CLI and GUI.

The script is universal in a way it allows to include as many sections
as needed. To make use of it, two generic/basic build recipes for NOR
and NAND based boards are also included in 'image-commands.mk':

  Build/qsdk-ipq-factory-nand
  Build/qsdk-ipq-factory-nor

Example usage for board with UBI in NAND:

  IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
include/image-commands.mk
scripts/mkits-qsdk-ipq-image.sh [new file with mode: 0755]