diff options
author | Piotr Dymacz <pepe2k@gmail.com> | 2019-01-29 18:12:51 +0100 |
---|---|---|
committer | Piotr Dymacz <pepe2k@gmail.com> | 2019-02-25 17:36:16 +0100 |
commit | bf4630e5adb40aa393f6bd4c560baf42de0f1957 (patch) | |
tree | a27e3de33a250b523490cb87f8ebef59edc4795f /include | |
parent | f20fea9dcdbefb015ede43959478838d21a7eb3b (diff) | |
download | upstream-bf4630e5adb40aa393f6bd4c560baf42de0f1957.tar.gz upstream-bf4630e5adb40aa393f6bd4c560baf42de0f1957.tar.bz2 upstream-bf4630e5adb40aa393f6bd4c560baf42de0f1957.zip |
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>
Diffstat (limited to 'include')
-rw-r--r-- | include/image-commands.mk | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/image-commands.mk b/include/image-commands.mk index 56bad539b3..47d7193434 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -294,6 +294,20 @@ define Build/openmesh-image "$(call param_get_default,rootfs,$(1),$@)" "rootfs" endef +define Build/qsdk-ipq-factory-nand + $(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh \ + $@.its ubi $@ + mkimage -f $@.its $@.new + @mv $@.new $@ +endef + +define Build/qsdk-ipq-factory-nor + $(TOPDIR)/scripts/mkits-qsdk-ipq-image.sh \ + $@.its hlos $(IMAGE_KERNEL) rootfs $(IMAGE_ROOTFS) + mkimage -f $@.its $@.new + @mv $@.new $@ +endef + define Build/senao-header $(STAGING_DIR_HOST)/bin/mksenaofw $(1) -e $@ -o $@.new mv $@.new $@ |