Makefile 12.1 KB
Newer Older
1 2 3
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk

C
coolsnowwolf 已提交
4 5
DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
define Device/Default
	PROFILES := Default
	KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
	KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs
	KERNEL_PREFIX := $$(IMAGE_PREFIX)
	KERNEL_LOADADDR := 0x80208000
	SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
	IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata
	IMAGE/sysupgrade.bin/squashfs :=
endef

define Device/FitImage
	KERNEL_SUFFIX := -fit-uImage.itb
	KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
	KERNEL_NAME := Image
endef

define Device/FitImageLzma
	KERNEL_SUFFIX := -fit-uImage.itb
	KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
	KERNEL_NAME := Image
endef

29 30 31 32 33 34
define Device/FitzImage
	KERNEL_SUFFIX := -fit-zImage.itb
	KERNEL = kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb
	KERNEL_NAME := zImage
endef

35 36 37 38 39 40 41
define Device/UbiFit
	KERNEL_IN_UBI := 1
	IMAGES := nand-factory.ubi nand-sysupgrade.bin
	IMAGE/nand-factory.ubi := append-ubi
	IMAGE/nand-sysupgrade.bin := sysupgrade-tar | append-metadata
endef

42 43 44 45 46 47 48
define Device/DniImage
	KERNEL_SUFFIX := -fit-uImage.itb
	KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
	KERNEL_NAME := Image
	NETGEAR_BOARD_ID :=
	NETGEAR_HW_ID :=
	IMAGES := factory.img sysupgrade.bin
C
coolsnowwolf 已提交
49 50
	IMAGE/factory.img := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | netgear-dni
	IMAGE/sysupgrade.bin := append-kernel | pad-offset 64k 64 | append-uImage-fakehdr filesystem | append-rootfs | pad-rootfs | append-metadata
51 52 53 54 55 56 57 58 59 60 61 62 63
endef
DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID


define Device/8dev_jalapeno
	$(call Device/FitImage)
	$(call Device/UbiFit)
	DEVICE_DTS := qcom-ipq4018-jalapeno
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	DEVICE_TITLE := 8devices Jalapeno
endef
TARGET_DEVICES += 8dev_jalapeno
64

C
coolsnowwolf 已提交
65 66 67 68 69 70 71 72 73
define Device/asus_map-ac2200
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4019-map-ac2200
	DEVICE_TITLE := ASUS Lyra MAP-AC2200
	IMAGES := sysupgrade.bin
	DEVICE_PACKAGES := ipq-wifi-asus_map-ac2200 ath10k-firmware-qca9888-ct kmod-ath3k
endef
TARGET_DEVICES += asus_map-ac2200

74 75 76 77 78 79
define Device/asus_rt-ac58u
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4018-rt-ac58u
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	DTB_SIZE := 65536
80
	DEVICE_TITLE := Asus RT-AC58U / RT-AC1300UHP
81 82 83 84 85 86 87 88
	IMAGE_SIZE := 20439364
	FILESYSTEMS := squashfs
#	Someone - in their infinite wisdom - decided to put the firmware
#	version in front of the image name \03\00\00\04 => Version 3.0.0.4
#	Since u-boot works with strings we either need another fixup step
#	to add a version... or we are very careful not to add '\0' into that
#	string and call it a day.... Yeah, we do the latter!
	UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC58U')
C
coolsnowwolf 已提交
89 90
	KERNEL_INITRAMFS := $$(KERNEL) | uImage none
	KERNEL_INITRAMFS_SUFFIX := -factory.trx
91
	IMAGES := sysupgrade.bin
92
	DEVICE_PACKAGES := kmod-usb-ledtrig-usbport
93 94 95
endef
TARGET_DEVICES += asus_rt-ac58u

C
coolsnowwolf 已提交
96 97 98 99 100 101 102 103 104 105 106 107 108
define Device/asus_rt-acrh17
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4019-rt-acrh17
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	DTB_SIZE := 65536
	DEVICE_TITLE := Asus RT-ACRH17
	IMAGE_SIZE := 20439364
	FILESYSTEMS := squashfs
	UIMAGE_NAME:=$(shell echo -e '\03\01\01\01RT-AC82U')
	KERNEL_INITRAMFS := $$(KERNEL) | uImage none
	KERNEL_INITRAMFS_SUFFIX := -factory.trx
	IMAGES := sysupgrade.bin
L
LEAN-ESX 已提交
109
	DEVICE_PACKAGES := ipq-wifi-rt-acrh17 ath10k-firmware-qca9984
C
coolsnowwolf 已提交
110 111 112
endef
TARGET_DEVICES += asus_rt-acrh17

113 114 115 116 117 118
define Device/avm_fritzbox-4040
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4018-fritz4040
	BOARD_NAME := fritz4040
	DEVICE_TITLE := AVM Fritz!Box 4040
	IMAGE_SIZE := 29753344
C
coolsnowwolf 已提交
119
	UBOOT_PATH := $(STAGING_DIR_IMAGE)/uboot-fritz4040.bin
120
	UBOOT_PARTITION_SIZE := 524288
121
	IMAGES = sysupgrade.bin
122
	IMAGE/eva.bin := append-uboot | pad-to $$$$(UBOOT_PARTITION_SIZE) | append-kernel | append-rootfs | pad-rootfs
123
	IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
C
coolsnowwolf 已提交
124
	DEVICE_PACKAGES := fritz-tffs fritz-caldata
125 126 127 128 129 130 131 132 133 134 135 136 137
endef
TARGET_DEVICES += avm_fritzbox-4040

define Device/compex_wpj428
	$(call Device/FitImage)
	DEVICE_DTS := qcom-ipq4028-wpj428
	DEVICE_DTS_CONFIG := config@4
	BLOCKSIZE := 64k
	DEVICE_TITLE := Compex WPJ428
	IMAGE_SIZE := 31232k
	KERNEL_SIZE := 4096k
	IMAGES = sysupgrade.bin
	IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
138
	DEVICE_PACKAGES := kmod-gpio-beeper
139 140 141
endef
TARGET_DEVICES += compex_wpj428

C
coolsnowwolf 已提交
142 143 144 145 146 147 148 149 150 151 152 153 154 155
define Device/engenius_eap1300
	$(call Device/FitImage)
	DEVICE_TITLE := EnGenius EAP1300
	DEVICE_DTS_CONFIG := config@4
	BOARD_NAME := eap1300
	DEVICE_DTS := qcom-ipq4018-eap1300
	KERNEL_SIZE := 5120k
	IMAGE_SIZE := 25344k
	IMAGES := sysupgrade.bin
	IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
	DEVICE_PACKAGES := ipq-wifi-engenius_eap1300
endef
TARGET_DEVICES += engenius_eap1300

156 157 158 159 160 161 162 163 164 165 166 167
define Device/glinet_gl-b1300
	$(call Device/FitImage)
	DEVICE_TITLE := GL.iNet GL-B1300
	BOARD_NAME := gl-b1300
	DEVICE_DTS := qcom-ipq4029-gl-b1300
	KERNEL_SIZE := 4096k
	IMAGE_SIZE := 26624k
	IMAGES := sysupgrade.bin
	IMAGE/sysupgrade.bin := append-kernel |append-rootfs | pad-rootfs | append-metadata
endef
TARGET_DEVICES += glinet_gl-b1300

168 169 170 171 172 173 174 175 176 177 178 179 180
define Device/hugo_ac1200
	$(call Device/FitImage)
	DEVICE_TITLE :=  Hugo AC1200
	BOARD_NAME := hugo_ac1200
	DEVICE_DTS := qcom-ipq4019-hugo-ac1200
	KERNEL_SIZE := 4096k
	IMAGE_SIZE := 31232k
	IMAGES := sysupgrade.bin
	IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
	DEVICE_PACKAGES := ipq-wifi-hugo_ac1200
endef
TARGET_DEVICES += hugo_ac1200

C
coolsnowwolf 已提交
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215
define Device/linksys_ea6350v3
	# The Linksys EA6350v3 has a uboot bootloader that does not
	# support either booting lzma kernel images nor booting UBI
	# partitions. This uboot, however, supports raw kernel images and
	# gzipped images.
	#
	# As for the time of writing this, the device will boot the kernel
	# from a fixed address with a fixed length of 3MiB. Also, the
	# device has a hard-coded kernel command line that requieres the
	# rootfs and alt_rootfs to be in mtd11 and mtd13 respectively.
	# Oh... and the kernel partition overlaps with the rootfs
	# partition (the same for alt_kernel and alt_rootfs).
	#
	# If you are planing re-partitioning the device, you may want to
	# keep those details in mind:
	# 1. The kernel adresses you should honor are 0x00000000 and
	#    0x02800000 respectively.
	# 2. The kernel size (plus the dtb) cannot exceed 3.00MiB in size.
	# 3. You can use 'zImage', but not a raw 'Image' packed with lzma.
	# 4. The kernel command line from uboot is harcoded to boot with
	#    rootfs either in mtd11 or mtd13.
	$(call Device/FitzImage)
	DEVICE_TITLE := Linksys EA6350v3
	DEVICE_DTS := qcom-ipq4018-ea6350v3
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	KERNEL_SIZE := 3145728
	IMAGE_SIZE := 38797312
	UBINIZE_OPTS := -E 5
	IMAGES := factory.bin sysupgrade.bin
	IMAGE/factory.bin := append-kernel | append-uImage-fakehdr filesystem | pad-to $$$${KERNEL_SIZE} | append-ubi | linksys-image type=EA6350v3
	DEVICE_PACKAGES := ipq-wifi-linksys_ea6350v3 uboot-envtools
endef
TARGET_DEVICES += linksys_ea6350v3

216 217 218 219 220 221 222 223 224 225 226 227
define Device/mobipromo_cm520-79f
	$(call Device/FitzImage)
	$(call Device/UbiFit)
	DEVICE_VENDOR := MobiPromo
	DEVICE_MODEL := CM520-79F
	DEVICE_DTS := qcom-ipq4019-cm520-79f
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	DEVICE_PACKAGES := ipq-wifi-mobipromo_cm520-79f kmod-usb-ledtrig-usbport
endef
TARGET_DEVICES += mobipromo_cm520-79f

228 229 230 231 232 233 234
define Device/meraki_mr33
	$(call Device/FitImage)
	DEVICE_DTS := qcom-ipq4029-mr33
	BLOCKSIZE := 131072
	PAGESIZE := 2048
	DEVICE_TITLE := Cisco Meraki MR33
	IMAGES = sysupgrade.bin
235
	DEVICE_PACKAGES := -swconfig ath10k-firmware-qca9887-ct
236 237 238
endef
TARGET_DEVICES += meraki_mr33

239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
define Device/netgear_ex61x0v2
	$(call Device/DniImage)
	DEVICE_DTS_CONFIG := config@4
	NETGEAR_BOARD_ID := EX6150v2series
	NETGEAR_HW_ID := 29765285+16+0+128+2x2
endef

define Device/netgear_ex6100v2
	$(call Device/netgear_ex61x0v2)
	DEVICE_DTS := qcom-ipq4018-ex6100v2
	DEVICE_TITLE := Netgear EX6100v2
endef
TARGET_DEVICES += netgear_ex6100v2

define Device/netgear_ex6150v2
	$(call Device/netgear_ex61x0v2)
	DEVICE_DTS := qcom-ipq4018-ex6150v2
	DEVICE_TITLE := Netgear EX6150v2
endef
TARGET_DEVICES += netgear_ex6150v2

260 261 262 263 264 265 266 267 268 269 270
define Device/openmesh_a42
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4018-a42
	DEVICE_DTS_CONFIG := config@om.a42
	BLOCKSIZE := 64k
	DEVICE_TITLE := OpenMesh A42
	KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
	IMAGE_SIZE := 15616k
	IMAGES = factory.bin sysupgrade.bin
	IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A42
	IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
271
	DEVICE_PACKAGES := uboot-envtools
272 273 274
endef
TARGET_DEVICES += openmesh_a42

275 276 277 278 279 280 281 282 283 284 285
define Device/openmesh_a62
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4019-a62
	DEVICE_DTS_CONFIG := config@om.a62
	BLOCKSIZE := 64k
	DEVICE_TITLE := OpenMesh A62
	KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | pad-to $$(BLOCKSIZE)
	IMAGE_SIZE := 15552k
	IMAGES = factory.bin sysupgrade.bin
	IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=A62
	IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
286
	DEVICE_PACKAGES := ath10k-firmware-qca9888-ct uboot-envtools
287 288 289
endef
TARGET_DEVICES += openmesh_a62

290 291 292 293 294
define Device/p2w_r619ac
	$(call Device/FitzImage)
	$(call Device/UbiFit)
	DEVICE_VENDOR := P&W
	DEVICE_MODEL := R619AC
