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
|
#
# Copyright (C) 2013-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=u-boot
PKG_VERSION:=2016.03
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:= \
http://mirror2.openwrt.org/sources \
ftp://ftp.denx.de/pub/u-boot
PKG_MD5SUM:=973c1d896be751321cc3aafa564f64b2
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_LICENSE:=GPL-2.0 GPL-2.0+
PKG_LICENSE_FILES:=Licenses/README
include $(INCLUDE_DIR)/package.mk
define uboot/Default
TITLE:=
CONFIG:=
IMAGE:=
endef
define uboot/A10-OLinuXino-Lime
TITLE:=U-Boot for the A10 OLinuXino LIME
endef
define uboot/A13-OLinuXino
TITLE:=U-Boot for the A13 OlinuXino
endef
define uboot/A20-OLinuXino-Lime
TITLE:=U-Boot for the A20 OLinuXino LIME
endef
define uboot/A20-OLinuXino_MICRO
TITLE:=U-Boot for A20 OLinuXino MICRO
endef
define uboot/Bananapi
TITLE:=U-Boot for Bananapi
endef
define uboot/Bananapro
TITLE:=U-Boot for Bananapro
endef
define uboot/Cubieboard
TITLE:=U-Boot for Cubieboard
endef
define uboot/Cubieboard2
TITLE:=U-Boot for Cubieboard2
endef
define uboot/Cubietruck
TITLE:=U-Boot for Cubietruck
endef
define uboot/Hummingbird_A31
TITLE:=U-Boot for the Hummingbird A31 board
endef
define uboot/Mele_M9
TITLE:=U-Boot for the Mele M9 (A31)
endef
define uboot/OLIMEX_A13_SOM
TITLE:=U-Boot for the Olimex A13 SOM
endef
define uboot/Linksprite_pcDuino
TITLE:=U-Boot for Linksprite pcDuino
endef
define uboot/Linksprite_pcDuino3
TITLE:=U-Boot for Linksprite pcDuino3
endef
define uboot/Lamobo_R1
TITLE:=U-Boot for Lamobo R1
endef
define uboot/pangolin
TITLE:=U-Boot for Theobroma A31-yQ7 devboard
endef
define uboot/orangepi_plus
TITLE:=U-Boot for Orange Pi Plus (H3)
endef
define uboot/orangepi_2
TITLE:=U-Boot for Orange Pi 2 (H3)
endef
UBOOTS:= \
A10-OLinuXino-Lime \
A13-OLinuXino \
A20-OLinuXino-Lime \
A20-OLinuXino_MICRO \
Bananapi \
Bananapro \
Cubieboard \
Cubieboard2 \
Cubietruck \
Hummingbird_A31 \
Mele_M9 \
OLIMEX_A13_SOM \
Linksprite_pcDuino \
Linksprite_pcDuino3 \
Lamobo_R1 \
orangepi_plus \
orangepi_2 \
pangolin
define Package/uboot/template
define Package/uboot-sunxi-$(1)
SECTION:=boot
CATEGORY:=Boot Loaders
DEPENDS:=@TARGET_sunxi
TITLE:=$(2)
URL:=http://www.denx.de/wiki/U-Boot
VARIANT:=$(1)
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
endef
endef
define BuildUBootPackage
$(eval $(uboot/Default))
$(eval $(uboot/$(1)))
$(call Package/uboot/template,$(1),$(TITLE))
endef
ifdef BUILD_VARIANT
$(eval $(call uboot/$(BUILD_VARIANT)))
UBOOT_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT))
UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_VARIANT)-u-boot.bin)
endif
# check if any specialized uEnv bootconfig is required
ifeq ($(UBOOT_CONFIG),pangolin)
UENV:=pangolin
else
UENV:=default
endif
define Build/Configure
$(MAKE) -C $(PKG_BUILD_DIR) \
USE_PRIVATE_LIBGCC=yes $(UBOOT_CONFIG)_defconfig
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE=$(TARGET_CROSS) \
DTCDIR=$(LINUX_DIR)/scripts/dtc/
endef
define Package/uboot/install/default
$(CP) $(PKG_BUILD_DIR)/u-boot.bin \
$(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-u-boot.bin
$(CP) $(PKG_BUILD_DIR)/spl/sunxi-spl.bin \
$(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-spl.bin
$(CP) $(PKG_BUILD_DIR)/u-boot-sunxi-with-spl.bin \
$(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-u-boot-with-spl.bin
$(CP) uEnv-$(UENV).txt \
$(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-uEnv.txt
mkimage -C none -A arm -T script -d $(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-uEnv.txt \
$(KERNEL_BUILD_DIR)/uboot-$(BOARD)-$(1)-boot.scr
endef
define Package/uboot/install/template
define Package/uboot-sunxi-$(1)/install
$(call Package/uboot/install/default,$(2))
endef
endef
$(foreach u,$(UBOOTS), \
$(eval $(call Package/uboot/install/template,$(u),$(u))) \
)
$(foreach u,$(UBOOTS), \
$(eval $(call BuildUBootPackage,$(u))) \
$(eval $(call BuildPackage,uboot-sunxi-$(u))) \
)
|