--- /dev/null
+Index: u-boot-2017.01/include/configs/ti_omap3_common.h
+===================================================================
+--- u-boot-2017.01.orig/include/configs/ti_omap3_common.h
++++ u-boot-2017.01/include/configs/ti_omap3_common.h
+@@ -80,4 +80,9 @@
+ /* Now bring in the rest of the common code. */
+ #include <configs/ti_armv7_omap.h>
+
++/* beagleboard doesnt boot with thumb */
++#ifdef CONFIG_SYS_THUMB_BUILD
++#undef CONFIG_SYS_THUMB_BUILD
++#endif
++
+ #endif /* __CONFIG_TI_OMAP3_COMMON_H__ */
--- /dev/null
+Index: u-boot-2017.01/configs/omap3_beagle_defconfig
+===================================================================
+--- u-boot-2017.01.orig/configs/omap3_beagle_defconfig
++++ u-boot-2017.01/configs/omap3_beagle_defconfig
+@@ -7,7 +7,7 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y
+ CONFIG_VERSION_VARIABLE=y
+ CONFIG_SPL=y
+ CONFIG_SPL_MTD_SUPPORT=y
+-CONFIG_SPL_OS_BOOT=y
++# CONFIG_SPL_EXT_SUPPORT is not set
+ # CONFIG_CMD_IMLS is not set
+ CONFIG_CMD_ASKENV=y
+ # CONFIG_CMD_FLASH is not set
+Index: u-boot-2017.01/common/Makefile
+===================================================================
+--- u-boot-2017.01.orig/common/Makefile
++++ u-boot-2017.01/common/Makefile
+@@ -174,8 +174,11 @@ obj-$(CONFIG_CMDLINE) += cli_simple.o
+ obj-y += cli.o
+ obj-$(CONFIG_CMDLINE) += cli_readline.o
+ obj-$(CONFIG_CMD_DFU) += dfu.o
++
++ifndef CONFIG_SPL_BUILD
+ obj-y += command.o
+ obj-y += s_record.o
+ obj-y += xyzModem.o
++endif
+
+ CFLAGS_env_embedded.o := -Wa,--no-warn -DENV_CRC=$(shell tools/envcrc 2>/dev/null)
+Index: u-boot-2017.01/cmd/Makefile
+===================================================================
+--- u-boot-2017.01.orig/cmd/Makefile
++++ u-boot-2017.01/cmd/Makefile
+@@ -161,7 +161,10 @@ endif # !CONFIG_SPL_BUILD
+
+ obj-$(CONFIG_CMD_BLOB) += blob.o
+
++
++# ifndef CONFIG_SPL_BUILD
+ # core command
+ obj-y += nvedit.o
++# endif # !CONFIG_SPL_BUILD
+
+ obj-$(CONFIG_ARCH_MVEBU) += mvebu/
--- /dev/null
+Index: u-boot-2017.01/fs/fat/Makefile
+===================================================================
+--- u-boot-2017.01.orig/fs/fat/Makefile
++++ u-boot-2017.01/fs/fat/Makefile
+@@ -4,8 +4,8 @@
+ #
+
+ obj-$(CONFIG_FS_FAT) := fat.o
+-obj-$(CONFIG_FAT_WRITE):= fat_write.o
+
+ ifndef CONFIG_SPL_BUILD
++obj-$(CONFIG_FAT_WRITE):= fat_write.o
+ obj-$(CONFIG_FS_FAT) += file.o
+ endif
+Index: u-boot-2017.01/fs/fat/fat.c
+===================================================================
+--- u-boot-2017.01.orig/fs/fat/fat.c
++++ u-boot-2017.01/fs/fat/fat.c
+@@ -163,7 +163,7 @@ static void get_name(dir_entry *dirent,
+ }
+
+ static int flush_dirty_fat_buffer(fsdata *mydata);
+-#if !defined(CONFIG_FAT_WRITE)
++#if !defined(CONFIG_FAT_WRITE) || defined(CONFIG_SPL_BUILD)
+ /* Stub for read only operation */
+ int flush_dirty_fat_buffer(fsdata *mydata)
+ {