
I am trying to make uboot boot as fast as possible for my omap3 Overo board. I add the below to my config header file. Does anyone see anything I can add to it to make the build smaller and faster? Thank you.
#define CONFIG_FAST_BOOT #define CONFIG_FAST_BOOT_MMC //#define CONFIG_FAST_BOOT_NAND
#ifdef CONFIG_FAST_BOOT
#define CONFIG_SILENT_CONSOLE 1 #define CONFIG_ENV_IS_NOWHERE 1 #undef CONFIG_ENV_IS_IN_NAND
#undef CONFIG_SYS_LONGHELP #undef CONFIG_AUTO_COMPLETE #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_FLASH #undef CONFIG_CMD_IMI #undef CONFIG_CMD_IMLS #undef CONFIG_CMD_ITEST #undef CONFIG_CMD_LOADB #undef CONFIG_CMD_LOADS #undef CONFIG_CMD_MEMORY #undef CONFIG_CMD_MISC #undef CONFIG_CMD_NET #undef CONFIG_CMD_NFS #undef CONFIG_CMD_SETGETDCR #undef CONFIG_CMD_SOURCE #undef CONFIG_CMD_XIMG
#undef CONFIG_CMD_EXT2 #undef CONFIG_CMD_JFFS2 #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
#ifdef CONFIG_FAST_BOOT_MMC #undef CONFIG_SYS_NAND_QUIET_TEST #undef CONFIG_NAND_OMAP_GPMC #undef CONFIG_CMD_NAND
#undef CONFIG_BOOTCOMMAND #define CONFIG_BOOTCOMMAND \ "mmc rescan 0; " \ "fatload mmc 0 0x82000000 uImage; " \ "bootm 0x82000000;" #undef CONFIG_BOOTARGS #define CONFIG_BOOTARGS \ "console=ttyO2,115200n8 " \ "mpurate=600 " \ "quiet noinitrd " \ "root=/dev/mmcblk0p2 rw " \ "rootfstype=ext3 rootwait " #else #undef CONFIG_OMAP3_MMC #undef CONFIG_CMD_MMC #undef CONFIG_CMD_FAT //#undef CONFIG_DOS_PARTITION
#undef CONFIG_BOOTCOMMAND #define CONFIG_BOOTCOMMAND \ "nand read 0x82000000 280000 400000; " \ "bootm 0x82000000;"
#undef CONFIG_BOOTARGS #define CONFIG_BOOTARGS \ "console=ttyO2,115200n8 " \ "mpurate=600 " \ "quiet noinitrd " \ "root=ubi0:rootfs ubi.mtd=4 " \ "rootfstype=ubifs " #endif // #ifdef CONFIG_FAST_BOOT_MMC #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 // CONFIG_FAST_BOOT

