The GrapheneOS sources are hosted in the GrapheneOS organization on GitHub. Since there are many repositories, this page aims to provide a guide for it. See the reporting issues section on the contact page for an comparable overview of where issues should be filed.
- Manifest for OS repositories
- Website repository
- Update server repository
- Utilities for setting up conservative non-leaf TLS pinning with backup pins
- Scripting for generating branding
The operating system source tree includes hundreds of repositories. Many of these are only used for debugging, testing or development and are not actually part of what gets used for building a production release. The manifest repository references all of these. Most of these are used unmodified from the Android Open Source Project (AOSP). A few dozen of the repositories including most of the core OS are either forked from AOSP or are unique to GrapheneOS. The operating system has a unified build system, but some components like Chromium are too complex to fit into it so they're included as prebuilts instead of porting them to the AOSP build system. This is also done for developer convenience and bootstrapping, to avoid needing to build all the native / cross-compilation toolchains for each host and target platform combination, etc. The prebuilts can all be built from source if desired. The build instructions will be expanded to cover all of this in the future.
Chromium needs to be included in the GrapheneOS source tree as a prebuilt before building. The GrapheneOS build metadata and patches are in the Vanadium repository. See the GrapheneOS building instructions for more details.
See https://attestation.app/source for the Auditor and AttestationServer sources. The latest release of the Auditor app is included in the GrapheneOS source tree as a prebuilt since it uses a different build system, similar to other prebuilts like Chromium.