The Pedigree Project  0.1
Porting Pedigree to New Platforms

Pedigree can already run on multiple architectures and hardware platforms, and the work towards making this possible makes porting relatively simple.

Note: the assumption throughout this page is that you are porting to a new architecture and hardware platform at the same time. If you are porting to a target that can use an existing processor or hardware target, you can skip those steps.

Cross-Compiler

This is possibly the most complex part of the porting process. You will need to apply the Pedigree patches to a GCC compiler (ideally in something like a git repository), and then make the needed changes to support the [arch]-pedigree target you wish to add.

Then, you can update the patches with the now-larger diff and build a full toolchain.

src/system/kernel

See existing implementations in src/system/kernel/core/processor and src/system/kernel/machine for further guidance.

src/system/include

See existing implementations in src/system/include/processor and src/system/include/machine for further guidance.

src/modules/system/network-stack

src/subsys

Build System

Improvements

The amount of changes needed to make a port is currently rather large and messy, and we want to reduce this to make porting significantly easier. See https://www.pedigree-project.org/issues/7 to track our progress on this.