2014-06-20 3 views
0
  1. OpenWrt peut-il s'exécuter sur barebox?
  2. Existe-t-il un framework d'application portable sur uboot/barebox? Donc, mon code source est indépendant du matériel de bas niveau.

Répondre

1
  1. tout à fait possible. J'ai utilisé barebox en tant que bootloader principal pour imx25 SoC. Il n'y a pas de barebox dans un paquet public (je ne l'ai jamais rencontré), mais vous pouvez créer votre propre paquet "bootloader-barebox". Il suffit de suivre ces liens: https://vivekian2.wordpress.com/2007/03/28/building-your-own-package-for-openwrt/ http://prplfoundation.org/wiki/Creating_an_OpenWrt_package_for_a_web_page

  2. Je suis sais pas sûr de cadre, mais vous avez probablement que vous pouvez créer une application. http://www.denx.de/wiki/view/DULG/UBootStandalone

Voici un exemple de Makefile pour barebox:

# 
# Copyright (C) 2013 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:=barebox 
PKG_VERSION:=0.1 
PKG_RELEASE:=0 

PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME) 
PKG_SOURCE:=$(PKG_NAME).tar.bz2 
PKG_SOURCE_PROTO:=git 
PKG_SOURCE_URL:=GIT-URL 
PKG_SOURCE_VERSION:=93aeafd04365cdd5dcb958cc6982c672163154ee 
PKG_SOURCE_SUBDIR:=$(PKG_NAME) 
PKG_MD5SUM:= 
PKG_TARGETS:=bin 

include $(INCLUDE_DIR)/package.mk 

define barebox/Default 
    TITLE:= 
    CONFIG:= 
    IMAGE:= 
endef 

define Package/barebox/template 
define Package/barebox-$(1) 
    SECTION:=boot 
    CATEGORY:=Boot Loaders 
    TITLE:=$(2) 
    DEPENDS:[email protected]_$(1) 
    URL:=http://localhost/ 
    DEFAULT:=y if (TARGET_$(1)_Default) 
    VARIANT:=$(1) 
endef 
endef 

define BuildBareboxPackage 
    $(eval $(barebox/Default)) 
    $(eval $(barebox/$(1))) 
    $(call Package/barebox/template,$(1),$(TITLE)) 
endef 

define barebox/imx 
    TITLE:=Barebox for the imx. 
endef 

BAREBOXS:=imx 


ifdef BUILD_VARIANT 
    $(eval $(call barebox/$(BUILD_VARIANT))) 
    BAREBOX_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT)) 
    BAREBOX_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_VARIANT)-barebox.bin) 
endif 

define Build/Prepare 
    $(call Build/Prepare/Default) 
endef 

define Build/Configure 
    $(CP) ./barebox-config $(PKG_BUILD_DIR)/.config 
endef 

define Build/Compile 
    $(MAKE) -C $(PKG_BUILD_DIR) \ 
     CROSS_COMPILE=$(TARGET_CROSS) ARCH=arm 
endef 

define Package/barebox/install/template 
define Package/barebox-$(1)/install 
    $(CP) $(PKG_BUILD_DIR)/barebox.bin $(BIN_DIR)/$(2) 
endef 
endef 

$(foreach u,$(BAREBOXS), \ 
    $(eval $(call Package/barebox/install/template,$(u),openwrt-$(BOARD)-$(u)-barebox.bin)) \ 
) 

$(foreach u,$(BAREBOXS), \ 
    $(eval $(call BuildBareboxPackage,$(u))) \ 
    $(eval $(call BuildPackage,barebox-$(u))) \ 
) 
Questions connexes