Implementation - Repositories and Branches

This is the specification that has been worked out according to the design on repositories and branches.

Textual Specification

The five repositories form the base structure which allows an independent management for the different products. Each repository holds the content necessary for building the product. The content will be processed by a central buildserver.

Repository Name Desired build output
linux-specs Linux-Kernel images, DeviceTreeBlobs, module archives
uboot-specs U-Boot image blobs
toolchain-specs Toolchain archives
rootfs-specs RootFS content archives
misc-specs Miscellaneous files archives (needed on boot and root partitions)

Visualization

This is a visualization of the relations between the different products and their corresponding repositories. It shall be used by Administrators and Users to understand the structure. The Administrator can learn how the repositories should be setup, and the User should be able to understand the importance of the different repositories and branches for the embEDUx project.

Repository structure

Footnotes

  1. Source branch

    Each version of the Linux kernel needs to have exactly one version_generic branch in the linux repository. Also for each version of U-Boot, exactly one version_generic branch is needed in the uboot repository.

  2. Platform branch

    For each platform there needs to be one version_platform branch in the linux, uboot and misc repository.

  3. RootFS repository

    For each RootFS -> architekture dependency (which can be directly inherited from the platform) there needs to be one branch.

  4. Toolchain repository

    For each architecture, there needs to be a toolchain branch in the toolchains repository. These toolchains are statically linked, so that everyone can use them on their own development system. Theoretically also a canadian toolchain can be possible.