OpenWrt – Blame information for rev 2
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | # |
2 | # Copyright (C) 2008-2011 OpenWrt.org |
||
3 | # |
||
4 | # This is free software, licensed under the GNU General Public License v2. |
||
5 | # See /LICENSE for more information. |
||
6 | # |
||
7 | include $(TOPDIR)/rules.mk |
||
8 | include $(INCLUDE_DIR)/image.mk |
||
9 | |||
10 | DEVICE_VARS += DTS IMAGE_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID |
||
11 | DEVICE_VARS += BUFFALO_TAG_PLATFORM BUFFALO_TAG_VERSION BUFFALO_TAG_MINOR |
||
12 | DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK |
||
13 | |||
14 | loadaddr-y := 0x80000000 |
||
15 | loadaddr-$(CONFIG_TARGET_ramips_rt288x) := 0x88000000 |
||
16 | loadaddr-$(CONFIG_TARGET_ramips_mt7621) := 0x80001000 |
||
17 | |||
18 | KERNEL_LOADADDR := $(loadaddr-y) |
||
19 | |||
20 | KERNEL_DTB = kernel-bin | patch-dtb | lzma |
||
21 | define Device/Default |
||
22 | PROFILES = Default $$(DTS) |
||
23 | KERNEL_DEPENDS = $$(wildcard ../dts/$$(DTS).dts) |
||
24 | KERNEL := $(KERNEL_DTB) | uImage lzma |
||
25 | DEVICE_DTS_DIR := ../dts |
||
26 | IMAGES := sysupgrade.bin |
||
27 | IMAGE_SIZE := $(ralink_default_fw_size_8M) |
||
28 | SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) |
||
29 | sysupgrade_bin := append-kernel | append-rootfs | pad-rootfs |
||
30 | IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE) |
||
31 | endef |
||
32 | |||
33 | define Device/seama |
||
34 | SEAMA_MTDBLOCK := 2 |
||
35 | IMAGES += factory.bin |
||
36 | |||
37 | # 64 bytes offset: |
||
38 | # - 28 bytes seama_header |
||
39 | # - 36 bytes of META data (4-bytes aligned) |
||
40 | IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs |
||
41 | IMAGE/sysupgrade.bin := \ |
||
42 | $$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE) |
||
43 | IMAGE/factory.bin := \ |
||
44 | $$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size $$$$(IMAGE_SIZE) |
||
45 | SEAMA_SIGNATURE := |
||
46 | endef |
||
47 | |||
48 | define Build/patch-dtb |
||
49 | $(call Image/BuildDTB,../dts/$(DTS).dts,$@.dtb) |
||
50 | $(STAGING_DIR_HOST)/bin/patch-dtb $@ $@.dtb |
||
51 | endef |
||
52 | |||
53 | define Build/trx |
||
54 | $(STAGING_DIR_HOST)/bin/trx $(1) \ |
||
55 | -o $@ \ |
||
56 | -m $(IMAGE_SIZE) \ |
||
57 | -f $(IMAGE_KERNEL) \ |
||
58 | -a 4 -f $(IMAGE_ROOTFS) |
||
59 | endef |
||
60 | |||
61 | define Build/loader-common |
||
62 | rm -rf $@.src |
||
63 | $(MAKE) -C lzma-loader \ |
||
64 | PKG_BUILD_DIR="$@.src" \ |
||
65 | TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \ |
||
66 | BOARD="$(BOARDNAME)" PLATFORM="$(PLATFORM)" \ |
||
67 | LZMA_TEXT_START=0x82000000 LOADADDR=$(KERNEL_LOADADDR) \ |
||
68 | $(1) compile loader.$(LOADER_TYPE) |
||
69 | mv "$@.$(LOADER_TYPE)" "$@" |
||
70 | rm -rf $@.src |
||
71 | endef |
||
72 | |||
73 | define Build/loader-kernel |
||
74 | $(call Build/loader-common,LOADER_DATA="$@") |
||
75 | endef |
||
76 | |||
77 | define Build/relocate-kernel |
||
78 | rm -rf $@.relocate |
||
79 | $(CP) ../../generic/image/relocate $@.relocate |
||
80 | $(MAKE) -C $@.relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS) |
||
81 | ( \ |
||
82 | dd if=$@.relocate/loader.bin bs=32 conv=sync && \ |
||
83 | perl -e '@s = stat("$@"); print pack("V", @s[7])' && \ |
||
84 | cat $@ \ |
||
85 | ) > $@.new |
||
86 | mv $@.new $@ |
||
87 | rm -rf $@.relocate |
||
88 | endef |
||
89 | |||
90 | define Build/umedia-header |
||
91 | fix-u-media-header -T 0x46 -B $(1) -i $@ -o $@.new && mv $@.new $@ |
||
92 | endef |
||
93 | |||
94 | define Build/edimax-header |
||
95 | $(STAGING_DIR_HOST)/bin/mkedimaximg -i $@ -o $@.new $(1) |
||
96 | @mv $@.new $@ |
||
97 | endef |
||
98 | |||
99 | define Build/poray-header |
||
100 | $(STAGING_DIR_HOST)/bin/mkporayfw $(1) -f $@ -o $@.new |
||
101 | mv $@.new $@ |
||
102 | endef |
||
103 | |||
104 | define Build/wrg-header |
||
105 | mkwrgimg -i $@ -d "/dev/mtdblock/2" -s $(1) -o $@.new |
||
106 | mv $@.new $@ |
||
107 | endef |
||
108 | |||
109 | # combine kernel and rootfs into one image |
||
110 | # mkdlinkfw <type> <optional extra arguments to mkdlinkfw binary> |
||
111 | |||
112 | define Build/mkdlinkfw |
||
113 | -$(STAGING_DIR_HOST)/bin/mkdlinkfw \ |
||
114 | -k $(IMAGE_KERNEL) \ |
||
115 | -r $(IMAGE_ROOTFS) \ |
||
116 | -o $@ \ |
||
117 | -s $(DLINK_FIRMWARE_SIZE) |
||
118 | endef |
||
119 | |||
120 | define Build/mkdlinkfw-factory |
||
121 | -$(STAGING_DIR_HOST)/bin/mkdlinkfw \ |
||
122 | -m $(DLINK_ROM_ID) -f $(DLINK_FAMILY_MEMBER) \ |
||
123 | -F $@ \ |
||
124 | -o $@.new \ |
||
125 | -s $(DLINK_FIRMWARE_SIZE) |
||
126 | mv $@.new $@ |
||
127 | endef |
||
128 | |||
129 | define Build/zyimage |
||
130 | $(STAGING_DIR_HOST)/bin/zyimage $(1) $@ |
||
131 | endef |
||
132 | |||
133 | ralink_default_fw_size_4M=3866624 |
||
134 | ralink_default_fw_size_8M=8060928 |
||
135 | ralink_default_fw_size_16M=16121856 |
||
136 | ralink_default_fw_size_32M=33226752 |
||
137 | |||
138 | ifeq ($(SUBTARGET),rt288x) |
||
139 | include rt288x.mk |
||
140 | endif |
||
141 | |||
142 | ifeq ($(SUBTARGET),rt305x) |
||
143 | include rt305x.mk |
||
144 | endif |
||
145 | |||
146 | ifeq ($(SUBTARGET),rt3883) |
||
147 | include rt3883.mk |
||
148 | endif |
||
149 | |||
150 | ifeq ($(SUBTARGET),mt7620) |
||
151 | include mt7620.mk |
||
152 | endif |
||
153 | |||
154 | ifeq ($(SUBTARGET),mt7621) |
||
155 | include mt7621.mk |
||
156 | endif |
||
157 | |||
158 | ifeq ($(SUBTARGET),mt76x8) |
||
159 | include mt76x8.mk |
||
160 | endif |
||
161 | |||
162 | $(eval $(call BuildImage)) |