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

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@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 */

On Tue, Oct 19, 2010, Sanjeev Premi wrote:
+#undef CONFIG_FAST_BOOT
I wonder whether CONFIG_FAST_BOOT would cause confusion if u-boot gains support for Android fastboot someday?
http://en.wikipedia.org/wiki/Fastboot http://android-dls.com/wiki/index.php?title=Fastboot

-----Original Message----- From: Loïc Minier [mailto:lool@dooz.org] Sent: Tuesday, October 19, 2010 10:14 PM To: Premi, Sanjeev Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] [PATCH 1/1] omap3evm: Support for fast boot
On Tue, Oct 19, 2010, Sanjeev Premi wrote:
+#undef CONFIG_FAST_BOOT
I wonder whether CONFIG_FAST_BOOT would cause confusion if u-boot gains support for Android fastboot someday?
http://en.wikipedia.org/wiki/Fastboot http://android-dls.com/wiki/index.php?title=Fastboot
[sp] The intent here is to boot faster - hence the name. Wasn't aware of any Android overlap.
How about any of these: - CONFIG_SMALL_SIZE - CONFIG_FASTER_BOOT :) ^^ Any other suggestions?
~sanjeev
-- Loïc Minier

-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Premi, Sanjeev Sent: Tuesday, October 19, 2010 10:25 PM To: Loïc Minier Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] [PATCH 1/1] omap3evm: Support for fast boot
-----Original Message----- From: Loïc Minier [mailto:lool@dooz.org] Sent: Tuesday, October 19, 2010 10:14 PM To: Premi, Sanjeev Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] [PATCH 1/1] omap3evm: Support for fast boot
On Tue, Oct 19, 2010, Sanjeev Premi wrote:
+#undef CONFIG_FAST_BOOT
I wonder whether CONFIG_FAST_BOOT would cause confusion if u-boot gains support for Android fastboot someday?
http://en.wikipedia.org/wiki/Fastboot http://android-dls.com/wiki/index.php?title=Fastboot
[sp] The intent here is to boot faster - hence the name. Wasn't aware of any Android overlap.
How about any of these: - CONFIG_SMALL_SIZE - CONFIG_FASTER_BOOT :) ^^ Any other suggestions?
[sp] Didn't hear any other suggestions. But I had one more, CONFIG_QUICK_BOOT.
Loic, does this seem okay?
~sanjeev
~sanjeev
-- Loïc Minier
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Tue, Oct 26, 2010, Premi, Sanjeev wrote:
[sp] Didn't hear any other suggestions. But I had one more, CONFIG_QUICK_BOOT.
I don't have a strong feeling either way; I just wanted "fastboot" to be used in a confusing way. Your patch seems to be largely a tuned u-boot config stripping down u-boot to be smaller and faster; I'm not sure whether there's anything similar in u-boot.
participants (3)
-
Loïc Minier
-
Premi, Sanjeev
-
Sanjeev Premi