Source code
GrapheneOS is an open source project with an open development process.
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.
GrapheneOS
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.
For a full list of the repositories in the OS source tree, look at the default.xml list in the manifest repository.
GrapheneOS forks of AOSP source tree repositories:
- device_common
- device_generic_goldfish
- device_google_akita
- device_google_bluejay
- device_google_caimito
- device_google_comet
- device_google_felix
- device_google_gs-common
- device_google_gs101
- device_google_gs101-sepolicy
- device_google_gs201
- device_google_gs201-sepolicy
- device_google_lynx
- device_google_pantah
- device_google_raviole
- device_google_shusky
- device_google_tangorpro
- device_google_zuma
- device_google_zuma-sepolicy
- device_google_zumapro
- device_google_zumapro-sepolicy
- kernel_configs: Base and recommended kernel configurations. The base configurations are enforced by the VTS and are modified to permit GrapheneOS changes.
- platform_art
- platform_bionic
- platform_bootable_recovery
- platform_build
- platform_build_release
- platform_build_soong
- platform_development
- platform_external_boringssl
- platform_external_conscrypt
- platform_external_selinux
- platform_frameworks_base
- platform_frameworks_libs_systemui
- platform_frameworks_native
- platform_frameworks_opt_net_wifi
- platform_frameworks_opt_telephony
- platform_hardware_google_pixel
- platform_hardware_google_pixel-sepolicy
- platform_hardware_interfaces
- platform_libcore
- platform_manifest: Manifest for OS repositories
- platform_packages_apps_Calendar
- platform_packages_apps_CellBroadcastReceiver
- platform_packages_apps_Contacts
- platform_packages_apps_DeskClock
- platform_packages_apps_Dialer
- platform_packages_apps_DocumentsUI
- platform_packages_apps_EmergencyInfo
- platform_packages_apps_Gallery2
- platform_packages_apps_Launcher3
- platform_packages_apps_Messaging
- platform_packages_apps_Nfc
- platform_packages_apps_Settings
- platform_packages_apps_SettingsIntelligence
- platform_packages_apps_StorageManager
- platform_packages_apps_ThemePicker
- platform_packages_apps_WallpaperPicker2
- platform_packages_inputmethods_LatinIME
- platform_packages_modules_Bluetooth
- platform_packages_modules_common
- platform_packages_modules_ConfigInfrastructure
- platform_packages_modules_Connectivity
- platform_packages_modules_DnsResolver
- platform_packages_modules_HealthFitness
- platform_packages_modules_NetworkStack
- platform_packages_modules_Permission
- platform_packages_modules_RemoteKeyProvisioning
- platform_packages_modules_Uwb
- platform_packages_modules_Virtualization
- platform_packages_modules_Wifi
- platform_packages_providers_ContactsProvider
- platform_packages_providers_DownloadProvider
- platform_packages_providers_MediaProvider
- platform_packages_services_Mms
- platform_packages_services_Telecomm
- platform_packages_services_Telephony
- platform_prebuilts_abi-dumps_platform
- platform_prebuilts_abi-dumps_vndk
- platform_system_core
- platform_system_extras
- platform_system_librustutils
- platform_system_logging
- platform_system_netd
- platform_system_sepolicy
- platform_system_vold
GrapheneOS forks of AOSP kernel prebuilt repositories with the builds replaced with the GrapheneOS kernels built from the source repositories listed in the next section:
- device_google_raviole-kernel: Pixel 6 and Pixel 6 Pro kernel prebuilts.
- device_google_bluejay-kernel: Pixel 6a kernel prebuilts.
- device_google_pantah-kernel: Pixel 7 and Pixel 7 Pro kernel prebuilts.
- device_google_lynx-kernel: Pixel 7a kernel prebuilts.
- device_google_tangorpro-kernel: Pixel Tablet kernel prebuilts.
- device_google_felix-kernel: Pixel Fold kernel prebuilts.
- device_google_shusky-kernel: Pixel 8 and Pixel 8 Pro kernel prebuilts.
- device_google_akita-kernel: Pixel 8a kernel prebuilts.
GrapheneOS forks of AOSP kernel repositories:
- kernel_manifest-5.10: Kernel manifest for the Generic Linux 5.10 kernel.
- kernel_common-5.10: Generic Linux 5.10 kernel sources.
- kernel_manifest-5.15: Kernel manifest for the Generic Linux 5.15 kernel.
- kernel_common-5.15: Generic Linux 5.15 kernel sources.
- kernel_manifest-6.1: Kernel manifest for the Generic Linux 6.1 kernel.
- kernel_common-6.1: Generic Linux 6.1 kernel sources.
- kernel_manifest-6.6: Kernel manifest for the Generic Linux 6.6 kernel.
- kernel_common-6.6: Generic Linux 6.6 kernel sources.
- kernel_manifest-gs: Kernel manifest for the Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet and Pixel Fold.
- kernel_build-gs: Kernel build system for the Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet and Pixel Fold.
- kernel_devices_google_tangorpro: Kernel setup for the Pixel Tablet.
- kernel_gs: Kernel sources for the Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet and Pixel Fold. These sources are only used to build device-specific modules. The Generic Kernel Image is built from the common kernel.
- kernel_google-modules_amplifiers-gs: Kernel amplifier drivers for the Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet and Pixel Fold.
- kernel_google-modules_power_reset-gs: Kernel reset driver for the Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet and Pixel Fold.
- kernel_google-modules_wlan_bcmdhd_bcm4389: Kernel Wi-Fi/Bluetooth driver for the Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro and Pixel Fold.
- kernel_manifest-zuma: Kernel manifest for the Pixel 8, Pixel 8 Pro and Pixel 8a.
- kernel_build-zuma: Kernel build system for the Pixel 8, Pixel 8 Pro and Pixel 8a.
- kernel_devices_google_akita: Kernel setup for the Pixel 8a.
- kernel_devices_google_shusky: Kernel setup for the Pixel 8 and Pixel 8 Pro.
- kernel_google-modules_amplifiers-zuma: Kernel amplifier drivers for the Pixel 8, Pixel 8 Pro and Pixel 8a.
- kernel_google-modules_power_reset-zuma: Kernel reset driver for the Pixel 8, Pixel 8 Pro and Pixel 8a.
- kernel_google-modules_soc_gs: Kernel SoC driver for the Pixel 8, Pixel 8 Pro and Pixel 8a.
- kernel_google-modules_wlan_bcmdhd_bcm4383: Kernel Wi-Fi/Bluetooth driver for the Pixel 8a.
- kernel_google-modules_wlan_bcmdhd_bcm4398: Kernel Wi-Fi/Bluetooth driver for the Pixel 8 and Pixel 8 Pro.
- kernel_manifest-zumapro: Kernel manifest for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
- kernel_build-zumapro: Kernel build system for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
- kernel_devices_google_caimito: Kernel setup for the Pixel 9, Pixel 9 Pro and Pixel 9 Pro XL.
- kernel_devices_google_comet: Kernel setup for the Pixel 9 Pro Fold.
- kernel_google-modules_amplifiers-zumapro: Kernel amplifier drivers for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
- kernel_google-modules_bms-zumaproKernel Battery Management System (BMS) driver for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
- kernel_google-modules_edgetpu_rioKernel TPU driver for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
- kernel_google-modules_gxp_zuma: Kernel GXP driver for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
- kernel_google-modules_power_reset-zumapro: Kernel reset driver for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
- kernel_google-modules_soc_gs-zumapro: Kernel SoC driver for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
- kernel_google-modules_wlan_bcmdhd_bcm4390: Kernel Wi-Fi/Bluetooth driver for the Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL and Pixel 9 Pro Fold.
Repositories added by GrapheneOS:
- adevtool
- branding
- hardened_malloc
- platform_external_AppStore: App Store prebuilt
- platform_external_Auditor: Auditor app prebuilt
- platform_external_Camera: Camera app prebuilt
- platform_external_GmsCompatConfig
- platform_external_Info
- platform_external_PdfViewer: PDF Viewer app prebuilt
- platform_external_seedvault
- platform_external_talkback: TalkBack app (GrapheneOS fork) prebuilt
- platform_external_vanadium: Vanadium browser, WebView and library prebuilts
- platform_packages_apps_CarrierConfig2
- platform_packages_apps_ExactCalculator
- platform_packages_apps_GmsCompat
- platform_packages_apps_LogViewer
- platform_packages_apps_SetupWizard2
- platform_packages_apps_Updater: OS update client
- script
- vendor_state
Standalone apps
These are standalone app projects developed by GrapheneOS and included in the OS. This does not include the many apps included by AOSP without modifications by GrapheneOS or with only minor modifications.
Services
- infrastructure: Shared server infrastructure
- AttestationServer: attestation.app remote attestation server
- grapheneos.org: Main website servers
- releases.grapheneos.org: OS update and app repository servers
- apps.grapheneos.org: Application repository
- grapheneos.network: Servers for HTTP/HTTPS connectivity checks, HTTPS network time, NTP (for Qualcomm XTRA), Broadcom PSDS cache, Samsung PSDS cache, Qualcomm PSDS (XTRA) cache, SUPL proxy, attestation key provisioning proxy and Vanadium component update check/download proxy
- mail.grapheneos.org: Mail server
- matrix.grapheneos.org: Matrix and Element Web server
- ns1.grapheneos.org: Authoritative DNS servers
- discuss.grapheneos.org: Discussion forum server
- grapheneos.social: Mastodon instance
Utilities
- tls-pinning: Utilities for setting up conservative non-leaf TLS pinning with backup pins
- branding-tools: Scripting for generating branding
Archive
An archive of legacy repositories is available via the GrapheneOS Archive organization. This only covers repositories archives after renaming the project to GrapheneOS. Earlier code is mostly not available via GitHub anymore due to the unfortunate events leading to the rename of the project.