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 <pr...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot