blob: 9fdb949392a156646699d64fd9e86aebd61ef37f (
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
|
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2010-2016 OpenWrt.org
# boards missing since devicetree update
#EASY50712 ARV3527P
KERNEL_LOADADDR = 0x80002000
KERNEL_ENTRY = 0x80002000
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
ifeq ($(SUBTARGET),xway)
UBIFS_OPTS := -m 512 -e 15872 -c 1959
else
UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
endif
define Build/append-avm-fakeroot
cat ./eva.dummy.squashfs >> $@
endef
define Build/dgn3500-sercom-footer
$(STAGING_DIR_HOST)/bin/dgn3500sum $@ $(1) $(2)
endef
define Build/mkbrncmdline
mkbrncmdline -i $@ -o $@.new BRN-BOOT
mv $@.new $@
endef
define Build/mkbrnimg
mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(IMAGE_KERNEL) $(IMAGE_ROOTFS)
endef
define Build/fullimage
mkimage -A mips -O linux -C lzma -T filesystem -a 0x00 \
-e 0x00 -n '$(VERSION_DIST) RootFS' \
-d $(IMAGE_ROOTFS) $(IMAGE_ROOTFS).new
cat $(IMAGE_KERNEL) $(IMAGE_ROOTFS).new > $@.tmp
mkimage -A mips -O linux -T multi -a 0x00 -C none \
-e 0x00 -n 'OpenWrt fullimage' \
-d $@.tmp $@
rm $(IMAGE_ROOTFS).new
rm $@.tmp
endef
define Build/loader-common
rm -rf $@.src
$(MAKE) -C lzma-loader \
PKG_BUILD_DIR="$@.src" \
TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
BOARD="$(BOARDNAME)" PLATFORM="lantiq" \
LZMA_TEXT_START=0x82000000 \
LOADADDR=0x80002000 \
$(1) compile loader.bin
mv "$@.bin" "$@"
rm -rf $@.src
endef
define Build/loader-kernel
$(call Build/loader-common,LOADER_DATA="$@")
endef
define Build/loader-okli-compile
$(call Build/loader-common, \
FLASH_START=0x10000000 \
FLASH_OFFS=$(LOADER_FLASH_OFFS) \
FLASH_MAX=0x0 \
)
endef
define Build/prepend-loader-okli
cat "$(KDIR)/loader-$(word 1,$(1)).bin" "$@" >> "$@.new"
mv "$@.new" "$@"
endef
DEVICE_VARS += SIGNATURE MAGIC CRC32_POLY LOADER_FLASH_OFFS
DTS_DIR := $(DTS_DIR)/lantiq
# Shared device definition: applies to every defined device
define Device/Default
PROFILES = Default
COMPILE :=
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
FILESYSTEMS := squashfs
SOC := $(DEFAULT_SOC)
DEVICE_DTS = $$(SOC)_$(1)
IMAGES := sysupgrade.bin
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
endef
define Device/NAND/xway
BLOCKSIZE := 16k
PAGESIZE := 512
SUBPAGESIZE := 256
FILESYSTEMS += ubifs
endef
define Device/NAND/xrx200
BLOCKSIZE := 128k
PAGESIZE := 2048
SUBPAGESIZE := 512
FILESYSTEMS += ubifs
endef
define Device/NAND
$(Device/NAND/$(SUBTARGET))
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
define Device/lantiqBrnImage
KERNEL := kernel-bin | append-dtb | mkbrncmdline | lzma-no-dict
IMAGES := factory.bin
IMAGE/factory.bin := mkbrnimg | check-size
endef
define Device/lantiqFullImage
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-offset 4 0
IMAGES := sysupgrade.bin fullimage.bin
IMAGE/fullimage.bin := fullimage | check-size
endef
define Device/AVM
DEVICE_VENDOR := AVM
KERNEL := kernel-bin | append-dtb | lzma | eva-image
KERNEL_INITRAMFS := $$(KERNEL)
IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-avm-fakeroot | \
append-rootfs | pad-rootfs | check-size | append-metadata
endef
define Device/AVM_preloader
DEVICE_VENDOR := AVM
COMPILE := loader-$(1).bin
COMPILE/loader-$(1).bin := loader-okli-compile | lzma | eva-image | \
pad-to 64k | append-avm-fakeroot | pad-to 4k
KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
prepend-loader-okli $(1)
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | eva-image
endef
ifeq ($(SUBTARGET),ase)
DEFAULT_SOC := amazonse
include amazonse.mk
endif
ifeq ($(SUBTARGET),xway_legacy)
DEFAULT_SOC := danube
include xway_legacy.mk
endif
ifeq ($(SUBTARGET),xway)
include danube.mk
include ar9.mk
endif
ifeq ($(SUBTARGET),xrx200)
DEFAULT_SOC := vr9
include tp-link.mk
include vr9.mk
endif
ifeq ($(SUBTARGET),falcon)
DEFAULT_SOC := falcon
include falcon.mk
endif
$(eval $(call BuildImage))
|