Image Filesystem (IFS)

When the IPL has completed its work, it copies a bootable OS image into RAM and jumps to it to continue execution.

An OS image is simply a file that contains the OS, plus any executables, OS modules, and data files needed to get the system running properly. This image is presented in an image filesystem (IFS), which consists of:

Note: A system can have more than one IFS. For example, you can have a primary IFS, which includes the OS kernel and just the libraries, drivers, configuration files, and applications required to get an essential service, such as a camera, running as quickly as possible. A secondary IFS includes the rest of the system, which is loaded after the essential applications are running. For more information, see Combining multiple image files in the OS Images chapter, and the Boot Optimization Guide.

IFS copy and decompression

Drivers and applications that may be needed later but are not required at the outset may be included in the IFS, or left out and started at another time by a mechanism such as the SLM service (see System Launch and Monitor (SLM)).

The time needed to copy the IFS into RAM varies according to the IFS contents (and hence, size). It is usually the longest part of the kernel boot process. In extreme cases, where the system contains a very large image and has no filesystem other than the IFS, this stage can take several seconds.

You can reduce the time required for this phase of the boot process, albeit indirectly, by reducing the IFS size and writing a simple script that loads and launches applications and services at a later time. For more information on reducing the time it takes to boot, see the Boot Optimization Guide.

To add, remove, or configure files stored in the IFS, edit the buildfile, or use the system builder tool in the IDE (see Boot scripts in this chapter and the OS Image Buildfiles chapter).

You can also compress the OS image to make the IFS smaller. A compressed image adds to the boot time because of the time needed for decompression, but you can reduce this time by enabling the cache in the IPL. Whatever strategy you choose, you should experiment to discover which technique provides optimal performance, as you define it for your system.