ath79: fix factory image generation for Netgear and Zyxel boards
[openwrt/openwrt.git] / target / linux / ath79 / image / nand.mk
1 # attention: only zlib compression is allowed for the boot fs
2 define Build/zyxel-buildkerneljffs
3 rm -rf $(KDIR_TMP)/zyxelnbg6716
4 mkdir -p $(KDIR_TMP)/zyxelnbg6716/image/boot
5 cp $@ $(KDIR_TMP)/zyxelnbg6716/image/boot/vmlinux.lzma.uImage
6 $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
7 --big-endian --squash-uids -v -e 128KiB -q -f -n -x lzma -x rtime \
8 -o $@ \
9 -d $(KDIR_TMP)/zyxelnbg6716/image
10 rm -rf $(KDIR_TMP)/zyxelnbg6716
11 endef
12
13 define Build/zyxel-factory
14 let \
15 maxsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \
16 let size="$$(stat -c%s $@)"; \
17 if [ $$size -lt $$maxsize ]; then \
18 $(STAGING_DIR_HOST)/bin/mkrasimage \
19 -b $(RAS_BOARD) \
20 -v $(RAS_VERSION) \
21 -r $@ \
22 -s $$maxsize \
23 -o $@.new \
24 -l 131072 \
25 && mv $@.new $@ ; \
26 fi
27 endef
28
29 define Device/8dev_rambutan
30 SOC := qca9557
31 DEVICE_VENDOR := 8devices
32 DEVICE_MODEL := Rambutan
33 DEVICE_PACKAGES := kmod-usb2
34 BLOCKSIZE := 128k
35 PAGESIZE := 2048
36 KERNEL_SIZE := 4096k
37 KERNEL_IN_UBI := 1
38 IMAGES := factory.bin sysupgrade.tar
39 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
40 IMAGE/factory.bin := append-ubi
41 endef
42 TARGET_DEVICES += 8dev_rambutan
43
44 define Device/aerohive_hiveap-121
45 SOC := ar9344
46 DEVICE_VENDOR := Aerohive
47 DEVICE_MODEL := HiveAP 121
48 DEVICE_PACKAGES := kmod-usb2
49 BLOCKSIZE := 128k
50 PAGESIZE := 2048
51 IMAGE_SIZE := 116m
52 KERNEL_SIZE := 5120k
53 UBINIZE_OPTS := -E 5
54 SUPPORTED_DEVICES += hiveap-121
55 IMAGES += factory.bin
56 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
57 check-size
58 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
59 endef
60 TARGET_DEVICES += aerohive_hiveap-121
61
62 define Device/domywifi_dw33d
63 SOC := qca9558
64 DEVICE_VENDOR := DomyWifi
65 DEVICE_MODEL := DW33D
66 DEVICE_PACKAGES := kmod-usb2 kmod-usb-storage kmod-usb-ledtrig-usbport \
67 kmod-ath10k-ct ath10k-firmware-qca988x-ct
68 KERNEL_SIZE := 5120k
69 IMAGE_SIZE := 98304k
70 BLOCKSIZE := 128k
71 PAGESIZE := 2048
72 UBINIZE_OPTS := -E 5
73 IMAGES += factory.bin
74 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
75 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
76 check-size
77 endef
78 TARGET_DEVICES += domywifi_dw33d
79
80 define Device/glinet_gl-ar300m-common-nand
81 SOC := qca9531
82 DEVICE_VENDOR := GL.iNet
83 DEVICE_MODEL := GL-AR300M
84 DEVICE_PACKAGES := kmod-usb2
85 KERNEL_SIZE := 4096k
86 IMAGE_SIZE := 16000k
87 PAGESIZE := 2048
88 VID_HDR_OFFSET := 2048
89 endef
90
91 define Device/glinet_gl-ar300m-nand
92 $(Device/glinet_gl-ar300m-common-nand)
93 DEVICE_VARIANT := NAND
94 BLOCKSIZE := 128k
95 IMAGES += factory.img
96 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
97 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
98 SUPPORTED_DEVICES += glinet,gl-ar300m-nor
99 endef
100 TARGET_DEVICES += glinet_gl-ar300m-nand
101
102 define Device/glinet_gl-ar300m-nor
103 $(Device/glinet_gl-ar300m-common-nand)
104 DEVICE_VARIANT := NOR
105 BLOCKSIZE := 64k
106 SUPPORTED_DEVICES += glinet,gl-ar300m-nand gl-ar300m
107 endef
108 TARGET_DEVICES += glinet_gl-ar300m-nor
109
110 define Device/glinet_gl-ar750s-common
111 SOC := qca9563
112 DEVICE_VENDOR := GL.iNet
113 DEVICE_MODEL := GL-AR750S
114 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2 \
115 kmod-usb-storage block-mount
116 IMAGE_SIZE := 16000k
117 endef
118
119 define Device/glinet_gl-ar750s-nor-nand
120 $(Device/glinet_gl-ar750s-common)
121 DEVICE_VARIANT := NOR/NAND
122 KERNEL_SIZE := 4096k
123 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
124 SUPPORTED_DEVICES += glinet,gl-ar750s-nor
125 endef
126 TARGET_DEVICES += glinet_gl-ar750s-nor-nand
127
128 define Device/glinet_gl-ar750s-nor
129 $(Device/glinet_gl-ar750s-common)
130 DEVICE_VARIANT := NOR
131 BLOCKSIZE := 64k
132 SUPPORTED_DEVICES += gl-ar750s glinet,gl-ar750s glinet,gl-ar750s-nor-nand
133 endef
134 TARGET_DEVICES += glinet_gl-ar750s-nor
135
136 define Device/glinet_gl-e750
137 SOC := qca9531
138 DEVICE_VENDOR := GL.iNet
139 DEVICE_MODEL := GL-E750
140 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct kmod-usb2
141 SUPPORTED_DEVICES += gl-e750
142 KERNEL_SIZE := 4096k
143 IMAGE_SIZE := 131072k
144 PAGESIZE := 2048
145 VID_HDR_OFFSET := 2048
146 BLOCKSIZE := 128k
147 IMAGES += factory.img
148 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
149 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
150 endef
151 TARGET_DEVICES += glinet_gl-e750
152
153 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
154 define Device/netgear_ath79_nand
155 DEVICE_VENDOR := NETGEAR
156 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
157 KERNEL_SIZE := 4096k
158 BLOCKSIZE := 128k
159 PAGESIZE := 2048
160 IMAGE_SIZE := 25600k
161 KERNEL := kernel-bin | append-dtb | lzma -d20 | \
162 pad-offset $$(KERNEL_SIZE) 129 | uImage lzma | \
163 append-string -e '\xff' | \
164 append-uImage-fakehdr filesystem $$(UIMAGE_MAGIC)
165 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | uImage lzma
166 IMAGES := sysupgrade.bin factory.img
167 IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | \
168 check-size
169 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | \
170 check-size
171 UBINIZE_OPTS := -E 5
172 endef
173
174 define Device/netgear_wndr3700-v4
175 SOC := ar9344
176 DEVICE_MODEL := WNDR3700
177 DEVICE_VARIANT := v4
178 UIMAGE_MAGIC := 0x33373033
179 NETGEAR_BOARD_ID := WNDR3700v4
180 NETGEAR_HW_ID := 29763948+128+128
181 $(Device/netgear_ath79_nand)
182 endef
183 TARGET_DEVICES += netgear_wndr3700-v4
184
185 define Device/netgear_wndr4300
186 SOC := ar9344
187 DEVICE_MODEL := WNDR4300
188 UIMAGE_MAGIC := 0x33373033
189 NETGEAR_BOARD_ID := WNDR4300
190 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
191 $(Device/netgear_ath79_nand)
192 endef
193 TARGET_DEVICES += netgear_wndr4300
194
195 define Device/netgear_wndr4300sw
196 SOC := ar9344
197 DEVICE_MODEL := WNDR4300SW
198 UIMAGE_MAGIC := 0x33373033
199 NETGEAR_BOARD_ID := WNDR4300SW
200 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
201 $(Device/netgear_ath79_nand)
202 endef
203 TARGET_DEVICES += netgear_wndr4300sw
204
205 define Device/netgear_wndr4300tn
206 SOC := ar9344
207 DEVICE_MODEL := WNDR4300TN
208 UIMAGE_MAGIC := 0x33373033
209 NETGEAR_BOARD_ID := WNDR4300TN
210 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
211 $(Device/netgear_ath79_nand)
212 endef
213 TARGET_DEVICES += netgear_wndr4300tn
214
215 define Device/netgear_wndr4300-v2
216 SOC := qca9563
217 DEVICE_MODEL := WNDR4300
218 DEVICE_VARIANT := v2
219 UIMAGE_MAGIC := 0x27051956
220 NETGEAR_BOARD_ID := WNDR4500series
221 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012175
222 $(Device/netgear_ath79_nand)
223 endef
224 TARGET_DEVICES += netgear_wndr4300-v2
225
226 define Device/netgear_wndr4500-v3
227 SOC := qca9563
228 DEVICE_MODEL := WNDR4500
229 DEVICE_VARIANT := v3
230 UIMAGE_MAGIC := 0x27051956
231 NETGEAR_BOARD_ID := WNDR4500series
232 NETGEAR_HW_ID := 29764821+2+128+128+3x3+3x3+5508012173
233 $(Device/netgear_ath79_nand)
234 endef
235 TARGET_DEVICES += netgear_wndr4500-v3
236
237 define Device/zyxel_nbg6716
238 SOC := qca9558
239 DEVICE_VENDOR := ZyXEL
240 DEVICE_MODEL := NBG6716
241 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct \
242 ath10k-firmware-qca988x-ct
243 RAS_BOARD := NBG6716
244 RAS_ROOTFS_SIZE := 29696k
245 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
246 KERNEL_SIZE := 4096k
247 BLOCKSIZE := 128k
248 PAGESIZE := 2048
249 KERNEL := kernel-bin | append-dtb | uImage none | zyxel-buildkerneljffs | \
250 check-size 4096k
251 IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
252 IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | \
253 sysupgrade-tar rootfs=$$$$@ | append-metadata
254 IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | \
255 pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
256 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
257 zyxel-factory
258 UBINIZE_OPTS := -E 5
259 endef
260 TARGET_DEVICES += zyxel_nbg6716