blob: 745611f8637a972d3e83b4e092a5e83877b602e0 (
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
|
#
# MT7621 Profiles
#
define Build/seama
$(STAGING_DIR_HOST)/bin/seama -i $@ $(1)
mv $@.seama $@
endef
define Build/seama-seal
$(call Build/seama,-s $@.seama $(1))
endef
define Build/ubnt-erx-factory-compat
echo '21001:6' > $@.compat
$(TAR) -cf $@ --transform='s/^.*/compat/' $@.compat
$(RM) $@.compat
endef
define Build/ubnt-erx-factory-kernel
if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) ]; then \
$(TAR) -rf $@ --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
\
md5sum --binary $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) | awk '{print $$1}'> $@.md5; \
$(TAR) -rf $@ --transform='s/^.*/vmlinux.tmp.md5/' $@.md5; \
$(RM) $@.md5; \
fi
endef
define Build/ubnt-erx-factory-rootfs
echo "dummy" > $@.rootfs
$(TAR) -rf $@ --transform='s/^.*/squashfs.tmp/' $@.rootfs
md5sum --binary $@.rootfs | awk '{print $$1}'> $@.md5
$(TAR) -rf $@ --transform='s/^.*/squashfs.tmp.md5/' $@.md5
$(RM) $@.md5
$(RM) $@.rootfs
endef
define Build/ubnt-erx-factory-version
echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $@.version
$(TAR) -rf $@ --transform='s/^.*/version.tmp/' $@.version
$(RM) $@.version
endef
# We need kernel+initrams fit into kernel partition
define Build/ubnt-erx-factory-check-size
@[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1))))) -ge "$$($(TAR) -xf $@ vmlinux.tmp -O | wc -c)" ] || { \
echo "WARNING: Initramfs kernel for image $@ is too big (kernel size: $$($(TAR) -xf $@ vmlinux.tmp -O | wc -c), max size $(1))" >&2; \
$(RM) -f $@; \
}
@[ "$$($(TAR) -xf $@ vmlinux.tmp -O | wc -c)" -gt 0 ] || { \
echo "WARNING: Kernel for image $@ not found" >&2; \
$(RM) -f $@; \
}
endef
ifeq ($(SUBTARGET),mt7621)
TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 re6500 sap-g3200u3 ubnt-erx witi wf-2881 zbt-wg2626
endif
define Device/mt7621
DTS := MT7621
IMAGE_SIZE := $(ralink_default_fw_size_4M)
endef
define Device/wsr-600
DTS := WSR-600
IMAGE_SIZE := $(ralink_default_fw_size_16M)
endef
define Device/re6500
DTS := RE6500
endef
define Device/wsr-1166
DTS := WSR-1166
IMAGE/sysupgrade.bin := trx | pad-rootfs
IMAGE_SIZE := $(ralink_default_fw_size_16M)
endef
define Device/dir-860l-b1
DTS := DIR-860L-B1
IMAGES += factory.bin
KERNEL := kernel-bin | patch-dtb | relocate-kernel | lzma | uImage lzma
IMAGE/sysupgrade.bin := \
append-kernel | pad-offset 65536 64 | append-rootfs | \
seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
pad-rootfs | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.bin := \
append-kernel | pad-offset 65536 64 | append-rootfs | pad-rootfs -x 64 | \
seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
seama-seal -m "signature=wrgac13_dlink.2013gui_dir860lb" | \
check-size $$$$(IMAGE_SIZE)
endef
define Device/firewrt
DTS := FIREWRT
IMAGE_SIZE := $(ralink_default_fw_size_16M)
endef
define Device/pbr-m1
DTS := PBR-M1
IMAGE_SIZE := $(ralink_default_fw_size_16M)
endef
define Device/sap-g3200u3
DTS := SAP-G3200U3
endef
define Device/witi
DTS := WITI
IMAGE_SIZE := $(ralink_default_fw_size_16M)
endef
define Device/zbt-wg2626
DTS := ZBT-WG2626
IMAGE_SIZE := $(ralink_default_fw_size_16M)
endef
define Device/wf-2881
DTS := WF-2881
BLOCKSIZE := 128KiB
PAGESIZE := 2048
FILESYSTEMS := squashfs
IMAGE_SIZE := 132382720
KERNEL := $(KERNEL_DTB) | pad-offset 131072 64 | uImage lzma
IMAGE/sysupgrade.bin := append-kernel | append-ubi | check-size $$$$(IMAGE_SIZE)
endef
define Device/ubnt-erx
DTS := UBNT-ERX
FILESYSTEMS := squashfs
KERNEL_SIZE := 3145728
KERNEL := $(KERNEL_DTB) | uImage lzma
IMAGES := sysupgrade.tar $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),factory-initramfs.tar)
IMAGE/factory-initramfs.tar := ubnt-erx-factory-compat | \
ubnt-erx-factory-kernel | \
ubnt-erx-factory-rootfs | \
ubnt-erx-factory-version | \
ubnt-erx-factory-check-size $$(KERNEL_SIZE)
IMAGE/sysupgrade.tar := sysupgrade-nand
endef
# FIXME: is this still needed?
define Image/Prepare
#define Build/Compile
rm -rf $(KDIR)/relocate
$(CP) ../../generic/image/relocate $(KDIR)
$(MAKE) -C $(KDIR)/relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
$(CP) $(KDIR)/relocate/loader.bin $(KDIR)/loader.bin
endef
|