On 2015-03-24, and...@inversepath.com wrote:
> Add support for Inverse Path USB armory board, an open source
> flash-drive sized computer based on Freescale i.MX53 SoC.

Thanks!

Unfortunately, this fails to build with numerous errors such as:

  CC      arch/arm/lib/asm-offsets.s
In file included from include/config.h:6:0,
                 from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/common.h:18,
                 from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/lib/asm-offsets.c:15:
/«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/configs/usbarmory.h:86:0: warning: 
"CONFIG_BOOTCOMMAND" redefined
 #define CONFIG_BOOTCOMMAND \
 ^
In file included from 
/«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/configs/usbarmory.h:27:0,
                 from include/config.h:6,
                 from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/common.h:18,
                 from /«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/lib/asm-offsets.c:15:
/«BUILDDIR»/u-boot-2015.04~rc4+dfsg1/include/config_distro_bootcmd.h:232:0: 
note: this is the location of the previous definition
 #define CONFIG_BOOTCOMMAND "run distro_bootcmd"
 ^

It is caused by including config_distro_bootcmd.h too early, and
config_distro_bootcmd.h defines CONFIG_BOOTCOMMAND before it is set in
include/configs/usbarmory.h.

The include for config_distro_bootcmd.h should be *after*
CONFIG_BOOTCOMMAND and BOOT_TARGET_DEVICES are defined, at least. There
are also other conditionals that may be impacted but are more subtle.

So here's a tested trivial patch to fix that:

Index: u-boot/include/configs/usbarmory.h
===================================================================
--- u-boot.orig/include/configs/usbarmory.h
+++ u-boot/include/configs/usbarmory.h
@@ -24,7 +24,6 @@
 #include <config_cmd_default.h>
 
 #include <config_distro_defaults.h>
-#include <config_distro_bootcmd.h>
 
 /* U-Boot commands */
 #define CONFIG_CMD_MEMTEST
@@ -92,6 +91,8 @@
 #define BOOT_TARGET_DEVICES(func) \
        func(MMC, mmc, 0)
 
+#include <config_distro_bootcmd.h>
+
 #define MEM_LAYOUT_ENV_SETTINGS \
        "kernel_addr_r=0x70800000\0" \
        "fdt_addr_r=0x71000000\0" \


I'd like to propose only setting bootargs when the default action is
kicking in to allow for a different root device, or root device
discovery from an initramfs, or boot scripts, etc... Something along
these lines (untested):

Index: u-boot/include/configs/usbarmory.h
===================================================================
--- u-boot.orig/include/configs/usbarmory.h
+++ u-boot/include/configs/usbarmory.h
@@ -80,10 +80,9 @@
 #define CONFIG_SYS_TEXT_BASE   0x77800000
 #define CONFIG_SYS_LOAD_ADDR   CONFIG_LOADADDR
 #define CONFIG_HOSTNAME                usbarmory
-#define CONFIG_BOOTARGS \
-       "console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw"
 #define CONFIG_BOOTCOMMAND \
        "run distro_bootcmd; " \
+       "setenv bootargs console=${console} ${bootargs_default}; " \
        "ext2load mmc 0:1 ${kernel_addr_r} /boot/uImage; " \
        "ext2load mmc 0:1 ${fdt_addr_r} /boot/${fdtfile}; " \
        "bootm ${kernel_addr_r} - ${fdt_addr_r}"
@@ -102,6 +101,7 @@
 
 #define CONFIG_EXTRA_ENV_SETTINGS      \
        MEM_LAYOUT_ENV_SETTINGS         \
+       "bootargs_default=root=/dev/mmcblk0p1 rootwait rw\0" \
        "fdtfile=imx53-usbarmory.dtb\0" \
        "console=ttymxc0,115200\0"      \
        BOOTENV


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to