blob: 381e43ce786668ff0b4785b38db2e5bbb9898588 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
# Copyright (c) 2014 The Linux Foundation. All rights reserved.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
UBIFS_OPTS = -m 2048 -e 124KiB -c 4096 -U -F
UBINIZE_OPTS = -m 2048 -p 128KiB
KERNEL_LOADADDR := 0x42208000
define Image/Prepare
$(CP) $(LINUX_DIR)/vmlinux $(KDIR)/$(IMG_PREFIX)-vmlinux.elf
mkimage -A arm -O linux -T filesystem -C none \
-a $(KERNEL_LOADADDR) -e $(KERNEL_LOADADDR) \
-n 'ARM OpenWrt fakeroot' \
-s $(KDIR_TMP)/root.dummy-uImage.tmp
echo -ne '\xff' > $(KDIR_TMP)/root.dummy
cat $(KDIR_TMP)/root.dummy $(KDIR_TMP)/root.dummy-uImage.tmp > $(KDIR)/root.dummy
endef
define Image/BuildKernel
$(CP) $(KDIR)/$(IMG_PREFIX)-vmlinux.elf $(BIN_DIR)
endef
define Image/Build/squashfs
cp $(KDIR)/root.squashfs $(KDIR)/root.squashfs-raw
$(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
endef
define Image/Build
$(call Image/Build/$(1),$(1))
dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1)-root.img bs=2k conv=sync
endef
define Build/append-file
cat $(1) >> $@
endef
define Device/Default
PROFILES := Default
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs
DEVICE_DTS :=
KERNEL_PREFIX := $$(IMAGE_PREFIX)
IMAGES :=
KERNEL_IN_UBI :=
BOARD_NAME :=
endef
DEVICE_VARS += DEVICE_DTS KERNEL_IN_UBI BOARD_NAME
define Device/LegacyImage
KERNEL_SUFFIX := -uImage
KERNEL = kernel-bin | append-dtb | uImage none
KERNEL_NAME := zImage
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/UbiFit
KERNEL_IN_UBI := 1
IMAGES := nand-factory.ubi nand-sysupgrade.tar
IMAGE/nand-factory.ubi := append-ubi
IMAGE/nand-sysupgrade.tar := sysupgrade-nand
endef
define Device/DniImage
PROFILES += $$(DEVICE_NAME)
FILESYSTEMS := squashfs
KERNEL_SUFFIX := -uImage
KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
KERNEL = kernel-bin | append-dtb | pad-to $$$$(($$(KERNEL_SIZE)-2*64-1)) | uImage none | append-file $(KDIR)/root.dummy
KERNEL_NAME := zImage
NETGEAR_BOARD_ID :=
NETGEAR_HW_ID :=
IMAGES := factory.img sysupgrade.tar
IMAGE/factory.img := append-kernel | append-ubi | netgear-dni
IMAGE/sysupgrade.tar = sysupgrade-nand
endef
DEVICE_VARS += KERNEL_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID DEVICE_BLOCK_SIZE DEVICE_PAGE_SIZE
define Device/TpSafeImage
PROFILES += $$(DEVICE_NAME)
FILESYSTEMS := squashfs
KERNEL_SUFFIX := -uImage
KERNEL = kernel-bin | append-dtb | uImage none
KERNEL_NAME := zImage
TPLINK_BOARD_NAME :=
IMAGES := factory.bin sysupgrade.bin
IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade
endef
DEVICE_VARS += TPLINK_BOARD_NAME
define Device/AP148
$(call Device/FitImage)
$(call Device/UbiFit)
DEVICE_DTS := qcom-ipq8064-ap148
BLOCKSIZE := 128KiB
PAGESIZE := 2048
BOARD_NAME := ap148
DEVICE_TITLE := Qualcomm AP148
DEVICE_PACKAGES := ath10k-firmware-qca99x0
endef
define Device/AP148-legacy
$(call Device/LegacyImage)
$(call Device/UbiFit)
DEVICE_DTS := qcom-ipq8064-ap148
BLOCKSIZE := 128KiB
PAGESIZE := 2048
BOARD_NAME := ap148
DEVICE_TITLE := Qualcomm AP148 (legacy)
DEVICE_PACKAGES := ath10k-firmware-qca99x0
endef
define Device/C2600
$(call Device/TpSafeImage)
DEVICE_DTS := qcom-ipq8064-c2600
BLOCKSIZE := 128KiB
PAGESIZE := 2048
BOARD_NAME := c2600
TPLINK_BOARD_NAME := C2600
DEVICE_TITLE := TP-Link Archer C2600
DEVICE_PACKAGES := ath10k-firmware-qca99x0
endef
define Device/D7800
$(call Device/DniImage)
DEVICE_DTS := qcom-ipq8064-d7800
KERNEL_SIZE := 2097152
NETGEAR_BOARD_ID := D7800
NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4
BLOCKSIZE := 128KiB
PAGESIZE := 2048
BOARD_NAME := d7800
DEVICE_TITLE := Netgear Nighthawk X4 D7800
DEVICE_PACKAGES := ath10k-firmware-qca99x0
endef
define Device/DB149
$(call Device/FitImage)
DEVICE_DTS := qcom-ipq8064-db149
KERNEL_INSTALL := 1
BOARD_NAME := db149
DEVICE_TITLE := Qualcomm DB149
DEVICE_PACKAGES := ath10k-firmware-qca99x0
endef
define Device/EA8500
$(call Device/LegacyImage)
DEVICE_DTS := qcom-ipq8064-ea8500
PAGESIZE := 2048
BLOCKSIZE := 128KiB
KERNEL_SIZE := 3145728
FILESYSTEMS := squashfs
KERNEL = kernel-bin | append-dtb | uImage none | append-file $(KDIR)/root.dummy
PROFILES += $$(DEVICE_NAME)
BOARD_NAME := ea8500
IMAGES := factory.bin sysupgrade.tar
IMAGE/factory.bin := append-kernel 3145728 | append-ubi
IMAGE/sysupgrade.tar := sysupgrade-nand
DEVICE_VARS += DEVICE_DTS KERNEL_SIZE PAGESIZE BLOCKSIZE SUBPAGESIZE
DEVICE_TITLE := Linksys EA8500
DEVICE_PACKAGES := ath10k-firmware-qca99x0
endef
define Device/R7500
$(call Device/DniImage)
DEVICE_DTS := qcom-ipq8064-r7500
KERNEL_SIZE := 2097152
NETGEAR_BOARD_ID := R7500
NETGEAR_HW_ID := 29764841+0+128+256+3x3+4x4
BLOCKSIZE := 128KiB
PAGESIZE := 2048
BOARD_NAME := r7500
DEVICE_TITLE := Netgear Nighthawk X4 R7500
DEVICE_PACKAGES := ath10k-firmware-qca99x0
endef
define Device/R7800
$(call Device/DniImage)
DEVICE_DTS := qcom-ipq8064-r7800
KERNEL_SIZE := 2097152
NETGEAR_BOARD_ID := R7800
NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4+cascade
BLOCKSIZE := 128KiB
PAGESIZE := 2048
BOARD_NAME := r7800
DEVICE_TITLE := Netgear Nighthawk X4S R7800
DEVICE_PACKAGES := ath10k-firmware-qca9984
endef
TARGET_DEVICES += AP148 AP148-legacy C2600 D7800 DB149 EA8500 R7500 R7800
$(eval $(call BuildImage))
|