DEVICE_VARS += ZYXEL_VERS DLINK_KERNEL_PART_SIZE
DEVICE_VARS += CAMEO_KERNEL_PART CAMEO_ROOTFS_PART CAMEO_CUSTOMER_SIGNATURE CAMEO_BOARD_VERSION
+DEVICE_VARS += H3C_PRODUCT_ID H3C_DEVICE_ID
define Build/zyxel-vers
( echo VERS;\
$(SCRIPT_DIR)/cameo-tag.py $@ $(DLINK_KERNEL_PART_SIZE)
endef
+define Build/dlink-version
+ echo -n "OpenWrt" >> $@
+ dd if=/dev/zero bs=25 count=1 >> $@
+endef
+
define Build/dlink-headers
dd if=$@ bs=$(DLINK_KERNEL_PART_SIZE) count=1 of=$@.kernel_part; \
dd if=$@ bs=$(DLINK_KERNEL_PART_SIZE) skip=1 of=$@.rootfs_part; \
cat $@.kernel_part.hex $@.rootfs_part.hex > $@
endef
+define Build/7z
+ $(STAGING_DIR_HOST)/bin/7zr a $(@).new -t7z -m0=lzma $(@)
+ mv $@.new $@
+endef
+
+define Build/h3c-image
+ $(STAGING_DIR_HOST)/bin/mkh3cimg \
+ -i $(@) \
+ -o $(@).new \
+ -c 7z \
+ -p $(H3C_PRODUCT_ID) \
+ -d $(H3C_DEVICE_ID)
+ mv $@.new $@
+endef
+
+define Build/h3c-vfs
+ $(STAGING_DIR_HOST)/bin/mkh3cvfs \
+ -i $(@) \
+ -o $(@).new \
+ -f openwrt-kernel.bin
+ mv $@.new $@
+endef
+
+define Build/relocate-kernel
+ rm -rf $@.relocate
+ $(CP) ../../generic/image/relocate $@.relocate
+ $(MAKE) -j1 -C $@.relocate KERNEL_ADDR=$(KERNEL_LOADADDR) LZMA_TEXT_START=0x82000000 \
+ CROSS_COMPILE=$(TARGET_CROSS)
+ ( \
+ dd if=$@.relocate/loader.bin bs=32 conv=sync && \
+ perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
+ cat "$@" \
+ ) > "$@.new"
+ mv "$@.new" "$@"
+ rm -rf $@.relocate
+endef
+
define Device/Default
PROFILES = Default
KERNEL := kernel-bin | append-dtb | gzip | uImage gzip
check-size | append-metadata
endef
+define Device/hpe_1920
+ DEVICE_VENDOR := HPE
+ IMAGE_SIZE := 29632k
+ BLOCKSIZE := 64k
+ H3C_PRODUCT_ID := 0x3c010501
+ KERNEL := kernel-bin | append-dtb | relocate-kernel | 7z | h3c-image | h3c-vfs
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | relocate-kernel | 7z | h3c-image
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
+ pad-rootfs | check-size | append-metadata
+endef
+
# "NGE" refers to the uImage magic
define Device/netgear_nge
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma