Re: A10-OLinuXino-LIME board
On Mon, 2014-09-08 at 08:25 +0200, Karsten Merker wrote:
> On Sun, Sep 07, 2014 at 05:56:10PM -0500, Vagrant Cascadian wrote:
> > On 2014-09-07 13:48:30 -0500, Karsten Merker wrote:
> > > Vagrant, if possible it would be nice if you could enable the
> > > following targets in your next build of u-boot 2014.10 for armhf:
> > >
> > > A10-OLinuXino-Lime
> > > A10s-OLinuXino-M
> > > A13-OLinuXino
> > > A13-OLinuXinoM
> > > A20-OLinuXino_MICRO
> > > Cubieboard2
> > > Cubieboard2_FEL
> > >
> > > These are all systems that are otherwise supported in Debian
> > > (i.e. kernel/devicetree and flash-kernel support is available).
> >
> > If you or others would be willing to be listed as a tester for all these
> > boards, I'd be happy to enable them.
>
> I unfortunately don't have any of these systems at the moment,
> but I'll receive a Cubieboard2 within the next weeks. As soon as
> it is here, I am happy to do the testing for the Cubieboard2 and
> Cubieboard2_FEL targets.
FWIW I've got a Cubieboard2 as well.
Ideally we would build FEL variants for all sunxi boards, but we don't
have _FEL defconfigs for everything upstream. Hans (my co-custodian)
rightly doesn't want to duplicate every defconfig twice.
At the weekend I was playing with the two attached patches which build a
FEL variant for every sunxi board.
I think Vagrant is correct that we should also be looking to split the
sunxi stuff (which has a bazzilion variants it seems) into a different
package. The required debian/rules changes for that might also provide a
better hook for enabling FEL variations than what I've done above. I'm
thinking along the lines of an extra column in debian/targets which is
either "-" or a package name suffix ("sunxi").
Ian.
From 529d60263c8cfbf21d4c7cc01429f84aaa5da437 Mon Sep 17 00:00:00 2001
From: Ian Campbell <ijc@hellion.org.uk>
Date: Sat, 6 Sep 2014 11:54:54 +0100
Subject: [PATCH 1/2] Refactor per-platform build rules into a macro
---
debian/rules | 42 ++++++++++++++++++++++++------------------
1 file changed, 24 insertions(+), 18 deletions(-)
diff --git a/debian/rules b/debian/rules
index 84e13df..fff1d4e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -42,6 +42,29 @@ has_mtd_user := $(call check_include, mtd/mtd-user.h)
build-indep:
+# $(1) := platform
+# $(2) := targets
+define BUILD_ONE
+ builddir=`pwd`/debian/build/$(1); \
+ installdir=debian/$(package)/usr/lib/$(package)/$(1); \
+ mkdir -p $$builddir; \
+ for target in $(2) ; do \
+ $(MAKE) O=$$builddir $(1)_defconfig; \
+ $(MAKE) O=$$builddir $$target; \
+ $(INSTALL_DIR) $$installdir; \
+ $(INSTALL_FILE) $$builddir/$$target $$installdir; \
+ done ; \
+ $(INSTALL_FILE) $$builddir/u-boot $$installdir/uboot.elf; \
+ $(CROSS_COMPILE)strip --remove-section=.comment \
+ $$installdir/uboot.elf; \
+ $(MAKE) O=$$builddir HOSTCC=$(CROSS_COMPILE)gcc HOSTSTRIP=$(CROSS_COMPILE)strip env ; \
+ $(CROSS_COMPILE)strip --remove-section=.comment $$builddir/tools/env/fw_printenv ; \
+ installdir_tools=debian/$(tools_package)/usr/lib/$(package)/$(1); \
+ $(INSTALL_DIR) $$installdir_tools; \
+ $(INSTALL_PROGRAM) $$builddir/tools/env/fw_printenv $$installdir_tools ; \
+ ln -sf fw_printenv $$installdir_tools/fw_setenv ;
+endef
+
build: build-arch build-indep
build-arch:
$(checkdir)
@@ -49,24 +72,7 @@ build-arch:
ifeq (true,$(u_boot_package))
set -e; sed -n 's/^$(DEB_HOST_ARCH)[[:space:]]\+//p' debian/targets \
| while read platform targets; do \
- builddir=`pwd`/debian/build/$$platform; \
- installdir=debian/$(package)/usr/lib/$(package)/$$platform; \
- mkdir -p $$builddir; \
- for target in $$targets ; do \
- $(MAKE) O=$$builddir $${platform}_defconfig; \
- $(MAKE) O=$$builddir $$target; \
- $(INSTALL_DIR) $$installdir; \
- $(INSTALL_FILE) $$builddir/$$target $$installdir; \
- done ; \
- $(INSTALL_FILE) $$builddir/u-boot $$installdir/uboot.elf; \
- $(CROSS_COMPILE)strip --remove-section=.comment \
- $$installdir/uboot.elf; \
- $(MAKE) O=$$builddir HOSTCC=$(CROSS_COMPILE)gcc HOSTSTRIP=$(CROSS_COMPILE)strip env ; \
- $(CROSS_COMPILE)strip --remove-section=.comment $$builddir/tools/env/fw_printenv ; \
- installdir_tools=debian/$(tools_package)/usr/lib/$(package)/$$platform; \
- $(INSTALL_DIR) $$installdir_tools; \
- $(INSTALL_PROGRAM) $$builddir/tools/env/fw_printenv $$installdir_tools ; \
- ln -sf fw_printenv $$installdir_tools/fw_setenv ; \
+ $(call BUILD_ONE,$${platform},$${targets}) \
done
endif
--
2.1.0
From 43148f8c31f733fd5e8b224a7b31c22bc3bb7d19 Mon Sep 17 00:00:00 2001
From: Ian Campbell <ijc@hellion.org.uk>
Date: Mon, 8 Sep 2014 10:22:14 +0100
Subject: [PATCH 2/2] Add support for specifying additional variants to build
in debian/targets
Variants are given as $platform+$variant, initial implemented is +FEL which is
used for sunxi platforms to also build a FEL variant for all boards.
I'm worried that there may be too much makefile voodoo here...
---
arch/mips/config.mk | 4 ----
arch/powerpc/config.mk | 4 ----
arch/x86/cpu/config.mk | 2 +-
board/Marvell/openrd/openrd.c | 11 +++++++++
debian/rules | 27 +++++++++++++++++----
debian/targets | 7 +++---
examples/standalone/mips.lds | 4 ----
include/compiler.h | 4 ++--
include/configs/am335x_evm.h | 22 +++++++++++++++++-
include/configs/guruplug.h | 14 +++++++++++
include/configs/mx53loco.h | 3 +++
include/configs/nokia_rx51.h | 3 +++
include/configs/sheevaplug.h | 12 ++++++++++
include/configs/ti_armv7_common.h | 1 +
include/configs/udoo.h | 49 ++++++++++++++++++++++++++++-----------
include/configs/wandboard.h | 49 ++++++++++++++++++++++++++++-----------
tools/env/fw_env.c | 1 +
17 files changed, 167 insertions(+), 50 deletions(-)
diff --git a/arch/mips/config.mk b/arch/mips/config.mk
index a2d07af..a1d2133 100644
--- a/arch/mips/config.mk
+++ b/arch/mips/config.mk
@@ -5,10 +5,6 @@
# SPDX-License-Identifier: GPL-2.0+
#
-ifeq ($(CROSS_COMPILE),)
-CROSS_COMPILE := mips_4KC-
-endif
-
# Handle special prefix in ELDK 4.0 toolchain
ifneq (,$(findstring 4KCle,$(CROSS_COMPILE)))
ENDIANNESS := -EL
diff --git a/arch/powerpc/config.mk b/arch/powerpc/config.mk
index 6329b6c..4c8b2ef 100644
--- a/arch/powerpc/config.mk
+++ b/arch/powerpc/config.mk
@@ -5,10 +5,6 @@
# SPDX-License-Identifier: GPL-2.0+
#
-ifeq ($(CROSS_COMPILE),)
-CROSS_COMPILE := ppc_8xx-
-endif
-
CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
LDFLAGS_FINAL += --gc-sections
PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections -fdata-sections \
diff --git a/arch/x86/cpu/config.mk b/arch/x86/cpu/config.mk
index f7b01d3..83d7c50 100644
--- a/arch/x86/cpu/config.mk
+++ b/arch/x86/cpu/config.mk
@@ -7,7 +7,7 @@
CROSS_COMPILE ?= i386-linux-
-PLATFORM_CPPFLAGS += -D__I386__ -Werror
+PLATFORM_CPPFLAGS += -D__I386__ -Werror -Wno-error=unused-but-set-variable
# DO NOT MODIFY THE FOLLOWING UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!
LDPPFLAGS += -DRESET_SEG_START=0xffff0000
diff --git a/board/Marvell/openrd/openrd.c b/board/Marvell/openrd/openrd.c
index a005a2f..07a65d7 100644
--- a/board/Marvell/openrd/openrd.c
+++ b/board/Marvell/openrd/openrd.c
@@ -17,6 +17,9 @@
#include <asm/arch/kirkwood.h>
#include <asm/arch/mpp.h>
#include "openrd.h"
+#ifdef CONFIG_MRVL_MMC
+#include <mrvl_mmc.h>
+#endif /* CONFIG_MRVL_MMC */
DECLARE_GLOBAL_DATA_PTR;
@@ -159,3 +162,11 @@ void reset_phy(void)
#endif
}
#endif /* CONFIG_RESET_PHY_R */
+
+#ifdef CONFIG_MRVL_MMC
+int board_mmc_init(bd_t *bis)
+{
+ mrvl_mmc_init(bis);
+ return 0;
+}
+#endif /* CONFIG_MRVL_MMC */
diff --git a/debian/rules b/debian/rules
index fff1d4e..e37c9f7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -43,13 +43,16 @@ has_mtd_user := $(call check_include, mtd/mtd-user.h)
build-indep:
# $(1) := platform
-# $(2) := targets
+# $(2) := config name
+# $(2) := config tweak rune
+# $(3) := targets
define BUILD_ONE
builddir=`pwd`/debian/build/$(1); \
installdir=debian/$(package)/usr/lib/$(package)/$(1); \
mkdir -p $$builddir; \
- for target in $(2) ; do \
- $(MAKE) O=$$builddir $(1)_defconfig; \
+ $(MAKE) O=$$builddir $(2)_defconfig; \
+ $(3); \
+ for target in $(4) ; do \
$(MAKE) O=$$builddir $$target; \
$(INSTALL_DIR) $$installdir; \
$(INSTALL_FILE) $$builddir/$$target $$installdir; \
@@ -65,6 +68,17 @@ define BUILD_ONE
ln -sf fw_printenv $$installdir_tools/fw_setenv ;
endef
+COMMA := ,
+
+# $(1) := platform
+# $(2) := targets
+define BUILD_DEFAULT
+ $(call BUILD_ONE,$(1),$(1),:,$(2))
+endef
+define BUILD_FEL
+ $(call BUILD_ONE,$(1)_FEL,$(1),sed -i -e 's/^CONFIG_SYS_EXTRA_OPTIONS="[^"]*/&$(COMMA)SPL_FEL/g' $$builddir/.config,u-boot.bin spl/u-boot-spl.bin)
+endef
+
build: build-arch build-indep
build-arch:
$(checkdir)
@@ -72,7 +86,12 @@ build-arch:
ifeq (true,$(u_boot_package))
set -e; sed -n 's/^$(DEB_HOST_ARCH)[[:space:]]\+//p' debian/targets \
| while read platform targets; do \
- $(call BUILD_ONE,$${platform},$${targets}) \
+ $(call BUILD_DEFAULT,$${platform%+*},$${targets}) \
+ case $${platform#*+} in \
+ FEL) $(call BUILD_FEL,$${platform%+*},$${targets});\
+ $${platform}) ;; \
+ *) echo "Unknown variant $${platform#*+}">&2; exit 1;;\
+ esac; \
done
endif
diff --git a/debian/targets b/debian/targets
index 4242d98..b65d718 100644
--- a/debian/targets
+++ b/debian/targets
@@ -6,10 +6,9 @@ armel guruplug u-boot.kwb
armel openrd_ultimate u-boot.kwb
armel rpi_b u-boot.bin
armel sheevaplug u-boot.kwb
-armhf Bananapi u-boot-sunxi-with-spl.bin
-armhf Cubieboard u-boot-sunxi-with-spl.bin
-armhf Cubietruck u-boot-sunxi-with-spl.bin
-armhf Cubietruck_FEL u-boot.bin spl/u-boot-spl.bin
+armhf Bananapi+FEL u-boot-sunxi-with-spl.bin
+armhf Cubieboard+FEL u-boot-sunxi-with-spl.bin
+armhf Cubietruck+FEL u-boot-sunxi-with-spl.bin
armhf am335x_boneblack u-boot.img spl/u-boot-spl.bin MLO
armhf igep0020 u-boot.bin spl/u-boot-spl.bin MLO
armhf mx51_efikamx u-boot.imx
diff --git a/examples/standalone/mips.lds b/examples/standalone/mips.lds
index 849f0aa..94370c9 100644
--- a/examples/standalone/mips.lds
+++ b/examples/standalone/mips.lds
@@ -5,10 +5,6 @@
* SPDX-License-Identifier: GPL-2.0+
*/
-/*
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
-*/
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
OUTPUT_ARCH(mips)
SECTIONS
{
diff --git a/include/compiler.h b/include/compiler.h
index 9afc11b..c769909 100644
--- a/include/compiler.h
+++ b/include/compiler.h
@@ -15,7 +15,7 @@
defined(__sun__) || \
defined(__APPLE__)
# include <inttypes.h>
-#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__)
+#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__) || defined(__GLIBC__)
# include <stdint.h>
#endif
@@ -41,7 +41,7 @@
#define O_BINARY 0
#endif
-#ifdef __linux__
+#if defined(__linux__) || defined(__GLIBC__)
# include <endian.h>
# include <byteswap.h>
#elif defined(__MACH__) || defined(__FreeBSD__)
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index df1a6fc..9e97254 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -115,7 +115,7 @@
"nfsroot=${serverip}:${rootpath},${nfsopts} rw " \
"ip=dhcp\0" \
"bootenv=uEnv.txt\0" \
- "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
+ "loadbootenv=load mmc ${bootpart} ${loadaddr} ${bootenv}\0" \
"importbootenv=echo Importing environment from mmc ...; " \
"env import -t -r $loadaddr $filesize\0" \
"ramargs=setenv bootargs console=${console} " \
@@ -125,6 +125,12 @@
"loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
"loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
"loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
+ "script=boot.scr\0" \
+ "scriptfile=${script}\0" \
+ "loadbootscript=" \
+ "load mmc ${bootpart} ${loadaddr} ${scriptfile};\0" \
+ "bootscript=echo Running bootscript from mmc ...; " \
+ "source ${loadaddr}\0" \
"mmcloados=run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if run loadfdt; then " \
@@ -150,6 +156,16 @@
"echo Running uenvcmd ...;" \
"run uenvcmd;" \
"fi;" \
+ "setenv scriptfile ${script};" \
+ "if run loadbootscript; then " \
+ "echo Loaded script from ${scriptfile};" \
+ "run bootscript;" \
+ "fi;" \
+ "setenv scriptfile /boot/${script};" \
+ "if run loadbootscript; then " \
+ "echo Loaded script from ${scriptfile};" \
+ "run bootscript;" \
+ "fi;" \
"if run loadimage; then " \
"run mmcloados;" \
"fi;" \
@@ -187,9 +203,13 @@
#define CONFIG_BOOTCOMMAND \
"run findfdt; " \
"run mmcboot;" \
+ "setenv bootpart 0:1; " \
+ "run mmcboot;" \
"setenv mmcdev 1; " \
"setenv bootpart 1:2; " \
"run mmcboot;" \
+ "setenv bootpart 1:1; " \
+ "run mmcboot;" \
"run nandboot;"
/* NS16550 Configuration */
diff --git a/include/configs/guruplug.h b/include/configs/guruplug.h
index a56a4cb..23e00c2 100644
--- a/include/configs/guruplug.h
+++ b/include/configs/guruplug.h
@@ -26,6 +26,15 @@
* Commands configuration
*/
#define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_RBTREE
+#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_CMD_MTDPARTS
+#define CONFIG_LZO
+
#include <config_cmd_default.h>
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_ENV
@@ -91,4 +100,9 @@
#define CONFIG_SYS_ALT_MEMTEST
+#ifdef CONFIG_CMD_MMC
+#define CONFIG_MMC
+#define CONFIG_MV_SDIO
+#endif /* CONFIG_CMD_MMC */
+
#endif /* _CONFIG_GURUPLUG_H */
diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
index a74508c..36498ea 100644
--- a/include/configs/mx53loco.h
+++ b/include/configs/mx53loco.h
@@ -45,6 +45,8 @@
#define CONFIG_GENERIC_MMC
#define CONFIG_CMD_FAT
#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_EXT4
+#define CONFIG_CMD_FS_GENERIC
#define CONFIG_DOS_PARTITION
/* Eth Configs */
@@ -94,6 +96,7 @@
/* Command definition */
#include <config_cmd_default.h>
#define CONFIG_CMD_BOOTZ
+#define CONFIG_SUPPORT_RAW_INITRD
#undef CONFIG_CMD_IMLS
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index 982b689..8e1581e 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -135,6 +135,9 @@
#define CONFIG_CMD_BOOTMENU /* ANSI terminal Boot Menu */
#define CONFIG_CMD_CLEAR /* ANSI terminal clear screen command */
+#define CONFIG_CMD_BOOTZ /* boot zImage */
+#define CONFIG_SUPPORT_RAW_INITRD
+
#ifdef ONENAND_SUPPORT
#define CONFIG_CMD_ONENAND /* ONENAND support */
diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h
index 4747adf..842053d 100644
--- a/include/configs/sheevaplug.h
+++ b/include/configs/sheevaplug.h
@@ -29,6 +29,7 @@
#include <config_cmd_default.h>
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_ENV
+#define CONFIG_CMD_IDE
#define CONFIG_CMD_MII
#define CONFIG_CMD_MMC
#define CONFIG_CMD_NAND
@@ -105,4 +106,15 @@
#define CONFIG_CMD_MTDPARTS
#define CONFIG_LZO
+/*
+ * SATA driver configuration
+ */
+#ifdef CONFIG_CMD_IDE
+#define __io
+#define CONFIG_IDE_PREINIT
+#define CONFIG_DOS_PARTITION
+#define CONFIG_MVSATA_IDE_USE_PORT0
+#define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET
+#endif /* CONFIG_CMD_IDE */
+
#endif /* _CONFIG_SHEEVAPLUG_H */
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index 85171db..7d07bcd 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -174,6 +174,7 @@
#define CONFIG_CMD_ASKENV
#define CONFIG_CMD_ECHO
#define CONFIG_CMD_BOOTZ
+#define CONFIG_SUPPORT_RAW_INITRD
/*
* Common filesystems support. When we have removable storage we
diff --git a/include/configs/udoo.h b/include/configs/udoo.h
index 700e9c1..36f98dd 100644
--- a/include/configs/udoo.h
+++ b/include/configs/udoo.h
@@ -95,6 +95,8 @@
#define CONFIG_GENERIC_MMC
#define CONFIG_BOUNCE_BUFFER
#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_EXT4
+#define CONFIG_CMD_FS_GENERIC
#define CONFIG_CMD_FAT
#define CONFIG_DOS_PARTITION
@@ -130,12 +132,16 @@
"fi\0" \
"mmcargs=setenv bootargs console=${console},${baudrate} " \
"root=${mmcroot}\0" \
+ "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \
+ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \
+ "env import -t $loadaddr $filesize\0" \
"loadbootscript=" \
- "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
+ "load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
"bootscript=echo Running bootscript from mmc ...; " \
"source\0" \
- "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
+ "loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
+ "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \
+ "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
@@ -177,16 +183,32 @@
"fi;\0"
#define CONFIG_BOOTCOMMAND \
- "mmc dev ${mmcdev}; if mmc rescan; then " \
- "if run loadbootscript; then " \
- "run bootscript; " \
- "else " \
- "if run loadimage; then " \
- "run mmcboot; " \
- "else run netboot; " \
- "fi; " \
- "fi; " \
- "else run netboot; fi"
+ "mmc dev ${mmcdev};" \
+ "if mmc rescan; then " \
+ "echo SD/MMC found on device ${mmcdev};" \
+ "if run loadbootenv; then " \
+ "run importbootenv;" \
+ "fi;" \
+ "echo Checking if uenvcmd is set ...;" \
+ "if test -n $uenvcmd; then " \
+ "echo Running uenvcmd ...;" \
+ "run uenvcmd;" \
+ "fi;" \
+ "if run loadbootscript; then " \
+ "echo Running boot script ${script} ...;" \
+ "run bootscript; " \
+ "fi;" \
+ "setenv script /boot/${script};" \
+ "if run loadbootscript; then " \
+ "echo Running boot script ${script} ...;" \
+ "run bootscript; " \
+ "fi;" \
+ "echo Running default loadzimage ...;" \
+ "if run loadzimage; then " \
+ "run loadfdt;" \
+ "run mmcboot;" \
+ "fi;" \
+ "fi;"
/* Miscellaneous configurable options */
#define CONFIG_SYS_LONGHELP
@@ -228,6 +250,7 @@
#define CONFIG_OF_LIBFDT
#define CONFIG_CMD_BOOTZ
+#define CONFIG_SUPPORT_RAW_INITRD
#ifndef CONFIG_SYS_DCACHE_OFF
#define CONFIG_CMD_CACHE
diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h
index 7d96908..7e0ab94 100644
--- a/include/configs/wandboard.h
+++ b/include/configs/wandboard.h
@@ -76,6 +76,8 @@
#define CONFIG_BOUNCE_BUFFER
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_FAT
+#define CONFIG_CMD_EXT4
+#define CONFIG_CMD_FS_GENERIC
#define CONFIG_DOS_PARTITION
/* Ethernet Configuration */
@@ -172,12 +174,16 @@
"echo '- no FWBADAPT-7WVGA-LCD-F07A-0102 display';" \
"fi; " \
"setenv bootargs ${bootargs} ${fbmem}\0" \
+ "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \
+ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \
+ "env import -t $loadaddr $filesize\0" \
"loadbootscript=" \
- "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
+ "load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
"bootscript=echo Running bootscript from mmc ...; " \
"source\0" \
- "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
+ "loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
+ "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \
+ "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
"mmcboot=echo Booting from mmc ...; " \
"run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
@@ -219,16 +225,32 @@
"fi;\0"
#define CONFIG_BOOTCOMMAND \
- "mmc dev ${mmcdev}; if mmc rescan; then " \
- "if run loadbootscript; then " \
- "run bootscript; " \
- "else " \
- "if run loadimage; then " \
- "run mmcboot; " \
- "else run netboot; " \
- "fi; " \
- "fi; " \
- "else run netboot; fi"
+ "mmc dev ${mmcdev};" \
+ "if mmc rescan; then " \
+ "echo SD/MMC found on device ${mmcdev};" \
+ "if run loadbootenv; then " \
+ "run importbootenv;" \
+ "fi;" \
+ "echo Checking if uenvcmd is set ...;" \
+ "if test -n $uenvcmd; then " \
+ "echo Running uenvcmd ...;" \
+ "run uenvcmd;" \
+ "fi;" \
+ "if run loadbootscript; then " \
+ "echo Running boot script ${script} ...;" \
+ "run bootscript; " \
+ "fi;" \
+ "setenv script /boot/${script};" \
+ "if run loadbootscript; then " \
+ "echo Running boot script ${script} ...;" \
+ "run bootscript; " \
+ "fi;" \
+ "echo Running default loadzimage ...;" \
+ "if run loadzimage; then " \
+ "run loadfdt;" \
+ "run mmcboot;" \
+ "fi;" \
+ "fi;"
/* Miscellaneous configurable options */
#define CONFIG_SYS_LONGHELP
@@ -269,6 +291,7 @@
#define CONFIG_OF_LIBFDT
#define CONFIG_CMD_BOOTZ
+#define CONFIG_SUPPORT_RAW_INITRD
#ifndef CONFIG_SYS_DCACHE_OFF
#define CONFIG_CMD_CACHE
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 30d5b03..c54658f 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -20,6 +20,7 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <linux/kconfig.h>
#ifdef MTD_OLD
# include <stdint.h>
--
2.1.0
Reply to: