[U-Boot] [PATCH 1/1] omap3evm: Support for fast boot

Sanjeev Premi premi at ti.com
Tue Oct 19 17:58:53 CEST 2010


Default configuration enables multiple features
that are great for intial development work. But
many of them are not useful when time taken to
boot kernel is important - and uboot is frozen.

This patch attempts to reduce the size of u-boot
binary by excluding unused/not-so-commonly used
features/commands. It allows initialization of
unused devices to be skipped.

Less time to load the binary and selective
initialization results in considerable reduction
in the boot time.

Signed-off-by: Sanjeev Premi <premi at ti.com>
---
 include/configs/omap3_evm.h |  138 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 138 insertions(+), 0 deletions(-)

diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
index cd38698..9a07d93 100644
--- a/include/configs/omap3_evm.h
+++ b/include/configs/omap3_evm.h
@@ -373,4 +373,142 @@ extern unsigned int boot_flash_type;
 #define CONFIG_BOOTP_HOSTNAME		0x00000004
 #define CONFIG_BOOTP_BOOTPATH		0x00000010
 
+/*
+ * Support for fast boot
+ *
+ * In default build, the feature is disabled. To use the feature:
+ * 1) Define CONFIG_FAST_BOOT
+ * 2) Select the device used as boot medium, by defining one of:
+ *    - CONFIG_FAST_BOOT_MMC
+ *    - CONFIG_FAST_BOOT_NAND
+ */
+#undef CONFIG_FAST_BOOT
+#undef CONFIG_FAST_BOOT_MMC
+#undef CONFIG_FAST_BOOT_NAND
+
+#ifdef CONFIG_FAST_BOOT
+	/*
+	 * Generic config options
+	 */
+	#ifndef CONFIG_SILENT_CONSOLE
+		#define CONFIG_SILENT_CONSOLE	1
+	#endif
+
+	#ifndef CONFIG_ENV_IS_NOWHERE
+		#define CONFIG_ENV_IS_NOWHERE	1
+	#endif
+
+	/*
+	 * Exclude unused/rarely used features.
+	 */
+	#undef CONFIG_SYS_LONGHELP
+	#undef CONFIG_SYS_HUSH_PARSER
+
+	#undef CONFIG_REVISION_TAG
+
+	#undef CONFIG_MD5
+	#undef CONFIG_SHA1
+	#undef CONFIG_BZIP2
+	#undef CONFIG_LZMA
+
+	#undef CONFIG_CMD_BDI
+	#undef CONFIG_CMD_BOOTD
+	#undef CONFIG_CMD_CONSOLE
+	#undef CONFIG_CMD_ECHO
+	#undef CONFIG_CMD_EDITENV
+	#undef CONFIG_CMD_FPGA
+	#undef CONFIG_CMD_IMI
+	#undef CONFIG_CMD_ITEST
+	#undef CONFIG_CMD_LOADB
+	#undef CONFIG_CMD_LOADS
+	#undef CONFIG_CMD_NET
+	#undef CONFIG_CMD_NFS
+	#undef CONFIG_CMD_SETGETDCR
+	#undef CONFIG_CMD_SOURCE
+	#undef CONFIG_CMD_XIMG
+	#undef CONFIG_CMD_FPGA
+	#undef CONFIG_CMD_IMLS
+	#undef CONFIG_CMD_FLASH
+	#undef CONFIG_CMD_EXT2
+	#undef CONFIG_CMD_USB
+
+	#undef CONFIG_NET_MULTI
+
+	#undef CONFIG_SMC911X
+
+	#undef CONFIG_OF_LIBFDT
+	#undef CONFIG_FIT
+
+	#undef CONFIG_EXTRA_ENV_SETTINGS
+	#define CONFIG_EXTRA_ENV_SETTINGS \
+		"verify=no\0" \
+		"bootfile=uImage\0"
+
+	#undef CONFIG_BOOTDELAY
+	#define CONFIG_BOOTDELAY	0
+
+	/*
+	 * Select options based on choice of boot medium.
+	 */
+	#ifdef CONFIG_FAST_BOOT_MMC
+		#undef CONFIG_NAND_OMAP_GPMC
+		#undef CONFIG_ENV_IS_IN_NAND
+		#undef CONFIG_CMD_NAND
+	#endif
+
+	#ifdef CONFIG_FAST_BOOT_MMC
+		#undef CONFIG_ENV_IS_IN_NAND
+		#undef CONFIG_CMD_NAND
+
+		#undef CONFIG_BOOTCOMMAND
+		#define CONFIG_BOOTCOMMAND			\
+			"mmc init; "				\
+			"fatload mmc 0 0x80000000 uImage; "	\
+			"bootm 0x80000000;"
+
+		#undef CONFIG_BOOTARGS
+		#define CONFIG_BOOTARGS			\
+			"console=ttyS0,115200n8 "	\
+			"mem=128M quiet noinitrd"	\
+			"root=/dev/mmcblk0p2 rw "	\
+			"rootfstype=ext3 rootwait "
+	#endif
+
+	#ifdef CONFIG_FAST_BOOT_NAND
+		# undef CONFIG_OMAP3_MMC
+		# undef CONFIG_CMD_MMC
+		# undef CONFIG_DOS_PARTITION
+		# undef CONFIG_CMD_FAT
+
+		#undef CONFIG_BOOTCOMMAND
+		#define CONFIG_BOOTCOMMAND		\
+			"nand read.i 0x80000000 280000 500000; " \
+			"bootm 0x80000000;"
+
+		#undef CONFIG_BOOTARGS
+		#define CONFIG_BOOTARGS			\
+			"console=ttyS0,115200n8 "	\
+			"mem=128M quiet noinitrd"	\
+			"root=/dev/mtdblock4 rw "	\
+			"rootfstype=jffs2 "
+	#endif
+
+	/*
+	 * Board specific features
+	 * Exclude not-so-common features
+	 */
+	#undef CONFIG_USB_OMAP3
+	#undef CONFIG_MUSB_HCD
+
+	#undef CONFIG_USB_STORAGE
+	#undef CONFIG_USB_KEYBOARD
+	#undef CONFIG_SYS_USB_EVENT_POLL
+	#undef CONFIG_PREBOOT
+
+	#undef CONFIG_MUSB_UDC
+	#undef CONFIG_USB_DEVICE
+	#undef CONFIG_USB_TTY
+
+#endif	/* #ifdef CONFIG_FAST_BOOT */
+
 #endif /* __CONFIG_H */
-- 
1.7.2.2



More information about the U-Boot mailing list