Development

The Genode OS framework is accompanied by a scalable build system and tooling infrastructure that is designed for the creation of highly modular and portable systems software. Understanding the underlying concepts is important for leveraging the full potential of the framework. This chapter complements Chapter Getting started with the explanation of the coarse-grained source-tree structure (Section Source-code repositories), the integration of 3rd-party software (Section Integration of 3rd-party software), the build system (Section Build system), and system-integration tools (Section System integration and automated testing). Furthermore, it describes the project's development process in Section Git flow.

Content:

  1. Source-code repositories
  2. Integration of 3rd-party software
  3. Build system
    1. Build directories
    2. Target descriptions
    3. Library descriptions
    4. Platform specifications
    5. Building tools to be executed on the host platform
    6. Building 3rd-party software
  4. System integration and automated testing
    1. Run tool
    2. Run-tool configuration examples
    3. Meaningful default behaviour
    4. Run scripts
    5. The run mechanism explained
    6. Using run scripts to implement integration tests
    7. Automated testing across base platforms
  5. Package management
    1. Nomenclature
    2. Depot structure
    3. Depot management
    4. Automated extraction of archives from the source tree
    5. Convenience front-end to the extract, build tools
    6. Accessing depot content from run scripts
  6. Static code analysis
  7. Git flow
    1. Master and staging
    2. Development practice