Configure a Primary and Secondary IFS on the System

To start up as soon as possible, we recommend that you include only the necessary files (libraries, configuration files, device drivers, binaries, etc.) in the primary IFS. In general, the fewer components that you have in your IFS, the faster your system should boot.

If there are files that aren't required in an IFS, consider putting them in a filesystem that's mounted by the primary IFS. For more information about creating an IFS, see the Making an OS Image chapter in Building Embedded Systems and the mkifs entry in the Neutrino RTOS Utilities Reference.

Since the kernel and Screen won't run until the IPL (initial program loader) copies the primary IFS from flash memory into RAM, the smaller you make the IFS, the faster the copy operation is, and the sooner those components can begin to run.



Figure 1. Configure a primary and a secondary IFS on the system.
Here's a general guideline of what to put into the primary and secondary IFSs to optimize the boot time:

Other IFS considerations

Use eMMC (if supported on your target).

If your target supports it, we recommend that you put the IFS on the eMMC on your board. When the IFS is loaded from eMMC, the bootup time is generally faster than, say, from an SD card only. For more information on how to copy an IFS to the eMMC, see the BSP User's Guide for your platform.

Start applications from the boot script.

If you aren't able to achieve a desirable boot time by starting the Camera service and your camera application from the System Launch Monitor (SLM), you could try loading and starting them both in the boot script by including the required binaries and libraries in the primary IFS. However, keep in mind that including more binaries and libraries in your primary IFS increases its size. It may take longer for the IPL to copy a larger primary IFS from flash into RAM. You need to measure your time savings and determine whether this optimization is beneficial to the boot time for your system.