-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] On Behalf Of dtran11 Sent: Monday, September 26, 2011 1:33 AM To: u-boot@lists.denx.de Subject: [U-Boot] Faster boot time
I am trying to make uboot boot as fast as possible for my omap3 Overo board. I add the below to my config header file. Does anyone see anything I can add to it to make the build smaller and faster? Thank you.
#define CONFIG_FAST_BOOT #define CONFIG_FAST_BOOT_MMC //#define CONFIG_FAST_BOOT_NAND
#ifdef CONFIG_FAST_BOOT
#define CONFIG_SILENT_CONSOLE 1 #define CONFIG_ENV_IS_NOWHERE 1 #undef CONFIG_ENV_IS_IN_NAND
#undef CONFIG_SYS_LONGHELP #undef CONFIG_AUTO_COMPLETE #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_FLASH #undef CONFIG_CMD_IMI #undef CONFIG_CMD_IMLS #undef CONFIG_CMD_ITEST #undef CONFIG_CMD_LOADB #undef CONFIG_CMD_LOADS #undef CONFIG_CMD_MEMORY #undef CONFIG_CMD_MISC #undef CONFIG_CMD_NET #undef CONFIG_CMD_NFS #undef CONFIG_CMD_SETGETDCR #undef CONFIG_CMD_SOURCE #undef CONFIG_CMD_XIMG
#undef CONFIG_CMD_EXT2 #undef CONFIG_CMD_JFFS2 #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
#ifdef CONFIG_FAST_BOOT_MMC #undef CONFIG_SYS_NAND_QUIET_TEST #undef CONFIG_NAND_OMAP_GPMC #undef CONFIG_CMD_NAND
#undef CONFIG_BOOTCOMMAND #define CONFIG_BOOTCOMMAND \ "mmc rescan 0; " \ "fatload mmc 0 0x82000000 uImage; " \ "bootm 0x82000000;" #undef CONFIG_BOOTARGS #define CONFIG_BOOTARGS \ "console=ttyO2,115200n8 " \ "mpurate=600 " \ "quiet noinitrd " \ "root=/dev/mmcblk0p2 rw " \ "rootfstype=ext3 rootwait "
#else #undef CONFIG_OMAP3_MMC #undef CONFIG_CMD_MMC #undef CONFIG_CMD_FAT //#undef CONFIG_DOS_PARTITION
#undef CONFIG_BOOTCOMMAND #define CONFIG_BOOTCOMMAND \ "nand read 0x82000000 280000 400000; " \ "bootm 0x82000000;" #undef CONFIG_BOOTARGS #define CONFIG_BOOTARGS \ "console=ttyO2,115200n8 " \ "mpurate=600 " \ "quiet noinitrd " \ "root=ubi0:rootfs ubi.mtd=4 " \ "rootfstype=ubifs "
#endif // #ifdef CONFIG_FAST_BOOT_MMC
#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 // CONFIG_FAST_BOOT
I haven't reviewed all the options in detail, but you can check this link where this topic is discussed in details. http://processors.wiki.ti.com/index.php/Optimize_Linux_Boot_Time
BTW, I have few patches ready to post, but ran into issues when booting Linux on omap3evm on FRI - even without these patches. Will try to fix it, before sending the patches tomorrow.
~sanjeev

On 09/25/2011 10:03 PM, dtran11 wrote:
I am trying to make uboot boot as fast as possible for my omap3 Overo board. I add the below to my config header file. Does anyone see anything I can add to it to make the build smaller and faster? Thank you.
[SNIP]
This may be of interest to you: http://article.gmane.org/gmane.comp.boot-loaders.u-boot/108814
But will take some hacking to adapt.
Regards Simon

What does SPL stand for again? It looks really interesting.
Thanks.
On Mon, Sep 26, 2011 at 3:56 AM, Simon Schwarz < simonschwarzcor@googlemail.com> wrote:
On 09/25/2011 10:03 PM, dtran11 wrote:
I am trying to make uboot boot as fast as possible for my omap3 Overo board. I add the below to my config header file. Does anyone see anything I can add to it to make the build smaller and faster? Thank you.
[SNIP]
This may be of interest to you: http://article.gmane.org/**gmane.comp.boot-loaders.u-**boot/108814http://article.gmane.org/gmane.comp.boot-loaders.u-boot/108814
But will take some hacking to adapt.
Regards Simon

Stands for Second Program Loader.
It loads the U-Boot and runs it - or with this patch a Linux Kernel.
Regards Simon
On 09/26/2011 02:30 PM, Dat Tran wrote:
What does SPL stand for again? It looks really interesting.
Thanks.
On Mon, Sep 26, 2011 at 3:56 AM, Simon Schwarz <simonschwarzcor@googlemail.com mailto:simonschwarzcor@googlemail.com> wrote:
On 09/25/2011 10:03 PM, dtran11 wrote: I am trying to make uboot boot as fast as possible for my omap3 Overo board. I add the below to my config header file. Does anyone see anything I can add to it to make the build smaller and faster? Thank you. [SNIP] This may be of interest to you: http://article.gmane.org/__gmane.comp.boot-loaders.u-__boot/108814 <http://article.gmane.org/gmane.comp.boot-loaders.u-boot/108814> But will take some hacking to adapt. Regards Simon

