mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-14 23:09:45 +01:00
Currently supported HPE 1920 devices all have an RTL838x SoC, but there are larger switches with RTL839x SoCs, although currently not supported. Move the build recipe to common.mk so the larger devices can also make use of the recipe, while moving it out of the main Makefile. Signed-off-by: Sander Vanheule <sander@svanheule.net>
105 lines
2.9 KiB
Makefile
105 lines
2.9 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
KERNEL_LOADADDR = 0x80000000
|
|
KERNEL_ENTRY = 0x80000400
|
|
|
|
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;\
|
|
for hw in $(ZYXEL_VERS); do\
|
|
echo -n "V9.99($$hw.0) | ";\
|
|
date -d @$(SOURCE_DATE_EPOCH) +%m/%d/%Y;\
|
|
done ) >> $@
|
|
endef
|
|
|
|
define Build/dlink-cameo
|
|
$(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; \
|
|
$(SCRIPT_DIR)/cameo-imghdr.py $@.kernel_part $@.kernel_part.hex \
|
|
"$(DEVICE_MODEL)" os $(CAMEO_KERNEL_PART) \
|
|
$(CAMEO_CUSTOMER_SIGNATURE) \
|
|
$(CAMEO_BOARD_VERSION) \
|
|
$(KERNEL_LOADADDR); \
|
|
$(SCRIPT_DIR)/cameo-imghdr.py $@.rootfs_part $@.rootfs_part.hex \
|
|
"$(DEVICE_MODEL)" squashfs $(CAMEO_ROOTFS_PART) \
|
|
$(CAMEO_CUSTOMER_SIGNATURE) \
|
|
$(CAMEO_BOARD_VERSION); \
|
|
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
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb | gzip | uImage gzip
|
|
DEVICE_DTS_DIR := ../dts-$(KERNEL_PATCHVER)
|
|
DEVICE_DTS = $$(SOC)_$(1)
|
|
IMAGES := sysupgrade.bin
|
|
IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | 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
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
|
|
SOC := rtl8380
|
|
IMAGE_SIZE := 14848k
|
|
UIMAGE_MAGIC := 0x4e474520
|
|
DEVICE_VENDOR := NETGEAR
|
|
endef
|
|
|
|
include $(SUBTARGET).mk
|
|
|
|
$(eval $(call BuildImage))
|