1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2012-2016 OpenWrt.org
4 # Copyright (C) 2016 LEDE-project.org
6 define Build
/fortigate-header
8 dd if
=/dev
/zero bs
=384 count
=1 2>/dev
/null
; \
9 datalen
=$$(wc
-c
$@ | cut
-d
' ' -f1
); \
10 datalen
=$$(printf
"%08x" $$datalen); \
11 datalen
="$${datalen:6:2}$${datalen:4:2}$${datalen:2:2}$${datalen:0:2}"; \
12 printf
$$(echo
"00020000$${datalen}ffff0000ffff0000" | sed
's/../\\x&/g'); \
13 dd if
=/dev
/zero bs
=112 count
=1 2>/dev
/null
; \
19 define Build
/seil-header
21 data_size_crc
="$$(gzip -c $@ | tail -c8 | \
22 od -An -tx8 --endian little | tr -d ' \n')"; \
24 printf
"$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION)" | \
25 dd bs
=80 count
=1 conv
=sync
2>/dev
/null
; \
26 printf
"$$(echo $${data_size_crc:8:8} | sed 's/../\\x&/g')"; \
27 printf
"\x00\x00\x00\x01\x00\x00\x00\x09\x00\x00\x00\x63"; \
28 printf
"$(REVISION)" | dd bs
=32 count
=1 conv
=sync
2>/dev
/null
; \
29 printf
"\x00\x00\x00\x00"; \
30 printf
"$$(echo $${data_size_crc:0:8} | sed 's/../\\x&/g')"; \
36 define Device
/dsa-migration
37 DEVICE_COMPAT_VERSION
:= 1.1
38 DEVICE_COMPAT_MESSAGE
:= Config cannot be migrated from swconfig to DSA
41 define Device
/kernel-size-migration
42 DEVICE_COMPAT_VERSION
:= 2.0
43 DEVICE_COMPAT_MESSAGE
:= Partition design has changed compared to older versions
(up to
19.07) due to kernel size restrictions. \
44 Upgrade via sysupgrade mechanism is not possible
, so new installation via factory style image is required.
47 define Device
/buffalo_ls220de
49 DEVICE_VENDOR
:= Buffalo
50 DEVICE_MODEL
:= LinkStation LS220DE
51 KERNEL_UBIFS_OPTS
= -m
$$(PAGESIZE
) -e
124KiB
-c
172 -x none
52 KERNEL
:= kernel-bin | append-dtb | uImage none | buffalo-kernel-ubifs
53 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | uImage none
54 DEVICE_DTS
:= armada-370-buffalo-ls220de
56 kmod-hwmon-gpiofan kmod-hwmon-drivetemp kmod-linkstation-poweroff \
57 kmod-md-mod kmod-md-raid0 kmod-md-raid1 kmod-md-raid10 kmod-fs-xfs \
58 mdadm mkf2fs e2fsprogs partx-utils
60 TARGET_DEVICES
+= buffalo_ls220de
62 define Device
/buffalo_ls421de
64 DEVICE_VENDOR
:= Buffalo
65 DEVICE_MODEL
:= LinkStation LS421DE
67 KERNEL_SIZE
:= 33554432
68 FILESYSTEMS
:= squashfs ubifs
69 KERNEL
:= kernel-bin | append-dtb | uImage none | buffalo-kernel-jffs2
70 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | uImage none
71 DEVICE_DTS
:= armada-370-buffalo-ls421de
73 kmod-rtc-rs5c372a kmod-hwmon-gpiofan kmod-hwmon-drivetemp kmod-usb3 \
74 kmod-linkstation-poweroff kmod-md-raid0 kmod-md-raid1 kmod-md-mod \
75 kmod-fs-xfs mkf2fs e2fsprogs partx-utils
77 TARGET_DEVICES
+= buffalo_ls421de
79 define Device
/ctera_c200-v2
83 DEVICE_VENDOR
:= Ctera
87 KERNEL
:= kernel-bin | append-dtb | uImage none | ctera-firmware
89 KERNEL_SUFFIX
:= -factory.firm
91 kmod-gpio-button-hotplug kmod-hwmon-drivetemp kmod-hwmon-nct7802 \
92 kmod-rtc-s35390a kmod-usb3 kmod-usb-ledtrig-usbport
93 IMAGES
:= sysupgrade.bin
95 TARGET_DEVICES
+= ctera_c200-v2
97 define Device
/cznic_turris-omnia
98 DEVICE_VENDOR
:= CZ.NIC
99 DEVICE_MODEL
:= Turris Omnia
103 KERNEL_INITRAMFS
:= kernel-bin | gzip | fit gzip
$$(KDIR
)/image-
$$(DEVICE_DTS
).dtb
105 mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \
106 wpad-basic-mbedtls kmod-ath9k kmod-ath10k-ct ath10k-firmware-qca988x-ct \
107 partx-utils kmod-i2c-mux-pca954x kmod-leds-turris-omnia
108 IMAGES
:= sysupgrade.img.gz
109 IMAGE
/sysupgrade.img.gz
:= boot-scr | boot-img | sdcard-img | gzip | append-metadata
110 SUPPORTED_DEVICES
+= armada-385-turris-omnia
111 BOOT_SCRIPT
:= turris-omnia
113 TARGET_DEVICES
+= cznic_turris-omnia
115 define Device
/fortinet_fg-30e
116 DEVICE_VENDOR
:= Fortinet
117 DEVICE_MODEL
:= FortiGate
30E
119 KERNEL
:= kernel-bin | append-dtb
120 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | fortigate-header | \
123 DEVICE_DTS
:= armada-385-fortinet-fg-30e
124 IMAGE
/sysupgrade.bin
:= append-rootfs | pad-rootfs | \
125 sysupgrade-tar rootfs
=$$$$@ | append-metadata
126 DEVICE_PACKAGES
:= kmod-hwmon-nct7802
128 TARGET_DEVICES
+= fortinet_fg-30e
130 define Device
/fortinet_fg-50e
131 DEVICE_VENDOR
:= Fortinet
132 DEVICE_MODEL
:= FortiGate
50E
134 KERNEL
:= kernel-bin | append-dtb
135 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | fortigate-header | \
138 DEVICE_DTS
:= armada-385-fortinet-fg-50e
139 IMAGE
/sysupgrade.bin
:= append-rootfs | pad-rootfs | \
140 sysupgrade-tar rootfs
=$$$$@ | append-metadata
141 DEVICE_PACKAGES
:= kmod-hwmon-nct7802
143 TARGET_DEVICES
+= fortinet_fg-50e
145 define Device
/globalscale_mirabox
147 DEVICE_VENDOR
:= Globalscale
148 DEVICE_MODEL
:= Mirabox
150 SUPPORTED_DEVICES
+= mirabox
152 TARGET_DEVICES
+= globalscale_mirabox
154 define Device
/iij_sa-w2
156 DEVICE_MODEL
:= SA-W2
158 KERNEL
:= kernel-bin | append-dtb | seil-header
159 DEVICE_DTS
:= armada-380-iij-sa-w2
161 IMAGE
/sysupgrade.bin
:= append-kernel | pad-to
64k | \
162 append-rootfs | pad-rootfs | check-size | append-metadata
163 DEVICE_PACKAGES
:= kmod-ath9k kmod-ath10k-ct ath10k-firmware-qca988x-ct \
166 TARGET_DEVICES
+= iij_sa-w2
168 define Device
/iptime_nas1dual
169 DEVICE_VENDOR
:= ipTIME
170 DEVICE_MODEL
:= NAS1dual
171 DEVICE_PACKAGES
:= kmod-hwmon-drivetemp kmod-hwmon-gpiofan kmod-usb3
173 KERNEL
:= kernel-bin | append-dtb | iptime-naspkg nas1dual
175 IMAGES
:= sysupgrade.bin
177 IMAGE
/sysupgrade.bin
:= append-kernel | pad-to
$$(KERNEL_SIZE
) | \
178 append-rootfs | pad-rootfs | check-size | append-metadata
180 TARGET_DEVICES
+= iptime_nas1dual
182 define Device
/kobol_helios4
183 DEVICE_VENDOR
:= Kobol
184 DEVICE_MODEL
:= Helios4
187 DEVICE_PACKAGES
:= mkf2fs e2fsprogs partx-utils
188 IMAGES
:= sdcard.img.gz
189 IMAGE
/sdcard.img.gz
:= boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
191 UBOOT
:= helios4-u-boot-with-spl.kwb
192 BOOT_SCRIPT
:= clearfog
194 TARGET_DEVICES
+= kobol_helios4
196 define Device
/linksys
198 DEVICE_VENDOR
:= Linksys
199 DEVICE_PACKAGES
:= kmod-mwlwifi wpad-basic-mbedtls
200 IMAGES
+= factory.img
201 IMAGE
/factory.img
:= append-kernel | pad-to
$$$$(KERNEL_SIZE
) | \
202 append-ubi | pad-to
$$$$(PAGESIZE
)
206 define Device
/linksys_wrt1200ac
207 $(call Device
/linksys
)
208 $(Device
/dsa-migration
)
209 DEVICE_MODEL
:= WRT1200AC
210 DEVICE_ALT0_VENDOR
:= Linksys
211 DEVICE_ALT0_MODEL
:= Caiman
212 DEVICE_DTS
:= armada-385-linksys-caiman
213 DEVICE_PACKAGES
+= mwlwifi-firmware-88w8864
214 SUPPORTED_DEVICES
+= armada-385-linksys-caiman linksys
,caiman
216 TARGET_DEVICES
+= linksys_wrt1200ac
218 define Device
/linksys_wrt1900acs
219 $(call Device
/linksys
)
220 $(Device
/dsa-migration
)
221 DEVICE_MODEL
:= WRT1900ACS
223 DEVICE_ALT0_VENDOR
:= Linksys
224 DEVICE_ALT0_MODEL
:= WRT1900ACS
225 DEVICE_ALT0_VARIANT
:= v2
226 DEVICE_ALT1_VENDOR
:= Linksys
227 DEVICE_ALT1_MODEL
:= Shelby
228 DEVICE_DTS
:= armada-385-linksys-shelby
229 DEVICE_PACKAGES
+= mwlwifi-firmware-88w8864
230 SUPPORTED_DEVICES
+= armada-385-linksys-shelby linksys
,shelby
232 TARGET_DEVICES
+= linksys_wrt1900acs
234 define Device
/linksys_wrt1900ac-v1
235 $(call Device
/linksys
)
236 $(Device
/kernel-size-migration
)
237 DEVICE_MODEL
:= WRT1900AC
239 DEVICE_ALT0_VENDOR
:= Linksys
240 DEVICE_ALT0_MODEL
:= Mamba
241 DEVICE_DTS
:= armada-xp-linksys-mamba
242 DEVICE_PACKAGES
+= mwlwifi-firmware-88w8864
244 SUPPORTED_DEVICES
+= armada-xp-linksys-mamba linksys
,mamba
246 TARGET_DEVICES
+= linksys_wrt1900ac-v1
248 define Device
/linksys_wrt1900ac-v2
249 $(call Device
/linksys
)
250 $(Device
/dsa-migration
)
251 DEVICE_MODEL
:= WRT1900AC
253 DEVICE_ALT0_VENDOR
:= Linksys
254 DEVICE_ALT0_MODEL
:= Cobra
255 DEVICE_DTS
:= armada-385-linksys-cobra
256 DEVICE_PACKAGES
+= mwlwifi-firmware-88w8864
257 SUPPORTED_DEVICES
+= armada-385-linksys-cobra linksys
,cobra
259 TARGET_DEVICES
+= linksys_wrt1900ac-v2
261 define Device
/linksys_wrt3200acm
262 $(call Device
/linksys
)
263 $(Device
/dsa-migration
)
264 DEVICE_MODEL
:= WRT3200ACM
265 DEVICE_ALT0_VENDOR
:= Linksys
266 DEVICE_ALT0_MODEL
:= Rango
267 DEVICE_DTS
:= armada-385-linksys-rango
268 DEVICE_PACKAGES
+= kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
269 SUPPORTED_DEVICES
+= armada-385-linksys-rango linksys
,rango
271 TARGET_DEVICES
+= linksys_wrt3200acm
273 define Device
/linksys_wrt32x
274 $(call Device
/linksys
)
275 $(Device
/kernel-size-migration
)
276 DEVICE_MODEL
:= WRT32X
277 DEVICE_ALT0_VENDOR
:= Linksys
278 DEVICE_ALT0_MODEL
:= Venom
279 DEVICE_DTS
:= armada-385-linksys-venom
280 DEVICE_PACKAGES
+= kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964
282 KERNEL
:= kernel-bin | append-dtb
283 SUPPORTED_DEVICES
+= armada-385-linksys-venom linksys
,venom
285 TARGET_DEVICES
+= linksys_wrt32x
287 define Device
/marvell_a370-db
289 DEVICE_VENDOR
:= Marvell
290 DEVICE_MODEL
:= Armada
370 Development Board
(DB-88F6710-BP-DDR3
)
291 DEVICE_DTS
:= armada-370-db
292 SUPPORTED_DEVICES
+= armada-370-db
294 TARGET_DEVICES
+= marvell_a370-db
296 define Device
/marvell_a370-rd
298 DEVICE_VENDOR
:= Marvell
299 DEVICE_MODEL
:= Armada
370 RD
(RD-88F6710-A1
)
300 DEVICE_DTS
:= armada-370-rd
301 SUPPORTED_DEVICES
+= armada-370-rd
303 TARGET_DEVICES
+= marvell_a370-rd
305 define Device
/marvell_a385-db-ap
307 DEVICE_VENDOR
:= Marvell
308 DEVICE_MODEL
:= Armada
385 Development Board AP
(DB-88F6820-AP
)
309 DEVICE_DTS
:= armada-385-db-ap
310 IMAGES
+= factory.img
311 IMAGE
/factory.img
:= append-kernel | pad-to
$$$$(KERNEL_SIZE
) | \
312 append-ubi | pad-to
$$$$(PAGESIZE
)
314 SUPPORTED_DEVICES
+= armada-385-db-ap
316 TARGET_DEVICES
+= marvell_a385-db-ap
318 define Device
/marvell_a388-rd
319 DEVICE_VENDOR
:= Marvell
320 DEVICE_MODEL
:= Armada
388 RD
(RD-88F6820-AP
)
321 DEVICE_DTS
:= armada-388-rd
322 IMAGES
:= firmware.bin
323 IMAGE
/firmware.bin
:= append-kernel | pad-to
256k | append-rootfs | pad-rootfs
324 SUPPORTED_DEVICES
:= armada-388-rd marvell
,a385-rd
326 TARGET_DEVICES
+= marvell_a388-rd
328 define Device
/marvell_axp-db
330 DEVICE_VENDOR
:= Marvell
331 DEVICE_MODEL
:= Armada XP Development Board
(DB-78460-BP
)
332 DEVICE_DTS
:= armada-xp-db
333 SUPPORTED_DEVICES
+= armada-xp-db
335 TARGET_DEVICES
+= marvell_axp-db
337 define Device
/marvell_axp-gp
339 DEVICE_VENDOR
:= Marvell
340 DEVICE_MODEL
:= Armada Armada XP GP
(DB-MV784MP-GP
)
341 DEVICE_DTS
:= armada-xp-gp
342 SUPPORTED_DEVICES
+= armada-xp-gp
344 TARGET_DEVICES
+= marvell_axp-gp
346 define Device
/plathome_openblocks-ax3-4
347 DEVICE_VENDOR
:= Plat
'Home
348 DEVICE_MODEL := OpenBlocks AX3
349 DEVICE_VARIANT := 4 ports
351 SUPPORTED_DEVICES += openblocks-ax3-4
354 IMAGES += factory.img
355 IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi
357 TARGET_DEVICES += plathome_openblocks-ax3-4
359 define Device/solidrun_clearfog-base-a1
360 DEVICE_VENDOR := SolidRun
361 DEVICE_MODEL := ClearFog Base
364 DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
365 IMAGES := sdcard.img.gz
366 IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
367 DEVICE_DTS := armada-388-clearfog-base armada-388-clearfog-pro
368 UBOOT := clearfog-u-boot-with-spl.kwb
369 BOOT_SCRIPT := clearfog
370 SUPPORTED_DEVICES += armada-388-clearfog-base
371 DEVICE_COMPAT_VERSION := 1.1
372 DEVICE_COMPAT_MESSAGE := Ethernet interface rename has been dropped
374 TARGET_DEVICES += solidrun_clearfog-base-a1
376 define Device/solidrun_clearfog-pro-a1
377 $(Device/dsa-migration)
378 DEVICE_VENDOR := SolidRun
379 DEVICE_MODEL := ClearFog Pro
382 DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils
383 IMAGES := sdcard.img.gz
384 IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
385 DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base
386 UBOOT := clearfog-u-boot-with-spl.kwb
387 BOOT_SCRIPT := clearfog
388 SUPPORTED_DEVICES += armada-388-clearfog armada-388-clearfog-pro
390 TARGET_DEVICES += solidrun_clearfog-pro-a1
392 define Device/synology_ds213j
393 DEVICE_VENDOR := Synology
394 DEVICE_MODEL := DS213j
397 FILESYSTEMS := squashfs ubifs
398 KERNEL := kernel-bin | append-dtb | uImage none
399 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
400 DEVICE_DTS := armada-370-synology-ds213j
401 IMAGES := sysupgrade.bin
402 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
403 check-size | append-metadata
405 kmod-rtc-s35390a kmod-hwmon-gpiofan kmod-hwmon-drivetemp \
406 kmod-md-raid0 kmod-md-raid1 kmod-md-mod e2fsprogs mdadm \
407 -ppp -kmod-nft-offload -firewall4 -dnsmasq -odhcpd-ipv6only
409 TARGET_DEVICES += synology_ds213j