Sorry for my ignorance on this issue. My current system (Overo) does this when it boots:
ROM Code -> X-Load (MLO) -> U-Boot -> Linux Kernel -> Root File System
Does the SPL patch allow me to do this?:
ROM Code -> U-Boot (MLO) -> Linux Kernel -> Root File System
Also running the latest X-Loader 1.50 and U-Boot 2011.09-rc1, it takes about 2 seconds from power on to starting the Linux Kernel. My Kernel takes 1 second to load and my file system takes another 1.5 seconds for a total of 4.5 seconds from power on to the login prompt on serial. I assume the U-Boot-SPL will only speed up the first half of my boot time. If so, how much of a difference do you think I will see with this patch.
Thanks.
On Mon, Sep 26, 2011 at 7:40 AM, Simon Schwarz < simonschwarzcor@googlemail.com> wrote:
Stands for Second Program Loader.
It loads the U-Boot and runs it - or with this patch a Linux Kernel.
Regards Simon
On 09/26/2011 02:30 PM, Dat Tran wrote:
What does SPL stand for again? It looks really interesting.
Thanks.
On Mon, Sep 26, 2011 at 3:56 AM, Simon Schwarz <simonschwarzcor@googlemail.**com simonschwarzcor@googlemail.com<mailto: simonschwarzcor@**googlemail.com simonschwarzcor@googlemail.com>>
wrote:
On 09/25/2011 10:03 PM, dtran11 wrote:
I am trying to make uboot boot as fast as possible for my omap3 Overo board. I add the below to my config header file. Does anyone see anything I can add to it to make the build smaller and faster? Thank you.
[SNIP]
This may be of interest to you: http://article.gmane.org/__**gmane.comp.boot-loaders.u-__**boot/108814http://article.gmane.org/__gmane.comp.boot-loaders.u-__boot/108814 <http://article.gmane.org/**gmane.comp.boot-loaders.u-**boot/108814http://article.gmane.org/gmane.comp.boot-loaders.u-boot/108814
But will take some hacking to adapt.
Regards Simon

On 09/26/2011 04:30 PM, Dat Tran wrote:
Sorry for my ignorance on this issue. My current system (Overo) does this when it boots:
ROM Code -> X-Load (MLO) -> U-Boot -> Linux Kernel -> Root File System
Does the SPL patch allow me to do this?:
ROM Code -> U-Boot (MLO) -> Linux Kernel -> Root File System
^U-Boot SPL
Also running the latest X-Loader 1.50 and U-Boot 2011.09-rc1, it takes about 2 seconds from power on to starting the Linux Kernel. My Kernel takes 1 second to load and my file system takes another 1.5 seconds for a total of 4.5 seconds from power on to the login prompt on serial. I assume the U-Boot-SPL will only speed up the first half of my boot time.
correct.
If so, how much of a difference do you think I will see with this patch.
I can't say it for your case.
I did this on a devkit8000 loading from NAND. The U-Boot (unoptimized) took 3189 ms and Xloader took 1170 ms. By using the SPL this was reduced to 850 ms. Another patch I'am working on ATM is utilizing DMA to copy the Linux images - this reduces the time spend in SPL to 220 ms.
Thanks.
Regards Simon
On Mon, Sep 26, 2011 at 7:40 AM, Simon Schwarz <simonschwarzcor@googlemail.com mailto:simonschwarzcor@googlemail.com> wrote:
Stands for Second Program Loader. It loads the U-Boot and runs it - or with this patch a Linux Kernel. Regards Simon On 09/26/2011 02:30 PM, Dat Tran wrote: What does SPL stand for again? It looks really interesting. Thanks. On Mon, Sep 26, 2011 at 3:56 AM, Simon Schwarz <simonschwarzcor@googlemail.__com <mailto:simonschwarzcor@googlemail.com> <mailto:simonschwarzcor@__googlemail.com <mailto:simonschwarzcor@googlemail.com>>> wrote: On 09/25/2011 10:03 PM, dtran11 wrote: I am trying to make uboot boot as fast as possible for my omap3 Overo board. I add the below to my config header file. Does anyone see anything I can add to it to make the build smaller and faster? Thank you. [SNIP] This may be of interest to you: http://article.gmane.org/____gmane.comp.boot-loaders.u-____boot/108814 <http://article.gmane.org/__gmane.comp.boot-loaders.u-__boot/108814> <http://article.gmane.org/__gmane.comp.boot-loaders.u-__boot/108814 <http://article.gmane.org/gmane.comp.boot-loaders.u-boot/108814>> But will take some hacking to adapt. Regards Simon

