RootFS Design

According to the requirements it needs to be possible to install various packages in the RootFS. Combined with the requirement for simple extension, the only sane design choice is to include a package management system. Basically, the following two types of package management systems exist.

Package Management System

For the embEDUx use-case, availability and compatibility are preferred over installation speed. This leads to the choice of a source based package installation based on the above comparison.

The choice of the source package management system should be evaluated carefully. Candidates shall be

List of Packages

For each build, a list of desired packages must be provided.

Configuration and compiler flags

The fact that a source based package management system will be chosen, should allow specification on configuration and compiler flags during the build process. These options shall be provided together with the package lists.

Cross Target Support

As stated in the identically named chapter on the buildserver page, a strategy for cross-building RootFS needs to be designed.

The following candidates are possible techniques and tools that need to be evaluated:

RootFS Build Automation Routine

The build process must include the following steps.

  1. Retrieve the build specifications from the RootFS-repository
  2. Parse the package list provided by the user
  3. Translate the package list into a format that is accepted by the package manager
  4. Cleanup the build files
  5. Create an archive from the RootFS