1 # SPDX-License-Identifier: GPL-2.0-only
3 include $(TOPDIR
)/rules.mk
4 include $(INCLUDE_DIR
)/image.mk
6 KERNEL_LOADADDR
= 0x80000000
7 KERNEL_ENTRY
= 0x80000400
9 DEVICE_VARS
+= ZYXEL_VERS DLINK_KERNEL_PART_SIZE
10 DEVICE_VARS
+= CAMEO_KERNEL_PART CAMEO_ROOTFS_PART CAMEO_CUSTOMER_SIGNATURE CAMEO_BOARD_VERSION
11 DEVICE_VARS
+= H3C_PRODUCT_ID H3C_DEVICE_ID
13 define Build
/zyxel-vers
15 for hw in
$(ZYXEL_VERS
); do\
16 echo
-n
"V9.99($$hw.0) | ";\
17 date
-d @
$(SOURCE_DATE_EPOCH
) +%m
/%d
/%Y
;\
21 define Build
/dlink-cameo
22 $(SCRIPT_DIR
)/cameo-tag.py
$@
$(DLINK_KERNEL_PART_SIZE
)
25 define Build
/dlink-version
26 echo
-n
"OpenWrt" >> $@
27 dd if
=/dev
/zero bs
=25 count
=1 >> $@
30 define Build
/dlink-headers
31 dd if
=$@ bs
=$(DLINK_KERNEL_PART_SIZE
) count
=1 of
=$@.kernel_part
; \
32 dd if
=$@ bs
=$(DLINK_KERNEL_PART_SIZE
) skip
=1 of
=$@.rootfs_part
; \
33 $(SCRIPT_DIR
)/cameo-imghdr.py
$@.kernel_part
$@.kernel_part.hex \
34 "$(DEVICE_MODEL)" os
$(CAMEO_KERNEL_PART
) \
35 $(CAMEO_CUSTOMER_SIGNATURE
) \
36 $(CAMEO_BOARD_VERSION
) \
38 $(SCRIPT_DIR
)/cameo-imghdr.py
$@.rootfs_part
$@.rootfs_part.hex \
39 "$(DEVICE_MODEL)" squashfs
$(CAMEO_ROOTFS_PART
) \
40 $(CAMEO_CUSTOMER_SIGNATURE
) \
41 $(CAMEO_BOARD_VERSION
); \
42 cat
$@.kernel_part.hex
$@.rootfs_part.hex
> $@
46 $(STAGING_DIR_HOST
)/bin
/7zr a
$(@
).new
-t7z
-m0
=lzma
$(@
)
50 define Build
/h3c-image
51 $(STAGING_DIR_HOST
)/bin
/mkh3cimg \
55 -p
$(H3C_PRODUCT_ID
) \
61 $(STAGING_DIR_HOST
)/bin
/mkh3cvfs \
68 define Build
/relocate-kernel
70 $(CP
) ..
/..
/generic
/image
/relocate
$@.relocate
71 $(MAKE
) -j1
-C
$@.relocate KERNEL_ADDR
=$(KERNEL_LOADADDR
) LZMA_TEXT_START
=0x82000000 \
72 CROSS_COMPILE
=$(TARGET_CROSS
)
74 dd if
=$@.relocate
/loader.bin bs
=32 conv
=sync
&& \
75 perl
-e
'@s = stat("$@"); print pack("N", @s[7])' && \
84 KERNEL
:= kernel-bin | append-dtb | gzip | uImage gzip
85 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | gzip | uImage gzip
86 DEVICE_DTS_DIR
:= ..
/dts-
$(KERNEL_PATCHVER
)
87 DEVICE_DTS
= $$(SOC
)_
$(1)
88 IMAGES
:= sysupgrade.bin
89 IMAGE
/sysupgrade.bin
:= append-kernel | pad-to
64k | append-rootfs | pad-rootfs | \
90 check-size | append-metadata
93 # "NGE" refers to the uImage magic
94 define Device
/netgear_nge
95 KERNEL
:= kernel-bin | append-dtb | lzma | uImage lzma
96 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | lzma | uImage lzma
99 UIMAGE_MAGIC
:= 0x4e474520
100 DEVICE_VENDOR
:= NETGEAR
103 include $(SUBTARGET
).mk
105 $(eval
$(call BuildImage
))