This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EZSDK AM335x Boot Times

Dear TI,

I have done some experimenting with the Linux SDK for boot times.  I did not see any documentation on numbers but I have been getting around 7-8 seconds without ethernet enabled.  My product goals are to get to 1 to 3 seconds. I understand this is a vaque question, but have you seen these boot numbers for the Am335x running linux?  I saw a Sitara Boot Camp Training for implementing fast boot, but don't see any links to any documentation.

I am in a portable application with very simple interfaces needed.  I want to be able to boot off of NAND in 1 to 3 seconds with file systems fully mounted.  I wanted to see if anyone has done this before I put significant effort into mocking this up through modifcation of uboot and linux sources provided in the SDK.

Thanks,

Jason Haedt

  • Hi Jason,

    You may find section 11 of this document helpful (Page 157): http://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/am335x_linux/SLIDES_Intro_Embedded_Linux_3day_bw.pdf

    To be quite honest, 7-8 seconds is quite good.  I have been able to boot the kernel and mount the file system in about three seconds on an AM335x Starter Kit, but this required the removal of numerous kernel modules as well as the use of a RAM disk.  However, this was booting from an SD card; NAND should give you a boost.

    In general, the following things effect boot  time the most (although you are probably aware of this):

    1.     Startup (Init) Scripts.  The kernel boot process will load in services such as telnetd, thttpd, networking, mountnfs.  If you don’t need all of these at boot time, you can shave 15 seconds or so off the boot time.

    2.     Kernel Modules.  V4l2 (video for linux), dsp, ALSA (audio driver), can be made dynamic kernel modules instead of static (so that they load dynamically rather than at boot time).  This will shave off a few seconds.

    3.     U-boot.  This can be optimized by disabling networking altogether if not needed, only initializing as much DDR as is needed, removing the kernel checksum, removing the console, using a RAM disk, ect.

    4.     Using NAND flash instead of an SD card

    Reducing the file system size can help, but usually only by a small amount.  Turning of the U-boot / kernel console helps as well.

    The full training where I picked up this info can be found here: http://processors.wiki.ti.com/index.php/Introduction_to_Embedded_Linux_Three-Day_Workshop_%28AM335x%29

    I hope this helps give you some direction.  I think 3 seconds is achievable if you are using NAND and are running a bare bones system.

    Regards,
    Walter

  • Walter,

    This is a great summary.  I appreciate your support on this.  Thank you for your prompt response.

    -Jason