1 # Copyright (c) 2014 The Linux Foundation. All rights reserved.
3 include $(TOPDIR
)/rules.mk
4 include $(INCLUDE_DIR
)/image.mk
6 UBIFS_OPTS
= -m
2048 -e
124KiB
-c
4096 -U
-F
9 $(CP
) $(LINUX_DIR
)/vmlinux
$(KDIR
)/$(IMG_PREFIX
)-vmlinux.elf
12 define Image
/BuildKernel
13 $(CP
) $(KDIR
)/$(IMG_PREFIX
)-vmlinux.elf
$(BIN_DIR
)
16 define Image
/Build
/squashfs
17 cp
$(KDIR
)/root.squashfs
$(KDIR
)/root.squashfs-raw
18 $(call prepare_generic_squashfs
,$(KDIR
)/root.squashfs
)
22 $(call Image
/Build
/$(1),$(1))
23 dd if
=$(KDIR
)/root.
$(1) of
=$(BIN_DIR
)/$(IMG_PREFIX
)-$(1)-root.img bs
=2k conv
=sync
28 KERNEL_DEPENDS
= $$(wildcard $(DTS_DIR
)/$$(DEVICE_DTS
).dts
)
29 KERNEL_INITRAMFS_PREFIX
:= $$(IMG_PREFIX
)-$(1)-initramfs
30 KERNEL_PREFIX
:= $$(IMAGE_PREFIX
)
31 KERNEL_LOADADDR
= 0x42208000
32 SUPPORTED_DEVICES
= $$(BOARD_NAME
)
33 IMAGE
/sysupgrade.
tar = sysupgrade-tar | append-metadata
36 define Device
/LegacyImage
37 KERNEL_SUFFIX
:= -uImage
38 KERNEL
= kernel-bin | append-dtb | uImage none
42 define Device
/FitImage
43 KERNEL_SUFFIX
:= -fit-uImage.itb
44 KERNEL
= kernel-bin | gzip | fit gzip
$$(DTS_DIR
)/$$(DEVICE_DTS
).dtb
48 define Device
/FitImageLzma
49 KERNEL_SUFFIX
:= -fit-uImage.itb
50 KERNEL
= kernel-bin | lzma | fit lzma
$$(DTS_DIR
)/$$(DEVICE_DTS
).dtb
56 IMAGES
:= nand-factory.ubi nand-sysupgrade.
tar
57 IMAGE
/nand-factory.ubi
:= append-ubi
58 IMAGE
/nand-sysupgrade.
tar := sysupgrade-tar | append-metadata
61 define Device
/DniImage
62 PROFILES
+= $$(DEVICE_NAME
)
63 FILESYSTEMS
:= squashfs
64 KERNEL_SUFFIX
:= -uImage
65 KERNEL
= kernel-bin | append-dtb | uImage none
70 IMAGES
:= factory.img sysupgrade.
tar
71 IMAGE
/factory.img
:= append-kernel | pad-offset
$$$$(BLOCKSIZE
) 64 | append-uImage-fakeroot-hdr | pad-to
$$$$(KERNEL_SIZE
) | append-ubi | netgear-dni
72 IMAGE
/sysupgrade.
tar := append-kernel | pad-offset
$$$$(BLOCKSIZE
) 64 | append-uImage-fakeroot-hdr | sysupgrade-tar kernel
=$$$$@ | append-metadata
74 DEVICE_VARS
+= NETGEAR_BOARD_ID NETGEAR_HW_ID
76 define Device
/TpSafeImage
77 PROFILES
+= $$(DEVICE_NAME
)
78 FILESYSTEMS
:= squashfs
79 KERNEL_SUFFIX
:= -uImage
80 KERNEL
= kernel-bin | append-dtb | uImage none
83 IMAGES
:= factory.bin sysupgrade.bin
84 IMAGE
/factory.bin
:= append-rootfs | tplink-safeloader factory
85 IMAGE
/sysupgrade.bin
:= append-rootfs | tplink-safeloader sysupgrade | append-metadata
87 DEVICE_VARS
+= TPLINK_BOARD_NAME
89 define Device
/ZyXELImage
90 PROFILES
+= $$(DEVICE_NAME
)
91 FILESYSTEMS
:= squashfs
92 KERNEL_SUFFIX
:= -uImage
93 KERNEL
= kernel-bin | append-dtb | uImage none | pad-to
$${KERNEL_SIZE}
95 IMAGES
:= sysupgrade.
tar mmcblk0p5-rootfs.bin mmcblk0p4-kernel.bin
96 IMAGE
/sysupgrade.
tar/squashfs
:= append-rootfs | pad-to
$$$${BLOCKSIZE} | sysupgrade-tar rootfs
=$$$$@ | append-metadata
97 IMAGE
/mmcblk0p5-rootfs.bin
:= append-rootfs | pad-rootfs | pad-to
$$$${BLOCKSIZE}
98 IMAGE
/mmcblk0p4-kernel.bin
:= append-kernel
102 $(call Device
/FitImage
)
103 $(call Device
/UbiFit
)
104 DEVICE_DTS
:= qcom-ipq8064-ap148
108 DEVICE_TITLE
:= Qualcomm AP148
109 DEVICE_PACKAGES
:= ath10k-firmware-qca99x0
112 define Device
/AP148-legacy
113 $(call Device
/LegacyImage
)
114 $(call Device
/UbiFit
)
115 DEVICE_DTS
:= qcom-ipq8064-ap148
119 DEVICE_TITLE
:= Qualcomm AP148
(legacy
)
120 DEVICE_PACKAGES
:= ath10k-firmware-qca99x0
124 $(call Device
/TpSafeImage
)
125 DEVICE_DTS
:= qcom-ipq8064-c2600
129 TPLINK_BOARD_NAME
:= C2600
130 DEVICE_TITLE
:= TP-Link Archer C2600
131 DEVICE_PACKAGES
:= ath10k-firmware-qca99x0
135 $(call Device
/DniImage
)
136 DEVICE_DTS
:= qcom-ipq8064-d7800
137 KERNEL_SIZE
:= 2097152
138 NETGEAR_BOARD_ID
:= D7800
139 NETGEAR_HW_ID
:= 29764958+0+128+512+4x4
+4x4
143 DEVICE_TITLE
:= Netgear Nighthawk X4 D7800
144 DEVICE_PACKAGES
:= ath10k-firmware-qca99x0
148 $(call Device
/FitImage
)
149 DEVICE_DTS
:= qcom-ipq8064-db149
152 DEVICE_TITLE
:= Qualcomm DB149
153 DEVICE_PACKAGES
:= ath10k-firmware-qca99x0
157 $(call Device
/LegacyImage
)
158 DEVICE_DTS
:= qcom-ipq8064-ea8500
162 FILESYSTEMS
:= squashfs
163 KERNEL
= kernel-bin | append-dtb | uImage none | append-uImage-fakeroot-hdr
164 PROFILES
+= $$(DEVICE_NAME
)
167 IMAGES
:= factory.bin sysupgrade.
tar
168 IMAGE
/factory.bin
:= append-kernel | pad-to
$$$${KERNEL_SIZE} | append-ubi
169 DEVICE_TITLE
:= Linksys EA8500
170 DEVICE_PACKAGES
:= ath10k-firmware-qca99x0
173 define Device
/FRITZ4040
174 $(call Device
/FitImageLzma
)
175 DEVICE_DTS
:= qcom-ipq4019-fritz4040
176 KERNEL_LOADADDR
:= 0x80208000
179 BOARD_NAME
:= fritz4040
180 DEVICE_TITLE
:= AVM Fritz
!Box
4040
181 IMAGE_SIZE
:= 29753344
182 IMAGES
= sysupgrade.bin
183 IMAGE
/sysupgrade.bin
:= append-kernel | append-rootfs | pad-rootfs | append-metadata
184 DEVICE_PACKAGES
:= kmod-usb-phy-qcom-ipq4019 ipq-wifi-fritz4040 fritz-tools u-boot-fritz4040
188 $(call Device
/DniImage
)
189 DEVICE_DTS
:= qcom-ipq8064-r7500
190 KERNEL_SIZE
:= 2097152
191 NETGEAR_BOARD_ID
:= R7500
192 NETGEAR_HW_ID
:= 29764841+0+128+256+3x3
+4x4
196 DEVICE_TITLE
:= Netgear Nighthawk X4 R7500
197 DEVICE_PACKAGES
:= ath10k-firmware-qca988x
200 define Device
/R7500v2
201 $(call Device
/DniImage
)
202 DEVICE_DTS
:= qcom-ipq8064-r7500v2
203 KERNEL_SIZE
:= 2097152
204 NETGEAR_BOARD_ID
:= R7500v2
205 NETGEAR_HW_ID
:= 29764958+0+128+512+3x3
+4x4
208 BOARD_NAME
:= r7500v2
209 DEVICE_TITLE
:= Netgear Nighthawk X4 R7500v2
210 DEVICE_PACKAGES
:= ath10k-firmware-qca99x0
214 $(call Device
/DniImage
)
215 DEVICE_DTS
:= qcom-ipq8065-r7800
216 KERNEL_SIZE
:= 2097152
217 NETGEAR_BOARD_ID
:= R7800
218 NETGEAR_HW_ID
:= 29764958+0+128+512+4x4
+4x4
+cascade
222 DEVICE_TITLE
:= Netgear Nighthawk X4S R7800
223 DEVICE_PACKAGES
:= ath10k-firmware-qca9984
226 define Device
/NBG6817
227 DEVICE_DTS
:= qcom-ipq8065-nbg6817
230 BOARD_NAME
:= nbg6817
231 DEVICE_TITLE
:= ZyXEL NBG6817
232 DEVICE_PACKAGES
:= ath10k-firmware-qca9984 e2fsprogs losetup
233 $(call Device
/ZyXELImage
)
236 define Device
/VR2600v
237 PROFILES
+= $$(DEVICE_NAME
)
238 FILESYSTEMS
:= squashfs
239 KERNEL_SUFFIX
:= -uImage
240 KERNEL
= kernel-bin | append-dtb | uImage none
241 KERNEL_NAME
:= zImage
242 KERNEL_SIZE
:= 2097152
243 DEVICE_DTS
:= qcom-ipq8064-vr2600v
246 BOARD_NAME
:= vr2600v
247 DEVICE_TITLE
:= TP-Link Archer VR2600v
248 DEVICE_PACKAGES
:= ath10k-firmware-qca99x0
249 IMAGES
:= sysupgrade.bin
250 IMAGE
/sysupgrade.bin
:= pad-extra
512 | append-kernel | pad-to
$$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
253 TARGET_DEVICES
+= AP148 AP148-legacy C2600 D7800 DB149 EA8500 FRITZ4040 R7500 \
254 R7500v2 R7800 NBG6817 VR2600v
256 $(eval
$(call BuildImage
))