L
LEAN-ESX 已提交
295
	DEVICE_DTS := qcom-ipq4019-r619ac
296 297 298 299 300 301 302 303 304
	DEVICE_DTS_CONFIG := config@10
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	IMAGES += nand-factory.bin
	IMAGE/nand-factory.bin := append-ubi | qsdk-ipq-factory-nand
	DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
endef
TARGET_DEVICES += p2w_r619ac

305 306 307 308 309 310 311 312 313 314 315 316 317 318
define Device/p2w_r619ac-128m
	$(call Device/FitzImage)
	$(call Device/UbiFit)
	DEVICE_VENDOR := P&W
	DEVICE_MODEL := R619AC
	DEVICE_VARIANT := 128M
	DEVICE_DTS := qcom-ipq4019-r619ac-128m
	DEVICE_DTS_CONFIG := config@10
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	DEVICE_PACKAGES := ipq-wifi-p2w_r619ac
endef
TARGET_DEVICES += p2w_r619ac-128m

319 320 321 322 323 324 325 326 327 328 329 330 331
define Device/qcom_ap-dk01.1-c1
	DEVICE_TITLE := QCA AP-DK01.1-C1
	BOARD_NAME := ap-dk01.1-c1
	DEVICE_DTS := qcom-ipq4019-ap.dk01.1-c1
	KERNEL_INSTALL := 1
	KERNEL_SIZE := 4096k
	IMAGE_SIZE := 26624k
	$(call Device/FitImage)
	IMAGES := sysupgrade.bin
	IMAGE/sysupgrade.bin := append-kernel | pad-to $$$${KERNEL_SIZE} | append-rootfs | pad-rootfs | append-metadata
endef
TARGET_DEVICES += qcom_ap-dk01.1-c1

332 333 334 335 336 337 338 339 340 341 342 343 344
define Device/qcom_ap-dk04.1-c1
	$(call Device/FitImage)
	$(call Device/UbiFit)
	DEVICE_DTS := qcom-ipq4019-ap.dk04.1-c1
	KERNEL_INSTALL := 1
	KERNEL_SIZE := 4048k
	BLOCKSIZE := 128k
	PAGESIZE := 2048
	BOARD_NAME := ap-dk04.1-c1
	DEVICE_TITLE := QCA AP-DK04.1-C1
endef
TARGET_DEVICES += qcom_ap-dk04.1-c1

C
coolsnowwolf 已提交
345 346 347 348 349 350 351 352 353 354 355 356 357 358
define Device/zyxel_nbg6617
	$(call Device/FitImageLzma)
	DEVICE_DTS := qcom-ipq4018-nbg6617
	DEVICE_TITLE := ZyXEL NBG6617
	ROOTFS_SIZE := 24960k
	RAS_BOARD := NBG6617
	RAS_ROOTFS_SIZE := 19840k
	RAS_VERSION := "$(VERSION_DIST) $(REVISION)"
	IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
	IMAGES := sysupgrade.bin factory.bin
#	The ZyXEL firmware allows flashing thru the web-gui only when the rootfs is
#	at least as large as the one of the initial firmware image (not the current
#	one on the device). This only applies to the Web-UI, the bootlaoder ignores
#	this minimum-size. However, the larger image can be flashed both ways.
C
coolsnowwolf 已提交
359
	IMAGE/factory.bin := append-rootfs | pad-rootfs | pad-to 64k | check-size $$$$(ROOTFS_SIZE) | zyxel-ras-image separate-kernel
C
coolsnowwolf 已提交
360
	IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | check-size $$$$(ROOTFS_SIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
C
coolsnowwolf 已提交
361
	DEVICE_PACKAGES := uboot-envtools kmod-usb-ledtrig-usbport
C
coolsnowwolf 已提交
362 363 364
endef
TARGET_DEVICES += zyxel_nbg6617

365 366 367 368 369 370 371 372 373 374
define Device/zyxel_wre6606
	$(call Device/FitImage)
	DEVICE_TITLE := ZyXEL WRE6606
	DEVICE_DTS_CONFIG := config@4
	DEVICE_DTS := qcom-ipq4018-wre6606
	IMAGES := sysupgrade.bin
	IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata
endef
TARGET_DEVICES += zyxel_wre6606

375
$(eval $(call BuildImage))