1 include $(TOPDIR
)/rules.mk
2 include $(INCLUDE_DIR
)/image.mk
4 KERNEL_LOADADDR
= 0x80060000
6 DEVICE_VARS
+= LOADER_FLASH_OFFS LOADER_TYPE
7 DEVICE_VARS
+= LOADER_FLASH_MAX LOADER_KERNEL_MAGIC
8 DEVICE_VARS
+= NETGEAR_BOARD_ID NETGEAR_HW_ID
9 DEVICE_VARS
+= RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION
10 DEVICE_VARS
+= SEAMA_SIGNATURE SEAMA_MTDBLOCK
12 define Build
/loader-common
14 $(MAKE
) -C lzma-loader \
15 PKG_BUILD_DIR
="$@.src" \
16 TARGET_DIR
="$(dir $@)" LOADER_NAME
="$(notdir $@)" \
17 $(1) compile loader.
$(LOADER_TYPE
)
18 mv
"$@.$(LOADER_TYPE)" "$@"
22 define Build
/loader-kernel
23 $(call Build
/loader-common
, \
25 BOARD
="$(DEVICE_NAME)" )
28 define Build
/loader-okli-compile
29 $(call Build
/loader-common
, \
30 FLASH_OFFS
=$(LOADER_FLASH_OFFS
) \
31 FLASH_MAX
=$(LOADER_FLASH_MAX
) \
32 KERNEL_MAGIC
=$(LOADER_KERNEL_MAGIC
) \
33 BOARD
="$(DEVICE_NAME)" )
36 # Arguments: <output name> <kernel offset>
37 define Build
/loader-okli
38 dd if
=$(KDIR
)/loader-
$(word 1,$(1)).
$(LOADER_TYPE
) bs
=$(word 2,$(1)) conv
=sync of
="$@.new"
43 define Build
/append-loader-okli
44 cat
"$(KDIR)/loader-$(word 1,$(1)).$(LOADER_TYPE)" >> "$@"
47 define Build
/append-loader-okli-uimage
48 cat
"$(KDIR)/loader-$(word 1,$(1)).uImage" >> "$@"
51 define Build
/relocate-kernel
53 $(CP
) ..
/..
/generic
/image
/relocate
$@.relocate
54 $(MAKE
) -j1
-C
$@.relocate KERNEL_ADDR
=$(KERNEL_LOADADDR
) CROSS_COMPILE
=$(TARGET_CROSS
)
56 dd if
=$@.relocate
/loader.bin bs
=32 conv
=sync
&& \
57 perl
-e
'@s = stat("$@"); print pack("N", @s[7])' && \
66 DEVICE_DTS_DIR
:= ..
/dts
67 DEVICE_DTS
= $$(SOC
)_
$(1)
71 KERNEL
:= kernel-bin | append-dtb | lzma | uImage lzma
72 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | lzma | uImage lzma
73 LOADER_KERNEL_MAGIC
:=
78 IMAGES
:= sysupgrade.bin
79 IMAGE
/sysupgrade.bin
= append-kernel | pad-to
$$$$(BLOCKSIZE
) | \
80 append-rootfs | pad-rootfs | check-size | append-metadata
83 define Device
/loader-okli-uimage
85 COMPILE
:= loader-
$(1).bin loader-
$(1).uImage
86 COMPILE
/loader-
$(1).bin
:= loader-okli-compile
87 COMPILE
/loader-
$(1).uImage
:= loader-okli-compile | pad-to
64k | \
92 KERNEL
:= kernel-bin | append-dtb | relocate-kernel | lzma
93 KERNEL_INITRAMFS
:= $$(KERNEL
) | seama
98 # - 28 bytes seama_header
99 # - 36 bytes of META data (4-bytes aligned)
100 IMAGE
/default
:= append-kernel | pad-offset
$$$$(BLOCKSIZE
) 64 | append-rootfs
101 IMAGE
/sysupgrade.bin
:= $$(IMAGE
/default
) | seama | pad-rootfs | \
102 check-size | append-metadata
103 IMAGE
/factory.bin
:= $$(IMAGE
/default
) | pad-rootfs
-x
64 | seama | \
104 seama-seal | check-size
108 include $(SUBTARGET
).mk
110 ifeq ($(SUBTARGET
),generic
)
111 include generic-tp-link.mk
112 include generic-ubnt.mk
115 ifeq ($(SUBTARGET
),tiny
)
116 include tiny-netgear.mk
117 include tiny-tp-link.mk
121 $(eval
$(call BuildImage
))