That is amazing. I have been looking for this type of project for a long time. Thank you very much. I will start to look at your patches. Will the patches work well with the newer versions like U-Boot 2011.09 or later, or is there a more specific version you recommend. Thanks.
On Mon, Sep 26, 2011 at 10:32 AM, Simon Schwarz < simonschwarzcor@googlemail.com> wrote:
On 09/26/2011 04:30 PM, Dat Tran wrote:
Sorry for my ignorance on this issue. My current system (Overo) does this when it boots:
ROM Code -> X-Load (MLO) -> U-Boot -> Linux Kernel -> Root File System
Does the SPL patch allow me to do this?:
ROM Code -> U-Boot (MLO) -> Linux Kernel -> Root File System
^U-Boot SPL
Also running the latest X-Loader 1.50 and U-Boot 2011.09-rc1, it takes about 2 seconds from power on to starting the Linux Kernel. My Kernel takes 1 second to load and my file system takes another 1.5 seconds for a total of 4.5 seconds from power on to the login prompt on serial. I assume the U-Boot-SPL will only speed up the first half of my boot time.
correct.
If so, how much of a difference do you think I will see with this patch.
I can't say it for your case.
I did this on a devkit8000 loading from NAND. The U-Boot (unoptimized) took 3189 ms and Xloader took 1170 ms. By using the SPL this was reduced to 850 ms. Another patch I'am working on ATM is utilizing DMA to copy the Linux images - this reduces the time spend in SPL to 220 ms.
Thanks.
Regards Simon
On Mon, Sep 26, 2011 at 7:40 AM, Simon Schwarz
<simonschwarzcor@googlemail.**com simonschwarzcor@googlemail.com<mailto: simonschwarzcor@**googlemail.com simonschwarzcor@googlemail.com>> wrote:
Stands for Second Program Loader.
It loads the U-Boot and runs it - or with this patch a Linux Kernel.
Regards Simon
On 09/26/2011 02:30 PM, Dat Tran wrote:
What does SPL stand for again? It looks really interesting. Thanks. On Mon, Sep 26, 2011 at 3:56 AM, Simon Schwarz <simonschwarzcor@googlemail.__**com <mailto:simonschwarzcor@**googlemail.com<simonschwarzcor@googlemail.com>
<mailto:simonschwarzcor@__goog**lemail.com <http://googlemail.com> <mailto:simonschwarzcor@**googlemail.com<simonschwarzcor@googlemail.com>
wrote: On 09/25/2011 10:03 PM, dtran11 wrote: I am trying to make uboot boot as fast as possible for my omap3 Overo board. I add the below to my config header file. Does anyone see anything I can add to it to make the build smaller and faster? Thank you. [SNIP] This may be of interest to you: http://article.gmane.org/____**gmane.comp.boot-loaders.u-____**
boot/108814http://article.gmane.org/____gmane.comp.boot-loaders.u-____boot/108814 <http://article.gmane.org/__**gmane.comp.boot-loaders.u-__** boot/108814http://article.gmane.org/__gmane.comp.boot-loaders.u-__boot/108814
<http://article.gmane.org/__**gmane.comp.boot-loaders.u-__**
boot/108814http://article.gmane.org/__gmane.comp.boot-loaders.u-__boot/108814 <http://article.gmane.org/**gmane.comp.boot-loaders.u-** boot/108814http://article.gmane.org/gmane.comp.boot-loaders.u-boot/108814
But will take some hacking to adapt. Regards Simon

Dear Dat Tran,
In message CAMCSx6YwUFRTzpkOjKSbfDTk5_x4_HraSy_Naq2oy0+DpfR-GA@mail.gmail.com you wrote:
Also running the latest X-Loader 1.50 and U-Boot 2011.09-rc1, it takes about 2 seconds from power on to starting the Linux Kernel. My Kernel takes 1 second to load and my file system takes another 1.5 seconds for a total of 4.5 seconds from power on to the login prompt on serial. I assume the U-Boot-SPL will only speed up the first half of my boot time. If so, how much of a difference do you think I will see with this patch.
It may speed up more than just the first half, because, if done right, you will have the caches enabled in the new setup, which may speed up NAND loading by a factor of 10 or more...
Best regards,
Wolfgang Denk
participants (5)
-
Dat Tran
-
dtran11
-
Premi, Sanjeev
-
Simon Schwarz
-
Wolfgang Denk