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
12 define Build
/zyxel-vers
14 for hw in
$(ZYXEL_VERS
); do\
15 echo
-n
"V9.99($$hw.0) | ";\
16 date
-d @
$(SOURCE_DATE_EPOCH
) +%m
/%d
/%Y
;\
20 define Build
/dlink-cameo
21 $(SCRIPT_DIR
)/cameo-tag.py
$@
$(DLINK_KERNEL_PART_SIZE
)
24 define Build
/dlink-version
25 echo
-n
"OpenWrt" >> $@
26 dd if
=/dev
/zero bs
=25 count
=1 >> $@
29 define Build
/dlink-headers
30 dd if
=$@ bs
=$(DLINK_KERNEL_PART_SIZE
) count
=1 of
=$@.kernel_part
; \
31 dd if
=$@ bs
=$(DLINK_KERNEL_PART_SIZE
) skip
=1 of
=$@.rootfs_part
; \
32 $(SCRIPT_DIR
)/cameo-imghdr.py
$@.kernel_part
$@.kernel_part.hex \
33 "$(DEVICE_MODEL)" os
$(CAMEO_KERNEL_PART
) \
34 $(CAMEO_CUSTOMER_SIGNATURE
) \
35 $(CAMEO_BOARD_VERSION
) \
37 $(SCRIPT_DIR
)/cameo-imghdr.py
$@.rootfs_part
$@.rootfs_part.hex \
38 "$(DEVICE_MODEL)" squashfs
$(CAMEO_ROOTFS_PART
) \
39 $(CAMEO_CUSTOMER_SIGNATURE
) \
40 $(CAMEO_BOARD_VERSION
); \
41 cat
$@.kernel_part.hex
$@.rootfs_part.hex
> $@
46 KERNEL
:= kernel-bin | append-dtb | gzip | uImage gzip
47 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | gzip | uImage gzip
48 DEVICE_DTS_DIR
:= ..
/dts-
$(KERNEL_PATCHVER
)
49 DEVICE_DTS
= $$(SOC
)_
$(1)
50 IMAGES
:= sysupgrade.bin
51 IMAGE
/sysupgrade.bin
:= append-kernel | pad-to
64k | append-rootfs | pad-rootfs | \
52 check-size | append-metadata
55 # "NGE" refers to the uImage magic
56 define Device
/netgear_nge
57 KERNEL
:= kernel-bin | append-dtb | lzma | uImage lzma
58 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | lzma | uImage lzma
61 UIMAGE_MAGIC
:= 0x4e474520
62 DEVICE_VENDOR
:= NETGEAR
65 include $(SUBTARGET
).mk
67 $(eval
$(call BuildImage
))