提交 20f7e757 编写于 作者: C coolsnowwolf

update to R7.5.4

上级 a242142c
......@@ -62,7 +62,7 @@ config KERNEL_PROFILING
config KERNEL_KALLSYMS
bool "Compile the kernel with symbol table information"
default n
default y if !SMALL_FLASH
help
This will give you more information in stack traces from kernel oopses.
......@@ -607,6 +607,17 @@ config KERNEL_SECCOMP
help
Build kernel with support for seccomp.
#
# IPv4 configuration
#
config KERNEL_IP_MROUTE
bool "Enable IPv4 multicast routing"
default y
help
Multicast routing requires a multicast routing daemon in
addition to kernel support.
#
# IPv6 configuration
#
......@@ -623,7 +634,11 @@ if KERNEL_IPV6
def_bool y
config KERNEL_IPV6_MROUTE
def_bool y
bool "Enable IPv6 multicast routing"
default y
help
Multicast routing requires a multicast routing daemon in
addition to kernel support.
config KERNEL_IPV6_PIMSM_V2
def_bool n
......
src-git packages https://git.lede-project.org/feed/packages.git
src-git luci https://git.lede-project.org/project/luci.git;lede-17.01
src-git luci https://git.lede-project.org/project/luci.git
src-git routing https://git.lede-project.org/feed/routing.git
src-git telephony https://git.lede-project.org/feed/telephony.git
#src-git video https://github.com/openwrt/video.git
......
......@@ -105,14 +105,14 @@ ifneq ($(filter patch-libtool,$(PKG_FIXUP)),)
endif
ifneq ($(filter libtool,$(PKG_FIXUP)),)
PKG_BUILD_DEPENDS += libtool libintl libiconv
PKG_BUILD_DEPENDS += libtool gettext libiconv
ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),)
Hooks/Configure/Pre += autoreconf_target
endif
endif
ifneq ($(filter libtool-ucxx,$(PKG_FIXUP)),)
PKG_BUILD_DEPENDS += libtool libintl libiconv
PKG_BUILD_DEPENDS += libtool gettext libiconv
ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),)
Hooks/Configure/Pre += autoreconf_target
endif
......
......@@ -6,8 +6,10 @@
# See /LICENSE for more information.
#
OPENWRT_GIT = http://git.openwrt.org
LEDE_GIT = https://git.lede-project.org
PROJECT_GIT = https://git.openwrt.org
OPENWRT_GIT = $(PROJECT_GIT)
LEDE_GIT = $(PROJECT_GIT)
ifdef PKG_SOURCE_VERSION
PKG_VERSION ?= $(if $(PKG_SOURCE_DATE),$(PKG_SOURCE_DATE)-)$(call version_abbrev,$(PKG_SOURCE_VERSION))
......
......@@ -229,6 +229,19 @@ define Build/combined-image
@mv $@.new $@
endef
define Build/openmesh-image
$(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \
"$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" \
"$@-fwupgrade.cfg" \
"$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" \
"$(call param_get_default,rootfs,$(1),$@)"
$(TOPDIR)/scripts/combined-ext-image.sh \
"$(call param_get_default,ce_type,$(1),$(DEVICE_NAME))" "$@" \
"$@-fwupgrade.cfg" "fwupgrade.cfg" \
"$(call param_get_default,kernel,$(1),$(IMAGE_KERNEL))" "kernel" \
"$(call param_get_default,rootfs,$(1),$@)" "rootfs"
endef
define Build/sysupgrade-tar
sh $(TOPDIR)/scripts/sysupgrade-tar.sh \
--board $(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)) \
......
......@@ -303,9 +303,9 @@ target-dir-%: FORCE
$(opkg_target) update && \
$(opkg_target) install \
$(call opkg_package_files,$(mkfs_packages_add)))
-$(CP) -T $(mkfs_cur_target_dir).opkg/ $(mkfs_cur_target_dir)/etc/opkg/
rm -rf $(mkfs_cur_target_dir).opkg $(mkfs_cur_target_dir).conf
$(call prepare_rootfs,$(mkfs_cur_target_dir))
-mv $(mkfs_cur_target_dir).opkg $(mkfs_cur_target_dir)/etc/opkg
rm -f $(mkfs_cur_target_dir).conf
$(KDIR)/root.%: kernel_prepare
$(call Image/mkfs/$(word 1,$(target_params)),$(target_params))
......
......@@ -63,6 +63,8 @@ ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
$(call Kernel/SetInitramfs/PreConfigure)
echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
echo 'CONFIG_INITRAMFS_FORCE=y' >> $(LINUX_DIR)/.config
echo "$(if $(CONFIG_TARGET_INITRAMFS_FORCE),CONFIG_INITRAMFS_FORCE=y,# CONFIG_INITRAMFS_FORCE is not set)" >> $(LINUX_DIR)/.config
echo "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,# CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config
echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> $(LINUX_DIR)/.config
echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" >> $(LINUX_DIR)/.config
......@@ -78,6 +80,7 @@ define Kernel/SetNoInitramfs
mv $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.old
grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config.set
echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config.set
echo '# CONFIG_INITRAMFS_FORCE is not set' >> $(LINUX_DIR)/.config.set
endef
define Kernel/Configure/Default
......
......@@ -23,7 +23,7 @@ else
endif
PKG_CONFIG_DEPENDS += CONFIG_BUILD_NLS
PKG_BUILD_DEPENDS += !BUILD_NLS:libiconv !BUILD_NLS:libintl
PKG_BUILD_DEPENDS += !BUILD_NLS:libiconv !BUILD_NLS:gettext
ICONV_DEPENDS:=+BUILD_NLS:libiconv-full
ICONV_CFLAGS:=-I$(ICONV_PREFIX)/include
......
......@@ -7,23 +7,17 @@
ifneq ($(DUMP),)
dumpinfo: FORCE
define Config/template
Preconfig: $(1)
Preconfig-Type: $(2)
Preconfig-Default: $(3)
Preconfig-Label: $(4)
endef
define SOURCE_INFO
$(if $(PKG_BUILD_DEPENDS),Build-Depends: $(PKG_BUILD_DEPENDS)
)$(if $(HOST_BUILD_DEPENDS),Build-Depends/host: $(HOST_BUILD_DEPENDS)
)$(if $(BUILD_TYPES),Build-Types: $(BUILD_TYPES)
)
define Config
Preconfig/$(1) = $$(call Config/template,$(1),$(2),$(3),$(4))
preconfig_$$(1) += $(1)
endef
define Dumpinfo/Package
$(info Package: $(1)
$(info $(SOURCE_INFO)Package: $(1)
$(if $(MENU),Menu: $(MENU)
)$(if $(SUBMENU),Submenu: $(SUBMENU)
)$(if $(SUBMENUDEP),Submenu-Depends: $(SUBMENUDEP)
......@@ -36,10 +30,7 @@ Menu-Depends: $(MDEPENDS)
Provides: $(PROVIDES)
$(if $(VARIANT),Build-Variant: $(VARIANT)
$(if $(DEFAULT_VARIANT),Default-Variant: $(VARIANT)
))$(if $(PKG_BUILD_DEPENDS),Build-Depends: $(PKG_BUILD_DEPENDS)
)$(if $(HOST_BUILD_DEPENDS),Build-Depends/host: $(HOST_BUILD_DEPENDS)
)$(if $(BUILD_TYPES),Build-Types: $(BUILD_TYPES)
)Section: $(SECTION)
))Section: $(SECTION)
Category: $(CATEGORY)
$(if $(filter nonshared,$(PKGFLAGS)),,Repository: $(if $(FEED),$(FEED),base)
)Title: $(TITLE)
......@@ -59,33 +50,11 @@ $(if $(URL),$(URL)
$(if $(Package/$(1)/config),Config:
$(Package/$(1)/config)
@@
)$(foreach pc,$(preconfig_$(1)),
$(Preconfig/$(pc))))
))
SOURCE_INFO :=
endef
define Feature/Default
TARGET_NAME:=
TARGET_TITLE:=
PRIORITY:=
NAME:=
endef
define Feature
$(eval $(Feature/Default))
$(eval $(Feature/$(1)))
$(if $(DUMP),$(call Dumpinfo/Feature,$(1)))
endef
define Dumpinfo/Feature
$(info Feature: $(TARGET_NAME)_$(1)
Target-Name: $(TARGET_NAME)
Target-Title: $(TARGET_TITLE)
Feature-Name: $(NAME)
$(if $(PRIORITY),Feature-Priority: $(PRIORITY)
)Feature-Description:
$(Feature/$(1)/description)
@@
)
endef
dumpinfo: FORCE
$(if $(SOURCE_INFO),$(info $(SOURCE_INFO)))
endif
......@@ -10,8 +10,8 @@ curdir:=package
include $(INCLUDE_DIR)/rootfs.mk
-include $(TMP_DIR)/.packagedeps
$(curdir)/autoremove:=1
$(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m))
$(curdir)/builddirs-install:=.
$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
ifdef CHECK_ALL
......@@ -56,10 +56,14 @@ $(curdir)/merge:
$(curdir)/merge-index: $(curdir)/merge
(cd $(PACKAGE_DIR_ALL) && $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages; )
$(curdir)/install: $(TMP_DIR)/.build $(curdir)/system/opkg/host/compile $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index)
ifndef SDK
$(curdir)/compile: $(curdir)/system/opkg/host/compile
endif
$(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index)
- find $(STAGING_DIR_ROOT) -type d | $(XARGS) chmod 0755
rm -rf $(TARGET_DIR) $(TARGET_DIR_ORIG)
[ -d $(TARGET_DIR)/tmp ] || mkdir -p $(TARGET_DIR)/tmp
mkdir -p $(TARGET_DIR)/tmp
$(call opkg,$(TARGET_DIR)) install \
$(call opkg_package_files,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null))
@for file in $(PACKAGE_INSTALL_FILES); do \
......@@ -68,7 +72,6 @@ $(curdir)/install: $(TMP_DIR)/.build $(curdir)/system/opkg/host/compile $(curdir
$(call opkg,$(TARGET_DIR)) flag $$flag `cat $$file`; \
done; \
done || true
@-$(MAKE) package/preconfig
$(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG)
......@@ -92,8 +95,6 @@ ifdef CONFIG_SIGNED_PACKAGES
); done
endif
$(curdir)/preconfig:
$(curdir)/flags-install:= -j1
$(eval $(call stampfile,$(curdir),package,prereq,.config))
......
......@@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
include $(INCLUDE_DIR)/feeds.mk
PKG_NAME:=base-files
PKG_RELEASE:=181
PKG_RELEASE:=183
PKG_FLAGS:=nonshared
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
......
......@@ -24,8 +24,8 @@ generate_static_network() {
json_select dsl
if json_is_a atmbridge object; then
json_select atmbridge
local vpi vci encaps payload
json_get_vars vpi vci encaps payload
local vpi vci encaps payload nameprefix
json_get_vars vpi vci encaps payload nameprefix
uci -q batch <<-EOF
delete network.atm
set network.atm='atm-bridge'
......@@ -33,6 +33,7 @@ generate_static_network() {
set network.atm.vci='$vci'
set network.atm.encaps='$encaps'
set network.atm.payload='$payload'
set network.atm.nameprefix='$nameprefix'
EOF
json_select ..
fi
......
#!/bin/sh /etc/rc.common
# Copyright (C) 2015 OpenWrt.org
START=98
START=94
STOP=10
USE_PROCD=1
......@@ -22,10 +22,9 @@ load_gpio_switch()
echo "$gpio_pin" >/sys/class/gpio/export
# we need to wait a bit until the GPIO appears
[ -d "$gpio_path" ] || sleep 1
echo out >"$gpio_path/direction"
}
# write 0 or 1 to the "value" field
{ [ "$value" = "0" ] && echo "0" || echo "1"; } >"$gpio_path/value"
# set the pin to output with high or low pin value
{ [ "$value" = "0" ] && echo "high" || echo "low"; } >"$gpio_path/direction"
}
service_triggers()
......
......@@ -319,6 +319,7 @@ ucidef_add_atm_bridge() {
local vci="$2"
local encaps="$3"
local payload="$4"
local nameprefix="$5"
json_select_object dsl
json_select_object atmbridge
......@@ -326,6 +327,7 @@ ucidef_add_atm_bridge() {
json_add_int vci "$vci"
json_add_string encaps "$encaps"
json_add_string payload "$payload"
json_add_string nameprefix "$nameprefix"
json_select ..
json_select ..
}
......
......@@ -55,7 +55,6 @@ Usage: $0 [<upgrade-option>...] <image file or URL>
$0 [-q] [-i] <backup-command> <file>
upgrade-option:
-d <delay> add a delay before rebooting
-f <config> restore configuration from .tar.gz (file or url)
-i interactive mode
-c attempt to preserve all changed files in /etc/
......
......@@ -56,7 +56,8 @@ define Package/apex/install
endef
define Build/InstallDev
$(CP) $(PKG_BUILD_DIR)/out/*.bin $(KERNEL_BUILD_DIR)
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/out/*.bin $(STAGING_DIR_IMAGE)/
endef
$(eval $(call BuildPackage,apex))
#
# Copyright (C) 2017 Hauke Mehrtens
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=arm-trusted-firmware-sunxi
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/apritzel/arm-trusted-firmware
PKG_SOURCE_DATE:=2016-07-12
PKG_SOURCE_VERSION:=87e8aedd80e6448a55b2328768d956fcb5f5d410
PKG_MIRROR_HASH:=4e71a7d4bc0613533854c646b0fa574b18503c0ab28621aac67c70b9827562d8
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=license.md
PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
include $(INCLUDE_DIR)/package.mk
define Package/arm-trusted-firmware-sunxi
SECTION:=boot
CATEGORY:=Boot Loaders
TITLE:=ARM Trusted Firmware for Allwinner
DEPENDS:=@TARGET_sunxi_cortexa53
endef
export GCC_HONOUR_COPTS=s
MAKE_VARS = \
CROSS_COMPILE="$(TARGET_CROSS)"
MAKE_FLAGS += \
PLAT=sun50iw1p1 \
DEBUG=1 \
bl31
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/build/sun50iw1p1/debug/bl31.bin $(STAGING_DIR_IMAGE)/bl31.bin
endef
define Package/arm-trusted-firmware-sunxi/install
endef
$(eval $(call BuildPackage,arm-trusted-firmware-sunxi))
#
# Copyright (C) 2016 Microchip Technology Inc.
# <Sandeepsheriker.mallikarjun@microchip.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=at91bootstrap
PKG_VERSION:=v3.8.8
PKG_RELEASE:=
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/linux4sam/at91bootstrap.git
PKG_SOURCE_VERSION:=3d33a4e0707c61007a5278f6620453502f7500db
PKG_BUILD_DIR = \
$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
include at91bootstrap.mk
include $(INCLUDE_DIR)/package.mk
define AT91Bootstrap/Default
BUILD_TARGET:=at91
BUILD_SUBTARGET:=sama5
HIDDEN:=1
AT91BOOTSTRAP_IMAGE:=at91bootstrap.bin
endef
define AT91Bootstrap/sama5d2_xplaineddf_uboot
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (SPI Flash)
BUILD_DEVICES:=at91-sama5d2_xplained
endef
define AT91Bootstrap/sama5d2_xplaineddf_qspi_uboot
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (QSPI Flash)
BUILD_DEVICES:=at91-sama5d2_xplained
endef
define AT91Bootstrap/sama5d2_xplainedsd_uboot
TITLE:=AT91Bootstrap for SAMA5D2 Xplained board (SDcard/EMMC)
BUILD_DEVICES:=at91-sama5d2_xplained
endef
define AT91Bootstrap/sama5d3_xplainednf_uboot
TITLE:=AT91Bootstrap for SAMA5D3 Xplained board (Nand Flash)
BUILD_DEVICES:=at91-sama5d3_xplained
endef
define AT91Bootstrap/sama5d3_xplainedsd_uboot
TITLE:=AT91Bootstrap for SAMA5D3 Xplained board (SDcard)
BUILD_DEVICES:=at91-sama5d3_xplained
endef
define AT91Bootstrap/sama5d4_xplainednf_uboot_secure
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (Nand Flash)
BUILD_DEVICES:=at91-sama5d4_xplained
endef
define AT91Bootstrap/sama5d4_xplaineddf_uboot_secure
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (SPI Flash)
BUILD_DEVICES:=at91-sama5d4_xplained
endef
define AT91Bootstrap/sama5d4_xplainedsd_uboot_secure
TITLE:=AT91Bootstrap for SAMA5D4 Xplained board (SDcard)
BUILD_DEVICES:=at91-sama5d4_xplained
endef
AT91BOOTSTRAP_TARGETS := \
sama5d2_xplaineddf_uboot \
sama5d2_xplaineddf_qspi_uboot \
sama5d2_xplainedsd_uboot \
sama5d3_xplainednf_uboot \
sama5d3_xplainedsd_uboot \
sama5d4_xplainednf_uboot_secure \
sama5d4_xplaineddf_uboot_secure \
sama5d4_xplainedsd_uboot_secure
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE=$(TARGET_CROSS)
endef
$(eval $(call BuildPackage/AT91Bootstrap))
PKG_TARGETS := bin
PKG_FLAGS:=nonshared
export GCC_HONOUR_COPTS=s
define Package/at91bootstrap/install/default
$(CP) $(PKG_BUILD_DIR)/binaries/*uboot* $(1)/
endef
Package/at91bootstrap/install = $(Package/at91bootstrap/install/default)
define AT91Bootstrap/Init
BUILD_TARGET:=
BUILD_SUBTARGET:=
BUILD_DEVICES:=
NAME:=
DEPENDS:=
HIDDEN:=
DEFAULT:=
VARIANT:=$(1)
AT91BOOTSTRAP_CONFIG:=$(1)
endef
TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET))
AT91BOOTSTRAP_MAKE_FLAGS = \
HOSTCC="$(HOSTCC)" \
HOSTCFLAGS='$(HOST_CFLAGS) $$$$(HOSTCPPFLAGS)' \
HOSTLDFLAGS=""
define Build/AT91Bootstrap/Target
$(eval $(call AT91Bootstrap/Init,$(1)))
$(eval $(call AT91Bootstrap/Default,$(1)))
$(eval $(call AT91Bootstrap/$(1),$(1)))
define Package/at91bootstrap-$(1)
SECTION:=boot
CATEGORY:=Boot Loaders
TITLE:= .$(NAME)
VARIANT:=$(VARIANT)
DEPENDS:=@!IN_SDK $(DEPENDS)
HIDDEN:=$(HIDDEN)
ifneq ($(BUILD_TARGET),)
DEPENDS += @$(TARGET_DEP)
ifneq ($(BUILD_DEVICES),)
DEFAULT := y if ($(TARGET_DEP)_Default \
$(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \
$(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%, \
$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES)))
endif
endif
$(if $(DEFAULT),DEFAULT:=$(DEFAULT))
URL:=https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
endef
define Package/at91bootstrap-$(1)/install
$$(Package/at91bootstrap/install)
endef
endef
define Build/Configure/AT91Bootstrap
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
$(AT91BOOTSTRAP_CONFIG)_defconfig
endef
define Build/Compile/AT91Bootstrap
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE=$(TARGET_CROSS) \
$(AT91BOOTSTRAP_MAKE_FLAGS)
endef
define BuildPackage/AT91Bootstrap/Defaults
Build/Configure/Default = $$$$(Build/Configure/AT91Bootstrap)
Build/Compile/Default = $$$$(Build/Compile/AT91Bootstrap)
endef
define BuildPackage/AT91Bootstrap
$(eval $(call BuildPackage/AT91Bootstrap/Defaults))
$(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \
$(eval $(call Build/AT91Bootstrap/Target,$(type)))
)
$(eval $(call Build/DefaultTargets))
$(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \
$(call BuildPackage,at91bootstrap-$(type))
)
endef
......@@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=grub
PKG_CPE_ID:=cpe:/a:gnu:grub2
PKG_VERSION:=2.02
PKG_RELEASE:=1
......
menu "Configuration"
depends on PACKAGE_kexec-tools
config KEXEC_TOOLS_kdump
bool
prompt "kdump support"
default n
help
Include the kdump utility.
depends on PACKAGE_kexec
config KEXEC_ZLIB
bool
......
......@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=kexec-tools
PKG_VERSION:=2.0.14-rc1
PKG_VERSION:=2.0.14
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/kexec
PKG_HASH:=3fc505ff8d8a2d24c68aac5e6b4783997d5a086966ff3de8b05a0ceb27e5e23b
PKG_HASH:=ffb2e7e99d9d08754c6bc1922aed3c000094f318665d82a72ecc76c4ff1c0dc6
PKG_FIXUP:=autoreconf
......@@ -21,22 +21,49 @@ PKG_CONFIG_DEPENDS := CONFIG_KEXEC_ZLIB CONFIG_KEXEC_LZMA
include $(INCLUDE_DIR)/package.mk
define Package/kexec-tools
define Package/kexec-tools/Default
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=@armeb||@arm||@i386||@x86_64||@powerpc64||@mipsel||@mips +KEXEC_ZLIB:zlib +KEXEC_LZMA:liblzma
TITLE:=Kernel boots kernel
URL:=http://kernel.org/pub/linux/kernel/people/horms/kexec-tools/
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
MENU:=1
endef
define Package/kexec-tools
$(call Package/kexec-tools/Default)
TITLE:=kexec-tools transition meta package
DEPENDS:=+kexec
endef
define Package/kexec-tools/description
kexec is a set of systems call that allows you to load
kexec is a set of system calls that allows you to load
another kernel from the currently executing Linux kernel.
The kexec utility allows to load and boot another kernel.
endef
define Package/kexec-tools/config
define Package/kexec
$(call Package/kexec-tools/Default)
TITLE:=Kernel boots kernel
DEPENDS:=\
@armeb||@arm||@i386||@x86_64||@powerpc64||@mipsel||@mips \
+KEXEC_ZLIB:zlib +KEXEC_LZMA:liblzma @KERNEL_KEXEC
endef
define Package/kexec/description
The kexec utility allows to load and boot another kernel.
endef
define Package/kdump
$(call Package/kexec-tools/Default)
TITLE:=Kernel crash analysis
DEPENDS:=+kexec @i386||@x86_64||@arm @KERNEL_CRASH_DUMP
endef
define Package/kdump/description
The kdump package allows to automatically boot into a
special kernel for analyzing kernel crashes using kdump.
endef
define Package/kexec/config
source "$(SOURCE)/Config.in"
endef
......@@ -65,24 +92,45 @@ CONFIGURE_VARS += \
BUILD_CC="$(HOSTCC)" \
TARGET_CC="$(TARGET_CC)"
kexec-extra-sbin-$(CONFIG_KEXEC_TOOLS_kdump) += kdump
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install
endef
define Package/kexec-tools/install
:
endef
define Package/kexec/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) \
$(addprefix $(PKG_INSTALL_DIR)/usr/sbin/, \
$(kexec-extra-sbin-y)) \
$(kexec-extra-bin-y) \
$(PKG_INSTALL_DIR)/usr/sbin/kexec \
$(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kexec $(1)/usr/sbin
# make a link for compatability with other distros
$(INSTALL_DIR) $(1)/sbin
$(LN) ../usr/sbin/kexec $(1)/sbin/kexec
endef
define Package/kdump/install
$(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/init.d $(1)/etc/config $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdump $(PKG_INSTALL_DIR)/usr/sbin/vmcore-dmesg $(1)/usr/sbin
$(INSTALL_BIN) ./files/kdump.init $(1)/etc/init.d/kdump
$(INSTALL_BIN) ./files/kdump.defaults $(1)/etc/uci-defaults/kdump
$(INSTALL_CONF) ./files/kdump.config $(1)/etc/config/kdump
endef
define Package/kdump/prerm
#!/bin/sh
case $$(uname -m) in
i?86|x86_64)
if grep -q " crashkernel=" /boot/grub/grub.cfg; then
mount /boot -o remount,rw
sed -i 's/ crashkernel=[^ ]*//' /boot/grub/grub.cfg
mount /boot -o remount,ro
fi
;;
esac
endef
$(eval $(call BuildPackage,kexec-tools))
$(eval $(call BuildPackage,kexec))
$(eval $(call BuildPackage,kdump))
config kdump
option enabled '1'
option save_dmesg '1'
option save_vmcore '0'
# using an external partition to store vmcore is highly recommended!
# option path '/mnt/crashdump'
#!/bin/sh
case $(uname -m) in
i?86|x86_64)
if ! grep -q crashkernel /boot/grub/grub.cfg; then
mount /boot -o remount,rw
sed -i 's/linux.*/& crashkernel=32M@32M/' /boot/grub/grub.cfg
mount /boot -o remount,ro
fi
;;
esac
#!/bin/sh /etc/rc.common
START=41
STOP=98
EXTRA_COMMANDS="status"
EXTRA_HELP=" status Print crashkernel status"
verify_kdump() {
local cfg="$1"
local enabled
local path
local save_vmcore
local save_dmesg
config_get_bool enabled "$cfg" enabled 1
config_get_bool save_dmesg "$cfg" save_dmesg 1
config_get_bool save_vmcore "$cfg" save_vmcore 0
[ "$enabled" -gt 0 ] || return 2
[ "$save_dmesg" -gt 0 ] || [ "$save_vmcore" -gt 0 ] || return 2
config_get path "$cfg" path "/"
[ -d "$path" ] || mkdir -p "$path" 2>/dev/null || return 1
}
run_kdump() {
local cfg="$1"
local enabled
local path
local save_vmcore
local save_dmesg
config_get_bool enabled "$cfg" enabled 1
[ "$enabled" -gt 0 ] || return
config_get_bool save_dmesg "$cfg" save_dmesg 1
config_get_bool save_vmcore "$cfg" save_vmcore 0
config_get path "$cfg" path "/"
timestamp=$(date "+%Y%m%dT%H%M%S")
if [ "$save_vmcore" -eq 1 ]; then
# would like 'sparse' but busybox doesn't support it
dd if=/proc/vmcore of="$path/vmcore-$timestamp" conv=fsync bs=1M
fi
if [ "$save_dmesg" -eq 1 ]; then
vmcore-dmesg /proc/vmcore > "$path/dmesg-$timestamp"
fi
sync
reboot -f
}
find_kernel() {
. /lib/functions.sh
local kernel
kernel="$BOOT_IMAGE"
if [ -r "$kernel" ]; then
echo $kernel
return 0
fi
kernel="$(find_mtd_part kernel)"
if [ -r "$kernel" ]; then
echo $kernel
return 0
fi
for voldir in /sys/class/ubi/ubi*_*; do
[ ! -e "$voldir" ] && continue
if [ "$(cat "${voldir}/name")" = "kernel" ]; then
kernel="/dev/$(basename "$voldir")"
echo $kernel
return 0
fi
done
return 1
}
load_crashkernel() {
local append_cmdline
local kernel
kernel="$(find_kernel)"
[ $? -gt 0 ] && return 1
case "$(uname -m)" in
i?86|x86_64)
grep -q "crashkernel=" /proc/cmdline || return 1
append_cmdline="1 irqpoll reset_devices maxcpus=1"
;;
arm*)
append_cmdline="1 maxcpus=1 reset_devices"
;;
esac
kexec -p "$kernel" --reuse-cmdline --append="$append_cmdline"
return $?
}
start() {
local retval
if [ ! -e /sys/kernel/kexec_crash_loaded ]; then
return 1
fi
if [ -e /proc/vmcore ]; then
config_load kdump
config_foreach run_kdump kdump
else
config_load kdump
config_foreach verify_kdump kdump
retval=$?
[ $retval = 1 ] && return 1
[ $retval = 0 ] && load_crashkernel
return $?
fi
}
stop() {
[ "$(cat /sys/kernel/kexec_crash_loaded)" = "1" ] || return
if [ -e "$BOOT_IMAGE" ]; then
kexec -p -u "$BOOT_IMAGE"
fi
}
status() {
local retval kernel
if [ ! -e /sys/kernel/kexec_crash_loaded ]; then
echo "crashdump not supported by kernel"
return
fi
if [ $(cat /sys/kernel/kexec_crash_size) -eq 0 ]; then
echo "memory for crashdump kernel not reserved!"
echo "check crashkernel= kernel cmdline parameter"
echo "(a reboot is required after installing kdump)"
return
fi
kernel="$(find_kernel)"
if [ $? -gt 0 ]; then
echo "cannot find kernel image"
return
else
echo "using kernel image $kernel"
fi
echo -n "kdump configuration is "
config_load kdump
retval=$?
if [ $retval = 0 ]; then
if [ "$(config_foreach echo kdump)" ]; then
config_foreach verify_kdump kdump
retval=$?
else
retval=1
fi
fi
if [ $retval = 0 ]; then
echo "valid"
elif [ $retval = 2 ]; then
echo "disabled"
else
echo "BROKEN"
fi
echo -n "kexec crash kernel "
if [ "$(cat /sys/kernel/kexec_crash_loaded)" = "0" ]; then
echo -n "not "
fi
echo "loaded"
}
......@@ -10,13 +10,14 @@
#include <errno.h>
--- a/src/mtd.h
+++ b/src/mtd.h
@@ -25,8 +25,10 @@
@@ -25,8 +25,11 @@
#ifndef MTD_H
#define MTD_H
+#define _GNU_SOURCE
#include <mtd/mtd-user.h>
#include <endian.h>
+#include <stdint.h>
+#include <fcntl.h>
#include "BootControlBlocks.h"
......
......@@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=rbcfg
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
......
......@@ -2,6 +2,7 @@
* RouterBOOT configuration utility
*
* Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>
* Copyright (C) 2017 Thibaut VARENE <varenet@parisc-linux.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
......@@ -29,6 +30,7 @@
#define RB_ERR_INVALID 2
#define RB_ERR_NOMEM 3
#define RB_ERR_IO 4
#define RB_ERR_NOTWANTED 5
#define ARRAY_SIZE(_a) (sizeof((_a)) / sizeof((_a)[0]))
......@@ -67,6 +69,11 @@ struct rbcfg_command {
int (*exec)(int argc, const char *argv[]);
};
struct rbcfg_soc {
const char *needle;
const int type;
};
static void usage(void);
/* Globals */
......@@ -101,6 +108,10 @@ static const struct rbcfg_value rbcfg_boot_device[] = {
RB_BOOT_DEVICE_ETHONCE),
CFG_U32("nand", "boot from NAND only",
RB_BOOT_DEVICE_NANDONLY),
CFG_U32("flash", "boot in flash configuration mode",
RB_BOOT_DEVICE_FLASHCFG),
CFG_U32("flashnand", "boot in flash configuration mode once, then NAND",
RB_BOOT_DEVICE_FLSHONCE),
};
static const struct rbcfg_value rbcfg_boot_key[] = {
......@@ -131,12 +142,32 @@ static const struct rbcfg_value rbcfg_cpu_mode[] = {
RB_CPU_MODE_REGULAR),
};
static const struct rbcfg_value rbcfg_cpu_freq_dummy[] = {
};
static const struct rbcfg_value rbcfg_cpu_freq_qca953x[] = {
CFG_U32("-2", "-100MHz", RB_CPU_FREQ_L2),
CFG_U32("-1", "- 50MHz", RB_CPU_FREQ_L1),
CFG_U32("0", "Factory", RB_CPU_FREQ_N0),
CFG_U32("+1", "+ 50MHz", RB_CPU_FREQ_H1),
CFG_U32("+2", "+100MHz", RB_CPU_FREQ_H2),
};
static const struct rbcfg_value rbcfg_cpu_freq_ar9344[] = {
CFG_U32("-2", "-100MHz", RB_CPU_FREQ_L2),
CFG_U32("-1", "- 50MHz", RB_CPU_FREQ_L1),
CFG_U32("0", "Factory", RB_CPU_FREQ_N0),
CFG_U32("+1", "+ 50MHz", RB_CPU_FREQ_H1),
CFG_U32("+2", "+100MHz", RB_CPU_FREQ_H2),
CFG_U32("+3", "+150MHz", RB_CPU_FREQ_H3),
};
static const struct rbcfg_value rbcfg_booter[] = {
CFG_U32("regular", "load regular booter", RB_BOOTER_REGULAR),
CFG_U32("backup", "force backup-booter loading", RB_BOOTER_BACKUP),
};
static const struct rbcfg_env rbcfg_envs[] = {
static struct rbcfg_env rbcfg_envs[] = {
{
.name = "boot_delay",
.id = RB_ID_BOOT_DELAY,
......@@ -173,6 +204,12 @@ static const struct rbcfg_env rbcfg_envs[] = {
.type = RBCFG_ENV_TYPE_U32,
.values = rbcfg_cpu_mode,
.num_values = ARRAY_SIZE(rbcfg_cpu_mode),
}, {
.name = "cpu_freq",
.id = RB_ID_CPU_FREQ,
.type = RBCFG_ENV_TYPE_U32,
.values = rbcfg_cpu_freq_dummy,
.num_values = ARRAY_SIZE(rbcfg_cpu_freq_dummy),
}, {
.name = "uart_speed",
.id = RB_ID_UART_SPEED,
......@@ -236,8 +273,10 @@ rbcfg_find_tag(struct rbcfg_ctx *ctx, uint16_t tag_id, uint16_t *tag_len,
buf += 2;
buflen -= 2;
if (id == RB_ID_TERMINATOR)
if (id == RB_ID_TERMINATOR) {
ret = RB_ERR_NOTWANTED;
break;
}
if (buflen < len)
break;
......@@ -253,7 +292,7 @@ rbcfg_find_tag(struct rbcfg_ctx *ctx, uint16_t tag_id, uint16_t *tag_len,
buflen -= len;
}
if (ret)
if (RB_ERR_NOTFOUND == ret)
fprintf(stderr, "no tag found with id=%u\n", tag_id);
return ret;
......@@ -744,6 +783,96 @@ usage(void)
fprintf(stderr, "\n");
}
#define RBCFG_SOC_UNKNOWN 0
#define RBCFG_SOC_QCA953X 1
#define RBCFG_SOC_AR9344 2
static const struct rbcfg_soc rbcfg_socs[] = {
{
.needle = "QCA953",
.type = RBCFG_SOC_QCA953X,
}, {
.needle = "AR9344",
.type = RBCFG_SOC_AR9344,
},
};
#define CPUINFO_BUFSIZE 128 /* lines of interest are < 80 chars */
static int cpuinfo_find_soc(void)
{
FILE *fp;
char temp[CPUINFO_BUFSIZE];
char *haystack, *needle;
int i, found = 0, soc_type = RBCFG_SOC_UNKNOWN;
fp = fopen("/proc/cpuinfo", "r");
if (!fp)
goto end;
/* first, extract the system type line */
needle = "system type";
while(fgets(temp, CPUINFO_BUFSIZE, fp)) {
if (!strncmp(temp, needle, strlen(needle))) {
found = 1;
break;
}
}
fclose(fp);
/* failsafe in case cpuinfo format changes */
if (!found)
goto end;
/* skip the field header */
haystack = strchr(temp, ':');
/* then, try to identify known SoC, stop at first match */
for (i = 0; i < ARRAY_SIZE(rbcfg_socs); i++) {
if ((strstr(haystack, rbcfg_socs[i].needle))) {
soc_type = rbcfg_socs[i].type;
break;
}
}
end:
return soc_type;
}
static void fixup_rbcfg_envs(void)
{
int i, num_val, soc_type;
const struct rbcfg_value * env_value;
/* detect SoC */
soc_type = cpuinfo_find_soc();
/* update rbcfg_envs */
switch (soc_type) {
case RBCFG_SOC_QCA953X:
env_value = rbcfg_cpu_freq_qca953x;
num_val = ARRAY_SIZE(rbcfg_cpu_freq_qca953x);
break;
case RBCFG_SOC_AR9344:
env_value = rbcfg_cpu_freq_ar9344;
num_val = ARRAY_SIZE(rbcfg_cpu_freq_ar9344);
break;
}
for (i = 0; i < ARRAY_SIZE(rbcfg_envs); i++) {
if (RB_ID_CPU_FREQ == rbcfg_envs[i].id) {
if (RBCFG_SOC_UNKNOWN == soc_type)
rbcfg_envs[i].id = RB_ID_TERMINATOR;
else {
rbcfg_envs[i].values = env_value;
rbcfg_envs[i].num_values = num_val;
}
break;
}
}
}
int main(int argc, const char *argv[])
{
const struct rbcfg_command *cmd = NULL;
......@@ -752,6 +881,8 @@ int main(int argc, const char *argv[])
rbcfg_name = (char *) argv[0];
fixup_rbcfg_envs();
if (argc < 2) {
usage();
return EXIT_FAILURE;
......
......@@ -32,6 +32,7 @@
#define RB_ID_BOOT_PROTOCOL 9
#define RB_ID_SOFT_10 10
#define RB_ID_SOFT_11 11
#define RB_ID_CPU_FREQ 12
#define RB_ID_BOOTER 13
#define RB_UART_SPEED_115200 0
......@@ -59,6 +60,8 @@
#define RB_BOOT_DEVICE_CFCARD 2
#define RB_BOOT_DEVICE_ETHONCE 3
#define RB_BOOT_DEVICE_NANDONLY 5
#define RB_BOOT_DEVICE_FLASHCFG 7
#define RB_BOOT_DEVICE_FLSHONCE 8
#define RB_BOOT_KEY_ANY 0
#define RB_BOOT_KEY_DEL 1
......@@ -69,6 +72,13 @@
#define RB_BOOT_PROTOCOL_BOOTP 0
#define RB_BOOT_PROTOCOL_DHCP 1
#define RB_CPU_FREQ_L2 (0 << 3)
#define RB_CPU_FREQ_L1 (1 << 3)
#define RB_CPU_FREQ_N0 (2 << 3)
#define RB_CPU_FREQ_H1 (3 << 3)
#define RB_CPU_FREQ_H2 (4 << 3)
#define RB_CPU_FREQ_H3 (5 << 3)
#define RB_BOOTER_REGULAR 0
#define RB_BOOTER_BACKUP 1
......
......@@ -6,90 +6,28 @@
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=u-boot
PKG_VERSION:=2010.03
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_HASH:=902d1b2c15787df55186fae4033685fb0c5a5a12755a08383e97c4a3e255925b
PKG_SOURCE_URL:= \
http://mirror2.openwrt.org/sources \
ftp://ftp.denx.de/pub/u-boot
PKG_TARGETS:=bin
PKG_LICENSE:=GPL-2.0 GPL-2.0+
PKG_LICENSE_FILES:=Licenses/README
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define uboot/Default
TITLE:=
CONFIG:=
IMAGE:=
endef
define uboot/nbg460n_550n_550nh
TITLE:=U-boot for the NBG460N/550N/550NH routers
DEFAULT:=y if (TARGET_ar71xx_generic_DEVICE_NBG_460N_550N_550NH || TARGET_DEVICE_ar71xx_generic_DEVICE_NBG_460N_550N_550NH || TARGET_ar71xx_generic_Default)
define U-Boot/Default
BUILD_TARGET:=ar71xx
BUILD_SUBTARGET:=generic
endef
UBOOTS:=nbg460n_550n_550nh
define Package/uboot/template
define Package/uboot-ar71xx-$(1)
SECTION:=boot
CATEGORY:=Boot Loaders
TITLE:=$(2)
DEPENDS:=@TARGET_ar71xx_generic
URL:=http://www.denx.de/wiki/U-Boot
VARIANT:=$(1)
endef
define U-Boot/nbg460n_550n_550nh
TITLE:=NBG460N/550N/550NH routers
BUILD_DEVICES:=NBG_460N_550N_550NH
HIDDEN:=y
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/Prepare
$(call Build/Prepare/Default)
$(CP) ./files/* $(PKG_BUILD_DIR)
find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf
endef
define Build/Configure
$(MAKE) -C $(PKG_BUILD_DIR) \
$(UBOOT_CONFIG)_config
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE=$(TARGET_CROSS)
endef
define Package/uboot/install/template
define Package/uboot-ar71xx-$(1)/install
$(INSTALL_DIR) $$(1)
$(CP) $(PKG_BUILD_DIR)/u-boot.bin $(BIN_DIR)/$(2)
endef
endef
UBOOT_MAKE_FLAGS :=
$(foreach u,$(UBOOTS), \
$(eval $(call Package/uboot/install/template,$(u),openwrt-$(BOARD)-$(SUBTARGET)-$(u)-u-boot.bin)) \
)
UBOOT_TARGETS:=nbg460n_550n_550nh
$(foreach u,$(UBOOTS), \
$(eval $(call BuildUbootPackage,$(u))) \
$(eval $(call BuildPackage,uboot-ar71xx-$(u))) \
)
$(eval $(call BuildPackage/U-Boot))
......@@ -7,96 +7,89 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=u-boot
PKG_VERSION:=2016.05
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_HASH:=87d02275615aaf0cd007b54cbe9fbadceef2bee7c79e6c323ea1ae8956dcb171
PKG_LICENSE:=GPL-2.0 GPL-2.0+
PKG_LICENSE_FILES:=Licenses/README
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define uboot/Default
TITLE:=
define U-Boot/Default
BUILD_TARGET:=at91
HIDDEN:=1
UBOOT_IMAGE:=u-boot.bin boot.bin
endef
define uboot/at91sam9m10g45ek_nandflash
TITLE:=U-Boot for the AT91SAM9M10G45-EK board (NandFlash)
define U-Boot/at91sam9m10g45ek_nandflash
NAME:=AT91SAM9M10G45-EK board (NandFlash)
BUILD_SUBTARGET:=legacy
BUILD_DEVICES:=at91sam9m10g45ek
endef
define uboot/at91sam9x5ek_nandflash
TITLE:=U-Boot for the AT91SAM9X5-EK board (NandFlash)
define U-Boot/at91sam9x5ek_nandflash
NAME:=AT91SAM9X5-EK board (NandFlash)
BUILD_SUBTARGET:=legacy
BUILD_DEVICES:=at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek
endef
UBOOTS := \
at91sam9m10g45ek_nandflash \
at91sam9x5ek_nandflash
define Package/uboot/template
define Package/uboot-at91-$(1)
SECTION:=boot
CATEGORY:=Boot Loaders
DEPENDS:=@TARGET_at91
TITLE:=$(2)
URL:=http://www.denx.de/wiki/U-Boot
VARIANT:=$(1)
MAINTAINER:=Ben Whitten <ben.whitten@gmail.com>
endef
define U-Boot/sama5d3_xplained_nandflash
NAME:=SAMA5D3 Xplained board (NandFlash)
BUILD_SUBTARGET:=sama5
BUILD_DEVICES:=at91-sama5d3_xplained
endef
define BuildUBootPackage
$(eval $(uboot/Default))
$(eval $(uboot/$(1)))
$(call Package/uboot/template,$(1),$(TITLE))
define U-Boot/sama5d3_xplained_mmc
NAME:=SAMA5D3 Xplained board (SDcard)
BUILD_SUBTARGET:=sama5
BUILD_DEVICES:=at91-sama5d3_xplained
endef
ifdef BUILD_VARIANT
$(eval $(call uboot/$(BUILD_VARIANT)))
UBOOT_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT))
UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),lede-$(BOARD)-$(BUILD_VARIANT)-u-boot.bin)
endif
define Build/Configure
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
$(UBOOT_CONFIG)_config
define U-Boot/sama5d2_xplained_spiflash
NAME:=SAMA5D2 Xplained board (SPI Flash)
BUILD_SUBTARGET:=sama5
BUILD_DEVICES:=at91-sama5d2_xplained
endef
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE=$(TARGET_CROSS) \
KCFLAGS="$(filter-out -fstack-protector, $(TARGET_CFLAGS))"
define U-Boot/sama5d2_xplained_mmc
NAME:=SAMA5D2 Xplained board (SDcard/EMMC)
BUILD_SUBTARGET:=sama5
BUILD_DEVICES:=at91-sama5d2_xplained
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)/u-boot.bin
$(CP) $(PKG_BUILD_DIR)/boot.bin \
$(BIN_DIR)/uboot-$(BOARD)-$(1)/boot.bin
define U-Boot/sama5d4_xplained_spiflash
NAME:=SAMA5D4 Xplained board (SPI Flash)
BUILD_SUBTARGET:=sama5
BUILD_DEVICES:=at91-sama5d4_xplained
endef
define Package/uboot/install/template
define Package/uboot-at91-$(1)/install
$(call Package/uboot/install/default,$(2))
define U-Boot/sama5d4_xplained_mmc
NAME:=SAMA5D4 Xplained board (SDcard)
BUILD_SUBTARGET:=sama5
BUILD_DEVICES:=at91-sama5d4_xplained
endef
define U-Boot/sama5d4_xplained_nandflash
NAME:=SAMA5D4 Xplained board (NandFlash)
BUILD_SUBTARGET:=sama5
BUILD_DEVICES:=at91-sama5d4_xplained
endef
$(foreach u,$(UBOOTS), \
$(eval $(call Package/uboot/install/template,$(u),$(u))) \
)
UBOOT_TARGETS := \
at91sam9m10g45ek_nandflash \
at91sam9x5ek_nandflash \
sama5d3_xplained_nandflash \
sama5d3_xplained_mmc \
sama5d2_xplained_mmc \
sama5d2_xplained_spiflash \
sama5d4_xplained_mmc \
sama5d4_xplained_spiflash \
sama5d4_xplained_nandflash
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
CROSS_COMPILE=$(TARGET_CROSS) \
KCFLAGS="$(filter-out -fstack-protector -mfloat-abi=hard, $(TARGET_CFLAGS)) -mfloat-abi=soft"
endef
$(foreach u,$(UBOOTS), \
$(eval $(call BuildUBootPackage,$(u))) \
$(eval $(call BuildPackage,uboot-at91-$(u))) \
)
$(eval $(call BuildPackage/U-Boot))
......@@ -19,7 +19,7 @@ PKG_SOURCE_URL:=\
ftp://ftp.denx.de/pub/u-boot
PKG_HASH:=bdc68d5f9455ad933b059c735d983f2c8b6b552dafb062e5ff1444f623021955
PKG_BUILD_DEPENDS:=+fstools
PKG_BUILD_DEPENDS:=fstools
PKG_LICENSE:=GPL-2.0 GPL-2.0+
PKG_LICENSE_FILES:=Licenses/README
......@@ -112,6 +112,10 @@ ifneq ($(CONFIG_TARGET_oxnas),)
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/oxnas $(1)/etc/uci-defaults/30_uboot-envtools
endif
ifneq ($(CONFIG_TARGET_pistachio),)
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DATA) ./files/pistachio $(1)/etc/uci-defaults/30_uboot-envtools
endif
ifneq ($(CONFIG_TARGET_ramips),)
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DATA) ./files/ramips $(1)/etc/uci-defaults/30_uboot-envtools
......
......@@ -7,11 +7,10 @@
touch /etc/config/ubootenv
. /lib/ar71xx.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(ar71xx_board_name)
board=$(board_name)
case "$board" in
a40|\
......@@ -20,6 +19,8 @@ alfa-ap120c|\
all0258n|\
ap121f|\
ap90q|\
ap91-5g|\
arduino-yun|\
cap324|\
cap4200ag|\
carambola2|\
......@@ -28,7 +29,9 @@ cpe870|\
cr3000|\
cr5000|\
eap300v2|\
ens202ext|\
gl-ar300m|\
gl-ar750|\
hornet-ub|\
hornet-ub-x2|\
jwap230|\
......@@ -38,11 +41,13 @@ mr600|\
mr600v2|\
mr900|\
mr900v2|\
n5q|\
nbg6716|\
om5p|\
om5p-ac|\
om5p-acv2|\
om5p-an|\
r36a|\
sr3200|\
tube2h|\
wndr3700|\
......@@ -65,12 +70,20 @@ dap-2695-a1|\
wzr-hp-ag300h)
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x10000" "0x10000"
;;
dr342|\
dr531)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0xf800" "0x10000"
;;
rambutan)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
ubootenv_add_uci_config "/dev/mtd1" "0x100000" "0x20000" "0x20000"
;;
qihoo-c301)
ubootenv_add_uci_config "/dev/mtd9" "0x0" "0x10000" "0x10000"
;;
wi2a-ac200i)
ubootenv_add_uci_config "/dev/mtd4" "0x0" "0x8000" "0x10000"
;;
esac
config_load ubootenv
......
......@@ -7,11 +7,10 @@
touch /etc/config/ubootenv
. /lib/cns3xxx.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(cns3xxx_board_name)
board=$(board_name)
case "$board" in
laguna)
......
......@@ -7,11 +7,10 @@
touch /etc/config/ubootenv
. /lib/imx6.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(imx6_board_name)
board=$(board_name)
case "$board" in
*gw5*)
......
......@@ -7,17 +7,41 @@
touch /etc/config/ubootenv
. /lib/ipq806x.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(ipq806x_board_name)
board=$(board_name)
ubootenv_mtdinfo () {
UBOOTENV_PART=$(cat /proc/mtd | grep APPSBLENV)
mtd_dev=$(echo $UBOOTENV_PART | awk '{print $1}' | sed 's/:$//')
mtd_size=$(echo $UBOOTENV_PART | awk '{print "0x"$2}')
mtd_erase=$(echo $UBOOTENV_PART | awk '{print "0x"$3}')
nor_flash=$(find /sys/bus/spi/devices/*/mtd -name ${mtd_dev})
if [ -n "$nor_flash" ]; then
ubootenv_size=$mtd_size
else
# size is fixed to 0x40000 in u-boot
ubootenv_size=0x40000
fi
sectors=$(( $ubootenv_size / $mtd_erase ))
echo /dev/$mtd_dev 0x0 $ubootenv_size $mtd_erase $sectors
}
case "$board" in
ea8500)
linksys,ea8500)
ubootenv_add_uci_config "/dev/mtd10" "0x0" "0x20000" "0x20000"
;;
nbg6817)
openmesh,a42)
ubootenv_add_uci_config "/dev/mtd5" "0x0" "0x10000" "0x10000"
;;
qcom,ipq8064-ap148 |\
qcom,ipq8064-db149)
ubootenv_add_uci_config $(ubootenv_mtdinfo)
;;
zyxel,nbg6817)
ubootenv_add_uci_config "/dev/mtdblock9" "0x0" "0x10000" "0x10000"
;;
esac
......
......@@ -7,23 +7,22 @@
touch /etc/config/ubootenv
. /lib/kirkwood.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(kirkwood_board_name)
board=$(board_name)
case "$board" in
dockstar|\
guruplug-server-plus|\
ib62x0|\
linksys-viper|\
pogo_e02|\
sheevaplug|\
sheevaplug-esata)
cloudengines,pogoe02|\
cloudengines,pogoplugv4|\
linksys,viper|\
raidsonic,ib-nas62x0|\
seagate,dockstar|\
zyxel,nsa310b|\
zyxel,nsa325)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
;;
linksys-audi)
linksys,audi)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x4000" "0x4000"
;;
esac
......
......@@ -13,19 +13,19 @@ touch /etc/config/ubootenv
board=$(board_name)
case "$board" in
BTHOMEHUBV2B)
bt,homehub-v2b)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000" "1"
;;
BTHOMEHUBV3A)
bt,homehub-v3a)
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x4000" "0x4000" "1"
;;
GIGASX76X)
siemens,gigaset-sx76x)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000" "1"
;;
P2812HNUF1)
zyxel,p-2812hnu-f1)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x2000" "0x20000" "1"
;;
WBMR300)
buffalo,wbmr-300hpd)
idx="$(find_mtd_index ubootconfig)"
[ -n "$idx" ] && \
ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x2000" "0x1000" "2"
......
......@@ -8,11 +8,10 @@
touch /etc/config/ubootenv
. /lib/mvebu.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(mvebu_board_name)
board=$(board_name)
case "$board" in
armada-385-linksys-caiman|\
......
......@@ -7,11 +7,10 @@
touch /etc/config/ubootenv
. /lib/mxs.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(mxs_board_name)
board=$(board_name)
case "$board" in
duckbill)
......
......@@ -7,11 +7,10 @@
touch /etc/config/ubootenv
. /lib/oxnas.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(oxnas_board_name)
board=$(board_name)
case "$board" in
akitio|\
......
#!/bin/sh
#
# Copyright (C) 2017 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
[ -e /etc/config/ubootenv ] && exit 0
touch /etc/config/ubootenv
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(board_name)
case "$board" in
img,pistachio-marduk)
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x2000" "0x1000"
;;
esac
config_load ubootenv
config_foreach ubootenv_add_app_config ubootenv
exit 0
......@@ -7,21 +7,19 @@
touch /etc/config/ubootenv
. /lib/ramips.sh
. /lib/uboot-envtools.sh
. /lib/functions.sh
board=$(ramips_board_name)
board=$(board_name)
case "$board" in
all0239-3g|\
all0256n|\
all0256n-4M|\
all0256n-8M|\
all5002)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x10000"
;;
br-6425|\
linkits7688|\
linkits7688d|\
miwifi-nano|\
sk-wb8|\
wsr-1166|\
......@@ -29,6 +27,9 @@ wsr-600|\
zbt-wg2626)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000"
;;
mir3g)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x20000"
;;
esac
config_load ubootenv
......
#
# Copyright (C) 2013-2014 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_SOURCE_URL:=https://github.com/chunkeey/FritzBox-4040-UBOOT
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=6946ebbaf7b12a4a092d763c8f0c87a25984f103
PKG_SOURCE_DATE:=2017-01-29
PKG_MIRROR_HASH:=5c2394f51a083dca2a2bf9cb36fa717f252112fc792c9eeae64f6383ad08987b
PKG_RELEASE:=1
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define U-Boot/Default
BUILD_TARGET:=ipq806x
UBOOT_IMAGE:=uboot-fritz4040.bin
endef
define U-Boot/fritz4040
NAME:=FritzBox 4040
endef
UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes
UBOOT_MAKE_FLAGS += USE_PRIVATE_LIBGCC=yes
export DTC
define Build/Configure
$(Build/Configure/U-Boot)
$(HOSTCC) -o $(PKG_BUILD_DIR)/fritz/lzma2eva $(PKG_BUILD_DIR)/fritz/src/lzma2eva.c -lz
$(HOSTCC) -o $(PKG_BUILD_DIR)/fritz/tichksum $(PKG_BUILD_DIR)/fritz/src/tichksum.c
ln -sf $(STAGING_DIR_HOST)/bin/lzma $(PKG_BUILD_DIR)/fritz
endef
define Build/Compile
$(Build/Compile/U-Boot)
(cd $(PKG_BUILD_DIR); ./fritz/fritzcreator.sh;)
endef
define Package/u-boot/install
$(Package/u-boot/install/default)
$(INSTALL_BIN) ./files/upload-to-f4040.sh $(1)/
endef
UBOOT_TARGETS := fritz4040
$(eval $(call BuildPackage/U-Boot))
#!/bin/sh
die() {
echo $1
exit 1
}
FRITZBOX='192.168.178.1'
USER='adam2'
PASSWD='adam2'
FILE='uboot-fritz4040.bin'
ping -q -4 -w 1 -c 1 "$FRITZBOX" &> /dev/null || die "Fritzbox at $FRITZBOX is not reachable. aborting"
cat << EOS
This will take ages (2 minutes)! If you want a
status bar: Attach a serial to the device and look there.
Note: If this fails, you need to use AVM\' recover
utility to get your box back. However this step
should not damage your box....
Also it doesn't terminate.. :/
(Note: Make sure that you connected the router on
the yellow LAN ports and not the blue WAN).
EOS
ftp -n -4 "$FRITZBOX" << END_SCRIPT
quote USER $USER
quote PASS $PASSWD
quote MEDIA FLSH
binary
passive
put $FILE mtd1
quote check mtd1
bye
END_SCRIPT
exit 0
--- a/arch/arm/lib/Makefile
+++ b/arch/arm/lib/Makefile
@@ -26,7 +26,6 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(ARCH).o
LIBGCC = $(obj)libgcc.o
-ifndef CONFIG_SPL_BUILD
GLSOBJS += _ashldi3.o
GLSOBJS += _ashrdi3.o
GLSOBJS += _divsi3.o
@@ -34,9 +33,11 @@ GLSOBJS += _lshrdi3.o
GLSOBJS += _modsi3.o
GLSOBJS += _udivsi3.o
GLSOBJS += _umodsi3.o
+GLSOBJS += uldivmod.o
GLCOBJS += div0.o
+ifndef CONFIG_SPL_BUILD
COBJS-y += board.o
COBJS-y += bootm.o
COBJS-$(CONFIG_SYS_L2_PL310) += cache-pl310.o
--- /dev/null
+++ b/arch/arm/lib/uldivmod.S
@@ -0,0 +1,249 @@
+/*
+ * Copyright 2010, Google Inc.
+ *
+ * Brought in from coreboot uldivmod.S
+ *
+ * SPDX-License-Identifier: GPL-2.0
+ */
+
+#include <linux/linkage.h>
+#include <asm/assembler.h>
+
+/*
+ * A, Q = r0 + (r1 << 32)
+ * B, R = r2 + (r3 << 32)
+ * A / B = Q ... R
+ */
+
+#define ARM(x...) x
+#define THUMB(x...)
+
+A_0 .req r0
+A_1 .req r1
+B_0 .req r2
+B_1 .req r3
+C_0 .req r4
+C_1 .req r5
+D_0 .req r6
+D_1 .req r7
+
+Q_0 .req r0
+Q_1 .req r1
+R_0 .req r2
+R_1 .req r3
+
+THUMB(
+TMP .req r8
+)
+
+.pushsection .text.__aeabi_uldivmod, "ax"
+ENTRY(__aeabi_uldivmod)
+
+ stmfd sp!, {r4, r5, r6, r7, THUMB(TMP,) lr}
+ @ Test if B == 0
+ orrs ip, B_0, B_1 @ Z set -> B == 0
+ beq L_div_by_0
+ @ Test if B is power of 2: (B & (B - 1)) == 0
+ subs C_0, B_0, #1
+ sbc C_1, B_1, #0
+ tst C_0, B_0
+ tsteq B_1, C_1
+ beq L_pow2
+ @ Test if A_1 == B_1 == 0
+ orrs ip, A_1, B_1
+ beq L_div_32_32
+
+L_div_64_64:
+/* CLZ only exists in ARM architecture version 5 and above. */
+#ifdef HAVE_CLZ
+ mov C_0, #1
+ mov C_1, #0
+ @ D_0 = clz A
+ teq A_1, #0
+ clz D_0, A_1
+ clzeq ip, A_0
+ addeq D_0, D_0, ip
+ @ D_1 = clz B
+ teq B_1, #0
+ clz D_1, B_1
+ clzeq ip, B_0
+ addeq D_1, D_1, ip
+ @ if clz B - clz A > 0
+ subs D_0, D_1, D_0
+ bls L_done_shift
+ @ B <<= (clz B - clz A)
+ subs D_1, D_0, #32
+ rsb ip, D_0, #32
+ movmi B_1, B_1, lsl D_0
+ARM( orrmi B_1, B_1, B_0, lsr ip )
+THUMB( lsrmi TMP, B_0, ip )
+THUMB( orrmi B_1, B_1, TMP )
+ movpl B_1, B_0, lsl D_1
+ mov B_0, B_0, lsl D_0
+ @ C = 1 << (clz B - clz A)
+ movmi C_1, C_1, lsl D_0
+ARM( orrmi C_1, C_1, C_0, lsr ip )
+THUMB( lsrmi TMP, C_0, ip )
+THUMB( orrmi C_1, C_1, TMP )
+ movpl C_1, C_0, lsl D_1
+ mov C_0, C_0, lsl D_0
+L_done_shift:
+ mov D_0, #0
+ mov D_1, #0
+ @ C: current bit; D: result
+#else
+ @ C: current bit; D: result
+ mov C_0, #1
+ mov C_1, #0
+ mov D_0, #0
+ mov D_1, #0
+L_lsl_4:
+ cmp B_1, #0x10000000
+ cmpcc B_1, A_1
+ cmpeq B_0, A_0
+ bcs L_lsl_1
+ @ B <<= 4
+ mov B_1, B_1, lsl #4
+ orr B_1, B_1, B_0, lsr #28
+ mov B_0, B_0, lsl #4
+ @ C <<= 4
+ mov C_1, C_1, lsl #4
+ orr C_1, C_1, C_0, lsr #28
+ mov C_0, C_0, lsl #4
+ b L_lsl_4
+L_lsl_1:
+ cmp B_1, #0x80000000
+ cmpcc B_1, A_1
+ cmpeq B_0, A_0
+ bcs L_subtract
+ @ B <<= 1
+ mov B_1, B_1, lsl #1
+ orr B_1, B_1, B_0, lsr #31
+ mov B_0, B_0, lsl #1
+ @ C <<= 1
+ mov C_1, C_1, lsl #1
+ orr C_1, C_1, C_0, lsr #31
+ mov C_0, C_0, lsl #1
+ b L_lsl_1
+#endif
+L_subtract:
+ @ if A >= B
+ cmp A_1, B_1
+ cmpeq A_0, B_0
+ bcc L_update
+ @ A -= B
+ subs A_0, A_0, B_0
+ sbc A_1, A_1, B_1
+ @ D |= C
+ orr D_0, D_0, C_0
+ orr D_1, D_1, C_1
+L_update:
+ @ if A == 0: break
+ orrs ip, A_1, A_0
+ beq L_exit
+ @ C >>= 1
+ movs C_1, C_1, lsr #1
+ movs C_0, C_0, rrx
+ @ if C == 0: break
+ orrs ip, C_1, C_0
+ beq L_exit
+ @ B >>= 1
+ movs B_1, B_1, lsr #1
+ mov B_0, B_0, rrx
+ b L_subtract
+L_exit:
+ @ Note: A, B & Q, R are aliases
+ mov R_0, A_0
+ mov R_1, A_1
+ mov Q_0, D_0
+ mov Q_1, D_1
+ ldmfd sp!, {r4, r5, r6, r7, THUMB(TMP,) pc}
+
+L_div_32_32:
+ @ Note: A_0 & r0 are aliases
+ @ Q_1 r1
+ mov r1, B_0
+ bl __aeabi_uidivmod
+ mov R_0, r1
+ mov R_1, #0
+ mov Q_1, #0
+ ldmfd sp!, {r4, r5, r6, r7, THUMB(TMP,) pc}
+
+L_pow2:
+#ifdef HAVE_CLZ
+ @ Note: A, B and Q, R are aliases
+ @ R = A & (B - 1)
+ and C_0, A_0, C_0
+ and C_1, A_1, C_1
+ @ Q = A >> log2(B)
+ @ Note: B must not be 0 here!
+ clz D_0, B_0
+ add D_1, D_0, #1
+ rsbs D_0, D_0, #31
+ bpl L_1
+ clz D_0, B_1
+ rsb D_0, D_0, #31
+ mov A_0, A_1, lsr D_0
+ add D_0, D_0, #32
+L_1:
+ movpl A_0, A_0, lsr D_0
+ARM( orrpl A_0, A_0, A_1, lsl D_1 )
+THUMB( lslpl TMP, A_1, D_1 )
+THUMB( orrpl A_0, A_0, TMP )
+ mov A_1, A_1, lsr D_0
+ @ Mov back C to R
+ mov R_0, C_0
+ mov R_1, C_1
+ ldmfd sp!, {r4, r5, r6, r7, THUMB(TMP,) pc}
+#else
+ @ Note: A, B and Q, R are aliases
+ @ R = A & (B - 1)
+ and C_0, A_0, C_0
+ and C_1, A_1, C_1
+ @ Q = A >> log2(B)
+ @ Note: B must not be 0 here!
+ @ Count the leading zeroes in B.
+ mov D_0, #0
+ orrs B_0, B_0, B_0
+ @ If B is greater than 1 << 31, divide A and B by 1 << 32.
+ moveq A_0, A_1
+ moveq A_1, #0
+ moveq B_0, B_1
+ @ Count the remaining leading zeroes in B.
+ movs B_1, B_0, lsl #16
+ addeq D_0, #16
+ moveq B_0, B_0, lsr #16
+ tst B_0, #0xff
+ addeq D_0, #8
+ moveq B_0, B_0, lsr #8
+ tst B_0, #0xf
+ addeq D_0, #4
+ moveq B_0, B_0, lsr #4
+ tst B_0, #0x3
+ addeq D_0, #2
+ moveq B_0, B_0, lsr #2
+ tst B_0, #0x1
+ addeq D_0, #1
+ @ Shift A to the right by the appropriate amount.
+ rsb D_1, D_0, #32
+ mov Q_0, A_0, lsr D_0
+ ARM( orr Q_0, Q_0, A_1, lsl D_1 )
+ THUMB( lsl A_1, D_1 )
+ THUMB( orr Q_0, A_1 )
+ mov Q_1, A_1, lsr D_0
+ @ Move C to R
+ mov R_0, C_0
+ mov R_1, C_1
+ ldmfd sp!, {r4, r5, r6, r7, THUMB(TMP,) pc}
+#endif
+
+L_div_by_0:
+ bl __div0
+ @ As wrong as it could be
+ mov Q_0, #0
+ mov Q_1, #0
+ mov R_0, #0
+ mov R_1, #0
+ ldmfd sp!, {r4, r5, r6, r7, THUMB(TMP,) pc}
+ENDPROC(__aeabi_uldivmod)
+.popsection
Index: u-boot-2017-01-29-6946ebba/fritz/fritzcreator.sh
===================================================================
--- u-boot-2017-01-29-6946ebba.orig/fritz/fritzcreator.sh
+++ u-boot-2017-01-29-6946ebba/fritz/fritzcreator.sh
@@ -1,4 +1,4 @@
-#!/bin/sh -xe
+#!/bin/bash -xe
# A helpful
#
@@ -11,6 +11,7 @@ UBOOT_FRITZ4040="uboot-fritz4040.bin"
FRITZ_DTS="fritz/fritz4040.dts"
FRITZ_DTB="fritz4040.dtb"
UBOOT_LOADADDR=0x841FFFF8
+DTC="${DTC:-dtc}"
rm -f "$UBOOT_FRITZ4040"
@@ -44,11 +45,11 @@ printf "\x00\x00\x00\xea\xf8\x01\x33\xc4
cat "$UBOOT_BIN" >> "$UBOOT_FRITZ4040"
# Pad file to 1M
-dd if="$UBOOT_FRITZ4040" of="$UBOOT_FRITZ4040.new" bs=1M count=1 conv=sync
+dd if="$UBOOT_FRITZ4040" of="$UBOOT_FRITZ4040.new" bs=1024k count=1 conv=sync
mv "$UBOOT_FRITZ4040.new" "$UBOOT_FRITZ4040"
# Compile DTS
-dtc "$FRITZ_DTS" -o "$FRITZ_DTB" --space 49152
+$DTC "$FRITZ_DTS" -o "$FRITZ_DTB" --space 49152
# Append the compiled DTBs
cat "$FRITZ_DTB" "$FRITZ_DTB" "$FRITZ_DTB" "$FRITZ_DTB" >> $UBOOT_FRITZ4040
......@@ -7,68 +7,63 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=u-boot
PKG_VERSION:=2014.04
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_HASH:=7b6444bd23eb61068c43bd1d44ec7e7bfdbce5cadeca20c833eee186b4d3fd31
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define uboot/Default
TITLE:=
CONFIG:=
IMAGE:=
define U-Boot/Default
BUILD_TARGET:=imx6
UBOOT_IMAGE:=u-boot.imx
endef
define uboot/mx6qsabresd
TITLE:=U-Boot for SABRE i.MX6Quad board
define U-Boot/mx6qsabresd
NAME:=SABRE i.MX6Quad board
endef
define uboot/nitrogen6dl
TITLE:=U-Boot for Nitrogen6x i.MX6Dual-Lite 1GB board
define U-Boot/nitrogen6dl
NAME:=Nitrogen6x i.MX6Dual-Lite 1GB board
endef
define uboot/nitrogen6dl2g
TITLE:=U-Boot for Nitrogen6x i.MX6Dual-Lite 2GB board
define U-Boot/nitrogen6dl2g
NAME:=Nitrogen6x i.MX6Dual-Lite 2GB board
endef
define uboot/nitrogen6q
TITLE:=U-Boot for Nitrogen6x/SABRE Lite (MX6Q/1GB)
define U-Boot/nitrogen6q
NAME:=Nitrogen6x/SABRE Lite (MX6Q/1GB)
endef
define uboot/nitrogen6q2g
TITLE:=U-Boot for Nitrogen6x i.MX6Quad 2GB board
define U-Boot/nitrogen6q2g
NAME:=Nitrogen6x i.MX6Quad 2GB board
endef
define uboot/nitrogen6s
TITLE:=U-Boot for Nitrogen6x i.MX6Solo 512MB board
define U-Boot/nitrogen6s
NAME:=Nitrogen6x i.MX6Solo 512MB board
endef
define uboot/nitrogen6s1g
TITLE:=U-Boot for Nitrogen6x i.MX6Solo 1GB board
define U-Boot/nitrogen6s1g
NAME:=Nitrogen6x i.MX6Solo 1GB board
endef
define uboot/wandboard_dl
TITLE:=U-Boot for the Wandboard Dual Lite
define U-Boot/wandboard_dl
NAME:=Wandboard Dual Lite
BUILD_DEVICES:=wandboard
endef
define uboot/wandboard_quad
TITLE:=U-Boot for the Wandboard Quad
define U-Boot/wandboard_quad
NAME:=Wandboard Quad
BUILD_DEVICES:=wandboard
endef
define uboot/wandboard_solo
TITLE:=U-Boot for the Wandboard Solo
define U-Boot/wandboard_solo
NAME:=Wandboard Solo
BUILD_DEVICES:=wandboard
endef
UBOOTS := \
UBOOT_TARGETS := \
mx6qsabresd \
nitrogen6dl \
nitrogen6dl2g \
......@@ -80,58 +75,4 @@ UBOOTS := \
wandboard_quad \
wandboard_solo
define Package/uboot/template
define Package/uboot-imx6-$(1)
SECTION:=boot
CATEGORY:=Boot Loaders
DEPENDS:=@TARGET_imx6
TITLE:=$(2)
URL:=http://www.denx.de/wiki/U-Boot
VARIANT:=$(1)
MAINTAINER:=Luka Perkov <luka@openwrt.org>
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) \
CROSS_COMPILE=$(TARGET_CROSS)
endef
define Package/uboot/install/default
$(INSTALL_DIR) $(BIN_DIR)/uboot-$(BOARD)-$(1)
$(CP) \
$(PKG_BUILD_DIR)/u-boot.imx \
$(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.imx
endef
define Package/uboot/install/template
define Package/uboot-imx6-$(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-imx6-$(u))) \
)
$(eval $(call BuildPackage/U-Boot))
......@@ -7,93 +7,87 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=u-boot
PKG_VERSION:=2016.09.01
PKG_VERSION:=2017.09
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_HASH:=95728e89dd476d17428f94080752ab48884be477b6a678941582aeef618b70bb
PKG_TARGETS:=bin
PKG_HASH:=b2d15f2cf5f72e706025cde73d67247c6da8cd35f7e10891eefe7d9095089744
PKG_LICENSE:=GPL-2.0 GPL-2.0+
PKG_LICENSE_FILES:=Licenses/README
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
PKG_BUILD_PARALLEL:=1
define U-Boot/Default
BUILD_TARGET:=kirkwood
endef
include $(INCLUDE_DIR)/package.mk
define U-Boot/dockstar
NAME:=Seagate DockStar
BUILD_DEVICES:=seagate_dockstar
endef
define uboot/Default
TITLE:=
define U-Boot/dockstar_second_stage
NAME:=Seagate DockStar (second stage)
BUILD_DEVICES:=seagate_dockstar
endef
define uboot/dockstar
TITLE:=U-Boot for Seagate DockStar
define U-Boot/goflexhome
NAME:=the Seagate GoFlexHome/GoFlexNet
BUILD_DEVICES:=seagate_goflexhome seagate_goflexnet
endef
define uboot/dockstar_second_stage
TITLE:=second stage U-Boot for Seagate DockStar
define U-Boot/ib62x0
NAME:=RaidSonic ICY BOX NAS6210 and NAS6220
BUILD_DEVICES:=raidsonic_ib-nas62x0
endef
define uboot/goflexhome
TITLE:=U-Boot for the Seagate GoFlexHome/GoFlexNet
define U-Boot/ib62x0_second_stage
NAME:=RaidSonic ICY BOX NAS6210 and NAS6220 (second stage)
BUILD_DEVICES:=raidsonic_ib-nas62x0
endef
define uboot/ib62x0
TITLE:=U-Boot for RaidSonic ICY BOX NAS6210 and NAS6220
define U-Boot/iconnect
NAME:=Iomega iConnect Wireless
BUILD_DEVICES:=iom_iconnect-1.1
endef
define uboot/ib62x0_second_stage
TITLE:=second stage U-Boot for RaidSonic ICY BOX NAS6210 and NAS6220
define U-Boot/iconnect_second_stage
NAME:=Iomega iConnect Wireless (second stage)
BUILD_DEVICES:=iom_iconnect-1.1
endef
define uboot/iconnect
TITLE:=U-Boot for Iomega iConnect Wireless
define U-Boot/nsa310
NAME:=Zyxel NSA310
BUILD_DEVICES:=zyxel_nsa310b
endef
define uboot/iconnect_second_stage
TITLE:=second stage U-Boot for Iomega iConnect Wireless
define U-Boot/nsa325
NAME:=Zyxel NSA325v1 and v2
BUILD_DEVICES:=zyxel_nsa325
endef
define uboot/pogo_e02
TITLE:=U-Boot for Cloud Engines Pogoplug E02
define U-Boot/pogo_e02
NAME:=Cloud Engines Pogoplug E02
BUILD_DEVICES:=cloudengines_pogoe02
endef
define uboot/pogo_e02_second_stage
TITLE:=second stage U-Boot for Cloud Engines Pogoplug E02
define U-Boot/pogo_e02_second_stage
NAME:=Cloud Engines Pogoplug E02 (second stage)
BUILD_DEVICES:=cloudengines_pogoe02
endef
define uboot/sheevaplug
TITLE:=U-Boot for SheevaPlug
define U-Boot/pogoplugv4
NAME:=Cloud Engines Pogoplug V4
BUILD_DEVICES:=cloudengines_pogoplugv4
endef
UBOOTS:= \
UBOOT_TARGETS := \
dockstar dockstar_second_stage \
goflexhome \
ib62x0 ib62x0_second_stage \
iconnect iconnect_second_stage \
nsa310 \
nsa325 \
pogo_e02 pogo_e02_second_stage \
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
pogoplugv4
define Build/Configure
$(if $(findstring _second_stage,$(BUILD_VARIANT)),
......@@ -112,34 +106,21 @@ define Build/Compile
CROSS_COMPILE=$(TARGET_CROSS)
mkimage -A $(ARCH) -O linux -T kernel -C none \
-a 0x600000 -e 0x600000 \
-n 'OpenWrt Das U-Boot uImage' \
-n '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/
define Package/u-boot/install
$(CP) \
$(PKG_BUILD_DIR)/u-boot.bin \
$(PKG_BUILD_DIR)/u-boot.kwb \
$(PKG_BUILD_DIR)/u-boot.img \
$(1)/
endef
define Package/uboot/install/template
define Package/uboot-kirkwood-$(1)/install
$(call Package/uboot/install/default,$(2))
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/kwboot $(STAGING_DIR_HOST)/bin/
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))) \
)
$(eval $(call BuildPackage/U-Boot))
From 280b03ba28b4287de677d4c4b097918364395b5e Mon Sep 17 00:00:00 2001
From: Luka Perkov <luka@openwrt.org>
Date: Wed, 2 Jul 2014 01:47:23 +0200
Subject: [PATCH 4/9] kirkwood: ib62x0: add CONFIG_SYS_GENERIC_BOARD define
Signed-off-by: Luka Perkov <luka@openwrt.org>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Stefan Roese <sr@denx.de>
---
This is patch was sent already in July:
http://lists.denx.de/pipermail/u-boot/2014-July/182900.html
---
include/configs/ib62x0.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/configs/ib62x0.h
+++ b/include/configs/ib62x0.h
@@ -9,6 +9,8 @@
#ifndef _CONFIG_IB62x0_H
#define _CONFIG_IB62x0_H
+#define CONFIG_SYS_GENERIC_BOARD
+
/*
* Version number information
*/
From 5f9e6f640098e6963ff9b470cd5d2ab9f6a3579e Mon Sep 17 00:00:00 2001
From: Luka Perkov <luka@openwrt.org>
Date: Sun, 30 Nov 2014 02:40:37 +0100
Subject: [PATCH 5/9] kirkwood: dockstar: add CONFIG_SYS_GENERIC_BOARD define
Signed-off-by: Luka Perkov <luka@openwrt.org>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Stefan Roese <sr@denx.de>
---
include/configs/dockstar.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/configs/dockstar.h
+++ b/include/configs/dockstar.h
@@ -12,6 +12,8 @@
#ifndef _CONFIG_DOCKSTAR_H
#define _CONFIG_DOCKSTAR_H
+#define CONFIG_SYS_GENERIC_BOARD
+
/*
* Version number information
*/
From 0d0a6606396f0cc1a4f2966d167ef9e85d533650 Mon Sep 17 00:00:00 2001
From: Luka Perkov <luka@openwrt.org>
Date: Sun, 30 Nov 2014 02:40:51 +0100
Subject: [PATCH 6/9] kirkwood: goflexhome: add CONFIG_SYS_GENERIC_BOARD define
Signed-off-by: Luka Perkov <luka@openwrt.org>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Stefan Roese <sr@denx.de>
---
include/configs/goflexhome.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/configs/goflexhome.h
+++ b/include/configs/goflexhome.h
@@ -15,6 +15,8 @@
#ifndef _CONFIG_GOFLEXHOME_H
#define _CONFIG_GOFLEXHOME_H
+#define CONFIG_SYS_GENERIC_BOARD
+
/*
* Version number information
*/
From 45ba20427135e526cfa528773de0cfe215f4dc40 Mon Sep 17 00:00:00 2001
From: Luka Perkov <luka@openwrt.org>
Date: Sun, 30 Nov 2014 02:41:04 +0100
Subject: [PATCH 7/9] kirkwood: iconnect: add CONFIG_SYS_GENERIC_BOARD define
Signed-off-by: Luka Perkov <luka@openwrt.org>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Stefan Roese <sr@denx.de>
---
include/configs/iconnect.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/configs/iconnect.h
+++ b/include/configs/iconnect.h
@@ -9,6 +9,8 @@
#ifndef _CONFIG_ICONNECT_H
#define _CONFIG_ICONNECT_H
+#define CONFIG_SYS_GENERIC_BOARD
+
/*
* Version number information
*/
From bd862f4e7a559e38763a5280e35bf7ff14b535f1 Mon Sep 17 00:00:00 2001
From: Luka Perkov <luka@openwrt.org>
Date: Sun, 30 Nov 2014 02:41:19 +0100
Subject: [PATCH 8/9] kirkwood: pogo_e02: add CONFIG_SYS_GENERIC_BOARD define
Signed-off-by: Luka Perkov <luka@openwrt.org>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Stefan Roese <sr@denx.de>
---
include/configs/pogo_e02.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/configs/pogo_e02.h
+++ b/include/configs/pogo_e02.h
@@ -13,6 +13,8 @@
#ifndef _CONFIG_POGO_E02_H
#define _CONFIG_POGO_E02_H
+#define CONFIG_SYS_GENERIC_BOARD
+
/*
* Machine type definition and ID
*/
From 787e23179708ddad7ecd9dcd6c841546689864b0 Mon Sep 17 00:00:00 2001
From: Luka Perkov <luka@openwrt.org>
Date: Sun, 30 Nov 2014 02:41:49 +0100
Subject: [PATCH 9/9] kirkwood: sheevaplug: add CONFIG_SYS_GENERIC_BOARD define
Signed-off-by: Luka Perkov <luka@openwrt.org>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Stefan Roese <sr@denx.de>
---
include/configs/sheevaplug.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/configs/sheevaplug.h
+++ b/include/configs/sheevaplug.h
@@ -10,6 +10,8 @@
#ifndef _CONFIG_SHEEVAPLUG_H
#define _CONFIG_SHEEVAPLUG_H
+#define CONFIG_SYS_GENERIC_BOARD
+
/*
* Version number information
*/
--- a/include/configs/dockstar.h
+++ b/include/configs/dockstar.h
@@ -31,6 +31,7 @@
* Commands configuration
*/
#define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */
@@ -19,6 +19,7 @@
#define CONFIG_KW88F6281 1 /* SOC Name */
#define CONFIG_MACH_DOCKSTAR /* Machine type */
#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
+#define CONFIG_SYS_MVFS
#define CONFIG_CMD_ENV
#define CONFIG_CMD_NAND
/*
@@ -53,29 +54,29 @@
* mv-common.h should be defined after CMD configs since it used them
@@ -37,29 +38,29 @@
* it has to be rounded to sector size
*/
#define CONFIG_ENV_SIZE 0x20000 /* 128k */
......@@ -26,11 +26,12 @@
- "ubifsload 0x800000 ${kernel}; " \
- "ubifsload 0x1100000 ${initrd}; " \
- "bootm 0x800000 0x1100000"
-
-#define CONFIG_MTDPARTS "mtdparts=orion_nand:1m(uboot),-(root)\0"
+ "ubi part ubi; " \
+ "ubi read 0x800000 kernel; " \
+ "bootm 0x800000"
-#define CONFIG_MTDPARTS "mtdparts=orion_nand:1m(uboot),-(root)\0"
+
+#define CONFIG_MTDPARTS \
+ "mtdparts=orion_nand:" \
+ "0xe0000@0x0(uboot)," \
......
--- a/include/configs/iconnect.h
+++ b/include/configs/iconnect.h
@@ -59,30 +59,29 @@
#define CONFIG_ENV_IS_NOWHERE
@@ -44,30 +44,29 @@
#define CONFIG_ENV_SECT_SIZE 0x20000
#endif
#define CONFIG_ENV_SIZE 0x20000
-#define CONFIG_ENV_OFFSET 0x80000
......@@ -42,8 +42,8 @@
* Ethernet driver configuration
--- a/configs/iconnect_defconfig
+++ b/configs/iconnect_defconfig
@@ -7,6 +7,7 @@ CONFIG_SYS_PROMPT="iconnect => "
# CONFIG_CMD_FLASH is not set
@@ -10,6 +10,7 @@ CONFIG_SYS_PROMPT="iconnect => "
CONFIG_CMD_NAND=y
CONFIG_CMD_USB=y
# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_DHCP=y
......
--- a/include/configs/ib62x0.h
+++ b/include/configs/ib62x0.h
@@ -62,27 +62,22 @@
@@ -49,27 +49,22 @@
*/
#define CONFIG_BOOTCOMMAND \
"setenv bootargs ${console} ${mtdparts} ${bootargs_root}; " \
......
--- a/include/configs/pogo_e02.h
+++ b/include/configs/pogo_e02.h
@@ -54,23 +54,30 @@
@@ -44,23 +44,30 @@
#endif
#define CONFIG_ENV_SIZE 0x20000 /* 128k */
......
--- a/include/configs/goflexhome.h
+++ b/include/configs/goflexhome.h
@@ -87,20 +87,18 @@
@@ -70,20 +70,18 @@
*/
#define CONFIG_BOOTCOMMAND \
"setenv bootargs ${console} ${mtdparts} ${bootargs_root}; " \
- "ubi part root; " \
- "ubifsmount ubi:root; " \
- "ubifsload 0x800000 ${kernel}; " \
- "bootm 0x800000"
+ "ubi part ubi; " \
+ "ubi read 0x800000 kernel; " \
+ "bootm 0x800000"
"bootm 0x800000"
#define CONFIG_MTDPARTS \
- "mtdparts=orion_nand:1m(uboot),6M(uImage),-(root)\0"
......
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -74,4 +74,7 @@ source "board/Seagate/goflexhome/Kconfig
source "board/Seagate/nas220/Kconfig"
@@ -90,4 +90,7 @@ source "board/zyxel/nsa310/Kconfig"
source "board/zyxel/nsa310s/Kconfig"
source "board/zyxel/nsa325/Kconfig"
+config SECOND_STAGE
+ bool "OpenWrt second stage hack"
......@@ -10,16 +10,16 @@
endif
--- a/include/configs/dockstar.h
+++ b/include/configs/dockstar.h
@@ -98,4 +98,6 @@
#define CONFIG_CMD_MTDPARTS
#define CONFIG_LZO
@@ -76,4 +76,6 @@
#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
#define CONFIG_MTD_PARTITIONS
+#include "openwrt-kirkwood-common.h"
+
#endif /* _CONFIG_DOCKSTAR_H */
--- a/include/configs/ib62x0.h
+++ b/include/configs/ib62x0.h
@@ -108,4 +108,6 @@
@@ -94,4 +94,6 @@
#define CONFIG_RTC_MV
#endif /* CONFIG_CMD_DATE */
......@@ -28,16 +28,16 @@
#endif /* _CONFIG_IB62x0_H */
--- a/include/configs/iconnect.h
+++ b/include/configs/iconnect.h
@@ -103,4 +103,6 @@
@@ -83,4 +83,6 @@
#define CONFIG_MTD_DEVICE
#define CONFIG_MTD_PARTITIONS
#define CONFIG_CMD_MTDPARTS
+#include "openwrt-kirkwood-common.h"
+
#endif /* _CONFIG_ICONNECT_H */
--- /dev/null
+++ b/include/configs/openwrt-kirkwood-common.h
@@ -0,0 +1,40 @@
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2013 Luka Perkov <luka@openwrt.org>
+ *
......@@ -47,9 +47,6 @@
+#ifndef __OPENWRT_KIRKWOOD_COMMON_H
+#define __OPENWRT_KIRKWOOD_COMMON_H
+
+/* Commands */
+#define CONFIG_CMD_BOOTZ
+
+/* Ethernet */
+#if defined(CONFIG_CMD_NET)
+#define CONFIG_SERVERIP 192.168.1.2
......@@ -63,14 +60,8 @@
+#define CONFIG_ENV_IS_NOWHERE
+#endif
+
+/* Flattened uImage Tree */
+#define CONFIG_FIT 1
+#define CONFIG_FIT_VERBOSE 1
+
+/* Various */
+#define CONFIG_BZIP2
+#define CONFIG_LZMA
+#define CONFIG_LZO
+
+/* Unnecessary */
+#undef CONFIG_BOOTM_NETBSD
......@@ -80,28 +71,98 @@
+#endif /* __OPENWRT_KIRKWOOD_COMMON_H */
--- a/include/configs/pogo_e02.h
+++ b/include/configs/pogo_e02.h
@@ -99,4 +99,6 @@
#define CONFIG_CMD_MTDPARTS
#define CONFIG_LZO
@@ -83,4 +83,6 @@
#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
#define CONFIG_MTD_PARTITIONS
+#include "openwrt-kirkwood-common.h"
+
#endif /* _CONFIG_POGO_E02_H */
--- a/include/configs/sheevaplug.h
+++ b/include/configs/sheevaplug.h
@@ -109,4 +109,6 @@
#define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET
#endif /* CONFIG_CMD_IDE */
+#include "openwrt-kirkwood-common.h"
+
#endif /* _CONFIG_SHEEVAPLUG_H */
--- a/include/configs/goflexhome.h
+++ b/include/configs/goflexhome.h
@@ -122,4 +122,6 @@
@@ -105,4 +105,6 @@
#define CONFIG_RTC_MV
#endif /* CONFIG_CMD_DATE */
+#include "openwrt-kirkwood-common.h"
+
#endif /* _CONFIG_GOFLEXHOME_H */
--- a/include/configs/nsa310.h
+++ b/include/configs/nsa310.h
@@ -123,4 +123,6 @@
#define CONFIG_RTC_MV
#endif /* CONFIG_CMD_DATE */
+#include "openwrt-kirkwood-common.h"
+
#endif /* _CONFIG_NSA310_H */
--- a/configs/dockstar_defconfig
+++ b/configs/dockstar_defconfig
@@ -25,3 +25,8 @@ CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_OF_LIBFDT=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_LZMA=y
+CONFIG_LZO=y
--- a/configs/goflexhome_defconfig
+++ b/configs/goflexhome_defconfig
@@ -29,3 +29,8 @@ CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_OF_LIBFDT=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_LZMA=y
+CONFIG_LZO=y
--- a/configs/ib62x0_defconfig
+++ b/configs/ib62x0_defconfig
@@ -27,5 +27,9 @@ CONFIG_SYS_NS16550=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
-CONFIG_LZMA=y
CONFIG_OF_LIBFDT=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_LZMA=y
+CONFIG_LZO=y
--- a/configs/iconnect_defconfig
+++ b/configs/iconnect_defconfig
@@ -24,5 +24,9 @@ CONFIG_SYS_NS16550=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
-CONFIG_LZMA=y
CONFIG_OF_LIBFDT=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_LZMA=y
+CONFIG_LZO=y
--- a/configs/nsa310_defconfig
+++ b/configs/nsa310_defconfig
@@ -30,5 +30,8 @@ CONFIG_CMD_UBI=y
CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
CONFIG_LZMA=y
CONFIG_LZO=y
--- a/configs/pogo_e02_defconfig
+++ b/configs/pogo_e02_defconfig
@@ -25,3 +25,8 @@ CONFIG_USB=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_OF_LIBFDT=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_LZMA=y
+CONFIG_LZO=y
......@@ -11,336 +11,328 @@ 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_HASH:=0d71e62beb952b41ebafb20a7ee4df2f960db64c31b054721ceb79ff14014c55
PKG_TARGETS:=bin
PKG_LICENSE:=GPL-2.0 GPL-2.0+
PKG_LICENSE_FILES:=Licenses/README
PKG_BUILD_PARALLEL:=1
FIRMWARE_LANTIQ_SOURCE:=$(TOPDIR)/target/linux/lantiq/files/firmware/lantiq
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define uboot/Default
TITLE:=
SOC:=
define U-Boot/Default
BUILD_TARGET:=lantiq
DDR_SETTINGS:=
IMAGE:=
DEPS:=
endef
define uboot/arv4519pw_ram
TITLE:=U-Boot for Arcadyan arv4519pw (RAM)
SOC:=danube
define U-Boot/arv4519pw_ram
NAME:=Arcadyan arv4519pw (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv4519pw
DDR_SETTINGS:=board/arcadyan/arv4519pw/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/arv4519pw_nor
TITLE:=U-Boot for Arcadyan arv4519pw (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv4519pw_nor
NAME:=Arcadyan arv4519pw (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv4519pw
endef
define uboot/arv4519pw_brn
TITLE:=U-Boot for Arcadyan arv4519pw (BRN)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv4519pw_brn
NAME:=Arcadyan arv4519pw (BRN)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv4519pw
endef
define uboot/arv7506pw11_ram
TITLE:=U-Boot for Arcadyan ARV7506PW11 (RAM)
SOC:=danube
define U-Boot/arv7506pw11_ram
NAME:=Arcadyan ARV7506PW11 (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7506pw11
DDR_SETTINGS:=board/arcadyan/arv7506pw11/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/arv7506pw11_nor
TITLE:=U-Boot for Arcadyan ARV7506PW11 (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv7506pw11_nor
NAME:=Arcadyan ARV7506PW11 (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7506pw11
endef
define uboot/arv7506pw11_brn
TITLE:=U-Boot for Arcadyan ARV7506PW11 (BRN)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv7506pw11_brn
NAME:=Arcadyan ARV7506PW11 (BRN)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7506pw11
endef
define uboot/arv7510pw_ram
TITLE:=U-Boot for Arcadyan arv7510pw (RAM)
SOC:=danube
define U-Boot/arv7510pw_ram
NAME:=Arcadyan arv7510pw (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv4510pw
DDR_SETTINGS:=board/arcadyan/arv7510pw/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/arv7510pw_nor
TITLE:=U-Boot for Arcadyan arv7510pw (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv7510pw_nor
NAME:=Arcadyan arv7510pw (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv4510pw
endef
define uboot/arv7510pw_brn
TITLE:=U-Boot for Arcadyan arv7510pw (BRN)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv7510pw_brn
NAME:=Arcadyan arv7510pw (BRN)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv4510pw
endef
define uboot/arv7510pw22_ram
TITLE:=U-Boot for Arcadyan arv7510pw22 (RAM)
SOC:=danube
define U-Boot/arv7510pw22_ram
NAME:=Arcadyan arv7510pw22 (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7510pw22
DDR_SETTINGS:=board/arcadyan/arv7510pw22/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/arv7510pw22_nor
TITLE:=U-Boot for Arcadyan arv7510pw22 (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv7510pw22_nor
NAME:=Arcadyan arv7510pw22 (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7510pw22
endef
define uboot/arv7510pw22_brn
TITLE:=U-Boot for Arcadyan arv7510pw22 (BRN)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv7510pw22_brn
NAME:=Arcadyan arv7510pw22 (BRN)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7510pw22
endef
define uboot/arv7518pw_ram
TITLE:=U-Boot for Arcadyan arv7518pw (RAM)
SOC:=danube
define U-Boot/arv7518pw_ram
NAME:=Arcadyan arv7518pw (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7518pw
DDR_SETTINGS:=board/arcadyan/arv7518pw/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/arv7518pw_nor
TITLE:=U-Boot for Arcadyan arv7518pw (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv7518pw_nor
NAME:=Arcadyan arv7518pw (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7518pw
endef
define uboot/arv7518pw_brn
TITLE:=U-Boot for Arcadyan arv7518pw (BRN)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv7518pw_brn
NAME:=Arcadyan arv7518pw (BRN)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv7518pw
endef
define uboot/arv752dpw_ram
TITLE:=U-Boot for Arcadyan arv752dpw (RAM)
SOC:=danube
define U-Boot/arv752dpw_ram
NAME:=Arcadyan arv752dpw (RAM)
BUILD_SUBTARGET:=xway
DDR_SETTINGS:=board/arcadyan/arv752dpw/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
BUILD_DEVICES:=arcadyan_arv752dpw
endef
define uboot/arv752dpw_nor
TITLE:=U-Boot for Arcadyan arv752dpw (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv752dpw_nor
NAME:=Arcadyan arv752dpw (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv752dpw
endef
define uboot/arv752dpw_brn
TITLE:=U-Boot for Arcadyan arv752dpw (BRN)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv752dpw_brn
NAME:=Arcadyan arv752dpw (BRN)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv752dpw
endef
define uboot/arv752dpw22_ram
TITLE:=U-Boot for Arcadyan arv752dpw22 (RAM)
SOC:=danube
define U-Boot/arv752dpw22_ram
NAME:=Arcadyan arv752dpw22 (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv752dpw22
DDR_SETTINGS:=board/arcadyan/arv752dpw22/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/arv752dpw22_nor
TITLE:=U-Boot for Arcadyan arv752dpw22 (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv752dpw22_nor
NAME:=Arcadyan arv752dpw22 (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv752dpw22
endef
define uboot/arv752dpw22_brn
TITLE:=U-Boot for Arcadyan arv752dpw22 (BRN)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv752dpw22_brn
NAME:=Arcadyan arv752dpw22 (BRN)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv752dpw22
endef
define uboot/arv8539pw22_ram
TITLE:=U-Boot for Speedport W 504V Typ A (RAM)
SOC:=danube
define U-Boot/arv8539pw22_ram
NAME:=Speedport W 504V Typ A (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv8539pw22
DDR_SETTINGS:=board/arcadyan/arv8539pw22/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/arv8539pw22_nor
TITLE:=U-Boot for Speedport W 504V Typ A (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv8539pw22_nor
NAME:=Speedport W 504V Typ A (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv8539pw22
endef
define uboot/arv8539pw22_brn
TITLE:=U-Boot for Speedport W 504V Typ A (BRN)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/arv8539pw22_brn
NAME:=Speedport W 504V Typ A (BRN)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=arcadyan_arv8539pw22
endef
define uboot/gigasx76x_ram
TITLE:=U-Boot for Siemens Gigaset sx76x (RAM)
SOC:=danube
define U-Boot/gigasx76x_ram
NAME:=Siemens Gigaset sx76x (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=siemens_gigaset-sx76x
DDR_SETTINGS:=board/gigaset/sx76x/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/gigasx76x_nor
TITLE:=U-Boot for Siemens Gigaset sx76x (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/gigasx76x_nor
NAME:=Siemens Gigaset sx76x (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=siemens_gigaset-sx76x
endef
define uboot/acmp252_ram
TITLE:=U-Boot for AudioCodes MP-252 (RAM)
SOC:=danube
define U-Boot/acmp252_ram
NAME:=AudioCodes MP-252 (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=audiocodes_mp-252
DDR_SETTINGS:=board/audiocodes/acmp252/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/acmp252_nor
TITLE:=U-Boot for AudioCodes MP-252 (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/acmp252_nor
NAME:=AudioCodes MP-252 (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=audiocodes_mp-252
endef
define uboot/bthomehubv5a_ram
TITLE:=U-Boot for BT Home Hub 5A (RAM)
SOC:=vr9
define U-Boot/bthomehubv5a_ram
NAME:=BT Home Hub 5A (RAM)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=bt_homehub-v5a
DDR_SETTINGS:=board/bt/bthomehubv5a/ddr_settings.h
DEPS:=@TARGET_lantiq_xrx200
endef
define uboot/easy50712_ram
TITLE:=U-Boot for Lantiq EASY50712 (RAM)
SOC:=danube
define U-Boot/easy50712_ram
NAME:=Lantiq EASY50712 (RAM)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=lantiq_easy50712
DDR_SETTINGS:=board/lantiq/easy50712/ddr_settings.h
DEPS:=@TARGET_lantiq_xway
endef
define uboot/easy50712_nor
TITLE:=U-Boot for Lantiq EASY50712 (NOR)
SOC:=danube
DEPS:=@TARGET_lantiq_xway
define U-Boot/easy50712_nor
NAME:=Lantiq EASY50712 (NOR)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=lantiq_easy50712
endef
define uboot/easy50712_norspl
TITLE:=U-Boot for Lantiq EASY50712 (NOR SPL)
SOC:=danube
IMAGE:=u-boot.ltq.lzo.norspl
DEPS:=@TARGET_lantiq_xway
define U-Boot/easy50712_norspl
NAME:=Lantiq EASY50712 (NOR SPL)
BUILD_SUBTARGET:=xway
BUILD_DEVICES:=lantiq_easy50712
UBOOT_IMAGE:=u-boot.ltq.lzo.norspl
DEPENDS+=@BROKEN
endef
define uboot/easy80920_ram
TITLE:=U-Boot for Lantiq EASY80920 (RAM)
SOC:=vr9
define U-Boot/easy80920_ram
NAME:=Lantiq EASY80920 (RAM)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=lantiq_easy80920-nor lantiq_easy80920-nand
DDR_SETTINGS:=board/lantiq/easy80920/ddr_settings.h
DEPS:=@TARGET_lantiq_xrx200
endef
define uboot/easy80920_nor
TITLE:=U-Boot for Lantiq EASY80920 (NOR)
SOC:=vr9
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/easy80920_nor
NAME:=Lantiq EASY80920 (NOR)
BUILD_DEVICES:=lantiq_easy80920-nor lantiq_easy80920-nand
BUILD_SUBTARGET:=xrx200
endef
define uboot/easy80920_norspl
TITLE:=U-Boot for Lantiq EASY80920 (NOR SPL)
SOC:=vr9
IMAGE:=u-boot.ltq.lzo.norspl
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/easy80920_norspl
NAME:=Lantiq EASY80920 (NOR SPL)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=lantiq_easy80920-nor lantiq_easy80920-nand
UBOOT_IMAGE:=u-boot.ltq.lzo.norspl
DEPENDS+=@BROKEN
endef
define uboot/easy80920_sfspl
TITLE:=U-Boot for Lantiq EASY80920 (SPI SPL)
SOC:=vr9
IMAGE:=u-boot.ltq.lzo.sfspl
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/easy80920_sfspl
NAME:=Lantiq EASY80920 (SPI SPL)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=lantiq_easy80920-nor lantiq_easy80920-nand
UBOOT_IMAGE:=u-boot.ltq.lzo.sfspl
DEPENDS+=@BROKEN
endef
define uboot/fb3370_eva
TITLE:=U-Boot for AVM FRITZ3370 (EVA)
SOC:=vr9
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/fb3370_eva
NAME:=AVM FRITZ3370 (EVA)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=avm_fritz3370
endef
define uboot/fb3370_ram
TITLE:=U-Boot for AVM FRITZ3370 (RAM)
SOC:=vr9
define U-Boot/fb3370_ram
NAME:=AVM FRITZ3370 (RAM)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=avm_fritz3370
DDR_SETTINGS:=board/avm/fb3370/ddr_settings.h
DEPS:=@TARGET_lantiq_xrx200
endef
define uboot/fb3370_sfspl
TITLE:=U-Boot for AVM FRITZ3370 (SPI SPL)
SOC:=vr9
IMAGE:=u-boot.ltq.lzo.sfspl
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/fb3370_sfspl
NAME:=AVM FRITZ3370 (SPI SPL)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=avm_fritz3370
UBOOT_IMAGE:=u-boot.ltq.lzo.sfspl
DEPENDS+=@BROKEN
endef
define uboot/p2812hnufx_ram
TITLE:=U-Boot for ZyXEL P-2812HNU-Fx (RAM)
SOC:=vr9
define U-Boot/p2812hnufx_ram
NAME:=ZyXEL P-2812HNU-Fx (RAM)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=zyxel_p-2812hnu-f1
DDR_SETTINGS:=board/zyxel/p2812hnufx/ddr_settings.h
DEPS:=@TARGET_lantiq_xrx200
endef
define uboot/p2812hnufx_nandspl
TITLE:=U-Boot for ZyXEL P-2812HNU-Fx (NAND SPL)
SOC:=vr9
IMAGE:=u-boot.ltq.lzo.nandspl
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/p2812hnufx_nandspl
NAME:=ZyXEL P-2812HNU-Fx (NAND SPL)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=zyxel_p-2812hnu-f1
UBOOT_IMAGE:=u-boot.ltq.lzo.nandspl
DEPENDS+=@BROKEN
endef
define uboot/vgv7510kw22_brn
TITLE:=U-Boot for Arcadyan VGV7510KW22 (BRN)
SOC:=vr9
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/vgv7510kw22_brn
NAME:=Arcadyan VGV7510KW22 (BRN)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=arcadyan_vgv7510kw22-nor
endef
define uboot/vgv7510kw22_nor
TITLE:=U-Boot for Arcadyan VGV7510KW22 (NOR)
SOC:=vr9
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/vgv7510kw22_nor
NAME:=Arcadyan VGV7510KW22 (NOR)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=arcadyan_vgv7510kw22-nor
endef
define uboot/vgv7510kw22_ram
TITLE:=U-Boot for Arcadyan VGV7510KW22 (RAM)
SOC:=vr9
define U-Boot/vgv7510kw22_ram
NAME:=Arcadyan VGV7510KW22 (RAM)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=arcadyan_vgv7510kw22-nor
DDR_SETTINGS:=board/arcadyan/vgv7510kw22/ddr_settings.h
DEPS:=@TARGET_lantiq_xrx200
endef
define uboot/vgv7519_brn
TITLE:=U-Boot for Arcadyan VGV7519 (BRN)
SOC:=vr9
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/vgv7519_brn
NAME:=Arcadyan VGV7519 (BRN)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=arcadyan_vgv7519-nor arcadyan_vgv7519-brn
endef
define uboot/vgv7519_nor
TITLE:=U-Boot for Arcadyan VGV7519 (NOR)
SOC:=vr9
DEPS:=@TARGET_lantiq_xrx200
define U-Boot/vgv7519_nor
NAME:=Arcadyan VGV7519 (NOR)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=arcadyan_vgv7519-nor arcadyan_vgv7519-brn
endef
define uboot/vgv7519_ram
TITLE:=U-Boot for Arcadyan VGV7519 (RAM)
SOC:=vr9
define U-Boot/vgv7519_ram
NAME:=Arcadyan VGV7519 (RAM)
BUILD_SUBTARGET:=xrx200
BUILD_DEVICES:=arcadyan_vgv7519-nor arcadyan_vgv7519-brn
DDR_SETTINGS:=board/arcadyan/vgv7519/ddr_settings.h
DEPS:=@TARGET_lantiq_xrx200
endef
UBOOTS:= \
UBOOT_TARGETS:= \
arv4519pw_ram arv4519pw_nor arv4519pw_brn \
arv7506pw11_ram arv7506pw11_nor arv7506pw11_brn \
arv7510pw_ram arv7510pw_nor arv7510pw_brn \
......@@ -359,25 +351,6 @@ UBOOTS:= \
vgv7510kw22_brn vgv7510kw22_nor vgv7510kw22_ram \
vgv7519_brn vgv7519_nor vgv7519_ram
define Package/uboot/template
define Package/uboot-lantiq-$(1)
SECTION:=boot
CATEGORY:=Boot Loaders
DEPENDS:=$(3) @!IN_SDK
TITLE:=$(2)
URL:=http://www.denx.de/wiki/U-Boot
VARIANT:=$(1)
MAINTAINER:=Luka Perkov <luka@openwrt.org>
endef
endef
define BuildUBootPackage
$(eval $(uboot/Default))
$(eval $(uboot/$(1)))
DEPS:=$(uboot/$(1)/DEPS)
$(call Package/uboot/template,$(1),$(TITLE),$(DEPS))
endef
define CompressVR9Firmware
$(STAGING_DIR_HOST)/bin/lzma e \
$(FIRMWARE_LANTIQ_SOURCE)/vr9_phy$(1)_a$(2)x.bin \
......@@ -393,40 +366,25 @@ define Build/Prepare
$(call CompressVR9Firmware,22f,2)
endef
define Build/Configure
$(MAKE) -C $(PKG_BUILD_DIR) $(BUILD_VARIANT)_config
endef
UBOOT_MAKE_FLAGS :=
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS)
endef
define Package/uboot/install/default
$(CP) \
$(PKG_BUILD_DIR)/$(2) \
$(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.img
endef
ifeq ($(SUBTARGET),xway)
SOC:=danube
else
SOC:=vr9
endif
define Package/uboot/install/uart
define Package/u-boot/install/uart
awk -f $(PKG_BUILD_DIR)/tools/lantiq_ram_init_uart.awk \
-v soc=$(2) $(PKG_BUILD_DIR)/$(3) \
-v soc=$(SOC) $(PKG_BUILD_DIR)/$(DDR_SETTINGS) \
> $(PKG_BUILD_DIR)/ddr_settings
perl $(PKG_BUILD_DIR)/tools/gct.pl \
$(PKG_BUILD_DIR)/ddr_settings $(PKG_BUILD_DIR)/u-boot.srec \
$(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.asc
endef
define Package/uboot/install/template
define Package/uboot-lantiq-$(1)/install
$(call Package/uboot/install/default,$(1),$(if $(IMAGE),$(IMAGE),u-boot.bin))
$(if $(DDR_SETTINGS), \
$(call Package/uboot/install/uart,$(1),$(SOC),$(DDR_SETTINGS)) \
)
$(1)/u-boot.asc
endef
define Package/u-boot/install
$(Package/u-boot/install/$(if $(DDR_SETTINGS),uart,default))
endef
$(foreach u,$(UBOOTS), \
$(eval $(call BuildUBootPackage,$(u))) \
$(eval $(call Package/uboot/install/template,$(u))) \
$(eval $(call BuildPackage,uboot-lantiq-$(u))) \
)
$(eval $(call BuildPackage/U-Boot))
......@@ -1419,7 +1419,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
+
+static int spl_uncompress_lzo(struct spl_image *spl, unsigned long loadaddr)
+{
+ size_t len;
+ size_t len = CONFIG_SYS_LOAD_SIZE;
+ int ret;
+
+ spl_puts("SPL: decompressing U-Boot with LZO\n");
......@@ -3237,7 +3237,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
+}
--- /dev/null
+++ b/arch/mips/include/asm/arch-danube/config.h
@@ -0,0 +1,163 @@
@@ -0,0 +1,164 @@
+/*
+ * Copyright (C) 2007-2010 Lantiq Deutschland GmbH
+ * Copyright (C) 2011-2013 Daniel Schwierzeck, daniel.schwierzeck@gmail.com
......@@ -3296,6 +3296,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
+#define CONFIG_SYS_MEMTEST_START 0x81000000
+#define CONFIG_SYS_MEMTEST_END 0x82000000
+#define CONFIG_SYS_LOAD_ADDR 0x81000000
+#define CONFIG_SYS_LOAD_SIZE (2 * 1024 * 1024)
+#define CONFIG_SYS_INIT_SP_OFFSET 0x4000
+
+/* SRAM */
......@@ -3475,7 +3476,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
+#endif /* __DANUBE_SOC_H__ */
--- /dev/null
+++ b/arch/mips/include/asm/arch-vrx200/config.h
@@ -0,0 +1,187 @@
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2010 Lantiq Deutschland GmbH
+ * Copyright (C) 2011-2013 Daniel Schwierzeck, daniel.schwierzeck@gmail.com
......@@ -3546,6 +3547,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
+#define CONFIG_SYS_MEMTEST_START 0x81000000
+#define CONFIG_SYS_MEMTEST_END 0x82000000
+#define CONFIG_SYS_LOAD_ADDR 0x81000000
+#define CONFIG_SYS_LOAD_SIZE (2 * 1024 * 1024)
+#define CONFIG_SYS_INIT_SP_OFFSET (32 * 1024)
+
+/* SRAM */
......@@ -7257,7 +7259,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
+static struct phy_driver pef7071_driver = {
+ .name = "Lantiq XWAY PEF7071",
+ .uid = 0xd565a400,
+ .mask = 0xFFFFFFFF,
+ .mask = 0xFFFFFFF8,
+ .features = PHY_GBIT_FEATURES,
+ .config = ltq_phy_config,
+ .startup = ltq_phy_startup,
......
......@@ -903,7 +903,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
#define STATUS_LANTIQ (STATUS_MIPS34K | STATUS_MIPS32_64)
--- /dev/null
+++ b/arch/mips/include/asm/arch-arx100/config.h
@@ -0,0 +1,175 @@
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2007-2010 Lantiq Deutschland GmbH
+ * Copyright (C) 2011-2013 Daniel Schwierzeck, daniel.schwierzeck@gmail.com
......@@ -967,6 +967,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
+#define CONFIG_SYS_MEMTEST_START 0x81000000
+#define CONFIG_SYS_MEMTEST_END 0x82000000
+#define CONFIG_SYS_LOAD_ADDR 0x81000000
+#define CONFIG_SYS_LOAD_SIZE (2 * 1024 * 1024)
+#define CONFIG_SYS_INIT_SP_OFFSET (32 * 1024)
+
+/* SRAM */
......
......@@ -21,7 +21,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
struct args {
enum image_types type;
__u32 entry_addr;
+ loff_t uboot_offset;
+ off_t uboot_offset;
+ unsigned int page_size;
const char *uboot_bin;
const char *spl_bin;
......@@ -121,10 +121,10 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
}
-static int create_sfspl(const struct args *arg)
+static int pad_to_offset(int fd, loff_t offset)
+static int pad_to_offset(int fd, off_t offset)
{
- int out_fd, uboot_fd, spl_fd, ret;
+ loff_t pos;
+ off_t pos;
+ size_t size;
+ ssize_t n;
+ __u8 *buf;
......
......@@ -8,7 +8,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
--- /dev/null
+++ b/include/configs/openwrt-lantiq-common.h
@@ -0,0 +1,39 @@
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2013 Luka Perkov <luka@openwrt.org>
+ *
......@@ -21,6 +21,7 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
+/* Commands */
+#if defined(CONFIG_LTQ_SUPPORT_ETHERNET)
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_TFTPPUT
+#endif
+
+/* Compression */
......
--- a/include/image.h
+++ b/include/image.h
@@ -17,7 +17,6 @@
#define __IMAGE_H__
#include "compiler.h"
-#include <asm/byteorder.h>
/* Define this to avoid #ifdefs later on */
struct lmb;
@@ -36,6 +35,7 @@ struct lmb;
#include <lmb.h>
#include <asm/u-boot.h>
+#include <asm/byteorder.h>
#include <command.h>
/* Take notice of the 'ignore' property for hashes */
此差异已折叠。
此差异已折叠。
此差异已折叠。
From ee16ee20205ea374613c3ac7f50209451eb29068 Mon Sep 17 00:00:00 2001
From: Josua Mayer <josua.mayer97@gmail.com>
Date: Sun, 23 Apr 2017 18:02:40 +0200
Subject: [PATCH 1/4] clearfog: generate random MAC address
The Clearfog does not come with predetermined MACs.
Falling back to random ones ensures ethernet can still operate anyway.
Signed-off-by: Josua Mayer >josua.mayer97@gmail.com>
---
configs/clearfog_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig
index 1264871e83..41e94e6daf 100644
--- a/configs/clearfog_defconfig
+++ b/configs/clearfog_defconfig
@@ -47,6 +47,7 @@ CONFIG_DEBUG_UART=y
CONFIG_DEBUG_UART_BASE=0xd0012000
CONFIG_DEBUG_UART_CLOCK=250000000
CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_SYS_NS16550=y
CONFIG_USB=y
CONFIG_DM_USB=y
--
2.12.2
--- a/Makefile
+++ b/Makefile
@@ -348,7 +348,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump
AWK = awk
PERL = perl
PYTHON = python
-DTC = dtc
+DTC = $(DTC_DIR)dtc
CHECK = sparse
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册