Why Build Customized Ionic Images
Ionic consist of a core operating system and a number of software packages (hundreds if not thousands). Due to the fact that Ionic almost always run on extremely resource constrained devices, it is of course not possible to include even single imaginable feature in every Ionic build. It is possible to build a standardized stripped down core system and then at run-time install the packages necessary. This is however not an ideal approach as it wastes a lot of resources.
The root file system on an Ionic system is a combination of two other file systems:
/rom contains the root file system as it was build. /overlay contains later changes to the file system in /rom. In other words, when installing new software packages during run time, the content of those packages end up on the /overlay file system. This waste valuable resources and those changes are typically lost if the core /rom file system is ever upgraded.
Installing individual packages is perfectly ok during a testing phase, but once the necessary packages have been determined it is a much better approach to build a tailor made system containing those packages on the /rom file system.