777e7c3ff5
Tested on: * Cloud Engines Pogoplug E02 * RaidSonic ICY BOX IB-NAS62x0 * Iomega Iconnect Some users are avoiding to replace their bootloader, because of that add support for second stage u-boot image. Having ubifs capable bootloader is required in order to boot current OpenWrt trunk. Sample ib62x0 commands for running second stage bootloader: tftpboot 0x800000 uboot-kirkwood-ib62x0_second_stage/openwrt-kirkwood-ib62x0_second_stage-u-boot.img bootm 0x800000 Sample ib62x0 commands for flashing second stage bootloader: tftpboot 0x800000 uboot-kirkwood-ib62x0_second_stage/openwrt-kirkwood-ib62x0_second_stage-u-boot.img nand erase 0x100000 0x100000 ; nand write 0x800000 0x100000 0x${filesize} nand read 0x800000 0x100000 0x100000 ; bootm 0x800000 While at it include parallel build support, use alphabetic order of the boards and introduce common OpenWrt configuration. Signed-off-by: Luka Perkov <luka@openwrt.org> Tested-by (on ib62x0): Luka Perkov <luka@openwrt.org> Tested-by (on dockstar): Alexander Couzens <lynxis@fe80.eu> Tested-by (on iconnect): Wojciech Dubowik <wojciech.dubowik@neratec.com> CC: Felix Kaechele <heffer@fedoraproject.org> CC: Wojciech Dubowik <wojciech.dubowik@neratec.com> CC: Alexander Couzens <lynxis@fe80.eu> CC: Daniel Engberg <daniel.engberg@pyret.net> CC: Imre Kaloz <kaloz@openwrt.org> SVN-Revision: 39590
136 lines
3.2 KiB
Makefile
136 lines
3.2 KiB
Makefile
#
|
|
# Copyright (C) 2010-2013 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=u-boot
|
|
PKG_VERSION:=2013.10
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
|
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:=a076a044b64371edc52f7e562b13f6b2
|
|
PKG_TARGETS:=bin
|
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define uboot/Default
|
|
TITLE:=
|
|
CONFIG:=
|
|
IMAGE:=
|
|
endef
|
|
|
|
define uboot/dockstar
|
|
TITLE:=U-Boot for Seagate DockStar
|
|
endef
|
|
|
|
define uboot/dockstar_second_stage
|
|
TITLE:=second stage U-Boot for Seagate DockStar
|
|
endef
|
|
|
|
define uboot/ib62x0
|
|
TITLE:=U-Boot for RaidSonic ICY BOX NAS6210 and NAS6220
|
|
endef
|
|
|
|
define uboot/ib62x0_second_stage
|
|
TITLE:=second stage U-Boot for RaidSonic ICY BOX NAS6210 and NAS6220
|
|
endef
|
|
|
|
define uboot/iconnect
|
|
TITLE:=U-Boot for Iomega iConnect Wireless
|
|
endef
|
|
|
|
define uboot/iconnect_second_stage
|
|
TITLE:=second stage U-Boot for Iomega iConnect Wireless
|
|
endef
|
|
|
|
define uboot/pogo_e02
|
|
TITLE:=U-Boot for Cloud Engines Pogoplug E02
|
|
endef
|
|
|
|
define uboot/sheevaplug
|
|
TITLE:=U-Boot for SheevaPlug
|
|
endef
|
|
|
|
UBOOTS:= \
|
|
dockstar dockstar_second_stage \
|
|
ib62x0 ib62x0_second_stage \
|
|
iconnect iconnect_second_stage \
|
|
pogo_e02 \
|
|
sheevaplug
|
|
|
|
define Package/uboot/template
|
|
define Package/uboot-kirkwood-$(1)
|
|
SECTION:=boot
|
|
CATEGORY:=Boot Loaders
|
|
DEPENDS:=@TARGET_kirkwood
|
|
TITLE:=$(2)
|
|
URL:=http://www.denx.de/wiki/U-Boot
|
|
VARIANT:=$(1)
|
|
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
|
|
|
|
define Build/Configure
|
|
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
|
$(UBOOT_CONFIG)_config
|
|
endef
|
|
|
|
define Build/Compile
|
|
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
|
u-boot.kwb \
|
|
CROSS_COMPILE=$(TARGET_CROSS)
|
|
mkimage -A $(ARCH) -O linux -T kernel -C none \
|
|
-a 0x600000 -e 0x600000 \
|
|
-n 'OpenWrt Das U-Boot uImage' \
|
|
-d $(PKG_BUILD_DIR)/u-boot.bin $(PKG_BUILD_DIR)/u-boot.img
|
|
endef
|
|
|
|
define Package/uboot/install/default
|
|
$(INSTALL_DIR) $(BIN_DIR)/uboot-$(BOARD)-$(1)
|
|
$(CP) $(PKG_BUILD_DIR)/u-boot.bin \
|
|
$(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.bin
|
|
$(CP) $(PKG_BUILD_DIR)/u-boot.kwb \
|
|
$(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.kwb
|
|
$(CP) $(PKG_BUILD_DIR)/u-boot.img \
|
|
$(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.img
|
|
$(INSTALL_DIR) $(BIN_DIR)/u-boot-kwboot/
|
|
$(CP) $(PKG_BUILD_DIR)/tools/kwboot \
|
|
$(BIN_DIR)/u-boot-kwboot/
|
|
endef
|
|
|
|
define Package/uboot/install/template
|
|
define Package/uboot-kirkwood-$(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-kirkwood-$(u))) \
|
|
)
|