hakurei.app/static/source.html

280 lines
23 KiB
HTML

<!DOCTYPE html>
<html lang="en" prefix="og: https://ogp.me/ns#">
<head>
<meta charset="utf-8"/>
<title>Source code | GrapheneOS</title>
<meta name="description" content="Source code for GrapheneOS."/>
<meta name="theme-color" content="#212121"/>
<meta name="color-scheme" content="dark light"/>
<meta name="msapplication-TileColor" content="#ffffff"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="twitter:site" content="@GrapheneOS"/>
<meta name="twitter:creator" content="@GrapheneOS"/>
<meta property="og:title" content="GrapheneOS source code"/>
<meta property="og:description" content="Source code for GrapheneOS."/>
<meta property="og:type" content="website"/>
<meta property="og:image" content="https://grapheneos.org/opengraph.png"/>
<meta property="og:image:width" content="512"/>
<meta property="og:image:height" content="512"/>
<meta property="og:image:alt" content="GrapheneOS logo"/>
<meta property="og:site_name" content="GrapheneOS"/>
<meta property="og:url" content="https://grapheneos.org/source"/>
<link rel="canonical" href="https://grapheneos.org/source"/>
<link rel="icon" href="/favicon.ico"/>
<link rel="icon" sizes="any" type="image/svg+xml" href="/favicon.svg"/>
<link rel="mask-icon" href="{{path|/mask-icon.svg}}" color="#1a1a1a"/>
<link rel="apple-touch-icon" href="/apple-touch-icon.png"/>
{{css|/main.css}}
<link rel="manifest" href="/manifest.webmanifest"/>
<link rel="license" href="/LICENSE.txt"/>
</head>
<body>
<header>
<nav id="site-menu">
<ul>
<li><a href="/"><img src="{{path|/mask-icon.svg}}" alt=""/>GrapheneOS</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/install/">Install</a></li>
<li><a href="/build">Build</a></li>
<li><a href="/usage">Usage</a></li>
<li><a href="/faq">FAQ</a></li>
<li><a href="/releases">Releases</a></li>
<li aria-current="page"><a href="/source">Source</a></li>
<li><a href="/history/">History</a></li>
<li><a href="/articles/">Articles</a></li>
<li><a href="/donate">Donate</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</nav>
</header>
<main id="source">
<h1><a href="#source">Source code</a></h1>
<p>GrapheneOS is an <a href="https://opensource.org/osd">open source</a> project with
an open development process.</p>
<p>The GrapheneOS sources are hosted in the
<a href="https://github.com/GrapheneOS">GrapheneOS organization on GitHub</a>. Since
there are many repositories, this page aims to provide a guide for it. See the
<a href="/contact#reporting-issues">reporting issues section on the contact page</a>
for an comparable overview of where issues should be filed.</p>
<nav id="table-of-contents">
<h2><a href="#table-of-contents">Table of contents</a></h2>
<ul>
<li><a href="#grapheneos">GrapheneOS</a></li>
<li><a href="#standalone-apps">Standalone apps</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#utilities">Utilities</a></li>
<li><a href="#archive">Archive</a></li>
</ul>
</nav>
<section id="grapheneos">
<h2><a href="#grapheneos">GrapheneOS</a></h2>
<p>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.</p>
<p>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.</p>
<p>For a full list of the repositories in the OS source tree, look at the
<a href="https://github.com/GrapheneOS/platform_manifest/blob/13/default.xml">default.xml
list in the manifest repository</a>.</p>
<p>GrapheneOS forks of AOSP source tree repositories:</p>
<ul>
<li><a href="https://github.com/GrapheneOS/device_common">device_common</a></li>
<li><a href="https://github.com/GrapheneOS/device_generic_goldfish">device_generic_goldfish</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_barbet">device_google_barbet</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_bluejay">device_google_bluejay</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_bramble">device_google_bramble</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_coral">device_google_coral</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_coral-sepolicy">device_google_coral-sepolicy</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_gs101">device_google_gs101</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_gs101-sepolicy">device_google_gs101-sepolicy</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_raviole">device_google_raviole</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_redbull">device_google_redbull</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_redbull-sepolicy">device_google_redbull-sepolicy</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_redfin">device_google_redfin</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_sunfish">device_google_sunfish</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_sunfish-sepolicy">device_google_sunfish-sepolicy</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_configs">kernel_configs</a></li>
<li><a href="https://github.com/GrapheneOS/platform_art">platform_art</a></li>
<li><a href="https://github.com/GrapheneOS/platform_bionic">platform_bionic</a></li>
<li><a href="https://github.com/GrapheneOS/platform_bootable_recovery">platform_bootable_recovery</a></li>
<li><a href="https://github.com/GrapheneOS/platform_build">platform_build</a></li>
<li><a href="https://github.com/GrapheneOS/platform_build_soong">platform_build_soong</a></li>
<li><a href="https://github.com/GrapheneOS/platform_development">platform_development</a></li>
<li><a href="https://github.com/GrapheneOS/platform_external_android-nn-driver">platform_external_android-nn-driver</a></li>
<li><a href="https://github.com/GrapheneOS/platform_external_armnn">platform_external_armnn</a></li>
<li><a href="https://github.com/GrapheneOS/platform_external_conscrypt">platform_external_conscrypt</a></li>
<li><a href="https://github.com/GrapheneOS/platform_frameworks_base">platform_frameworks_base</a></li>
<li><a href="https://github.com/GrapheneOS/platform_frameworks_ex">platform_frameworks_ex</a></li>
<li><a href="https://github.com/GrapheneOS/platform_frameworks_libs_systemui">platform_frameworks_libs_systemui</a></li>
<li><a href="https://github.com/GrapheneOS/platform_frameworks_native">platform_frameworks_native</a></li>
<li><a href="https://github.com/GrapheneOS/platform_frameworks_opt_net_wifi">platform_frameworks_opt_net_wifi</a></li>
<li><a href="https://github.com/GrapheneOS/platform_hardware_google_pixel-sepolicy">platform_hardware_google_pixel-sepolicy</a></li>
<li><a href="https://github.com/GrapheneOS/platform_libcore">platform_libcore</a></li>
<li><a href="https://github.com/GrapheneOS/platform_manifest">platform_manifest</a>: Manifest for OS repositories</li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Calendar">platform_packages_apps_Calendar</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_CarrierConfig">platform_packages_apps_CarrierConfig</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Contacts">platform_packages_apps_Contacts</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_DeskClock">platform_packages_apps_DeskClock</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Dialer">platform_packages_apps_Dialer</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_DocumentsUI">platform_packages_apps_DocumentsUI</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_EmergencyInfo">platform_packages_apps_EmergencyInfo</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Gallery2">platform_packages_apps_Gallery2</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Launcher3">platform_packages_apps_Launcher3</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Nfc">platform_packages_apps_Nfc</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Messaging">platform_packages_apps_Messaging</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_QuickSearchBox">platform_packages_apps_QuickSearchBox</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_RemoteProvisioner">platform_packages_apps_RemoteProvisioner</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Settings">platform_packages_apps_Settings</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_SettingsIntelligence">platform_packages_apps_SettingsIntelligence</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_ThemePicker">platform_packages_apps_ThemePicker</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_WallpaperPicker2">platform_packages_apps_WallpaperPicker2</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_inputmethods_LatinIME">platform_packages_inputmethods_LatinIME</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_modules_Bluetooth">platform_packages_modules_Bluetooth</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_modules_Connectivity">platform_packages_modules_Connectivity</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_modules_common">platform_packages_modules_common</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_modules_NetworkStack">platform_packages_modules_NetworkStack</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_modules_Permission">platform_packages_modules_Permission</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_modules_Wifi">platform_packages_modules_Wifi</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_providers_DownloadProvider">platform_packages_providers_DownloadProvider</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_providers_MediaProvider">platform_packages_providers_MediaProvider</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_providers_TelephonyProvider">platform_packages_providers_TelephonyProvider</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_services_Telephony">platform_packages_services_Telephony</a></li>
<li><a href="https://github.com/GrapheneOS/platform_system_core">platform_system_core</a></li>
<li><a href="https://github.com/GrapheneOS/platform_system_extras">platform_system_extras</a></li>
<li><a href="https://github.com/GrapheneOS/platform_system_netd">platform_system_netd</a></li>
<li><a href="https://github.com/GrapheneOS/platform_system_sepolicy">platform_system_sepolicy</a></li>
</ul>
<p>GrapheneOS forks of AOSP kernel repositories (not normally part of the main AOSP source tree):</p>
<ul>
<li><a href="https://github.com/GrapheneOS/raviole_kernel_build">raviole_kernel_build</a></li>
<li><a href="https://github.com/GrapheneOS/raviole_kernel_manifest">raviole_kernel_manifest</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_common_5.10">kernel_common_5.10</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_coral">kernel_google_coral</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_coral_drivers_staging_qcacld-3.0">kernel_google_coral_drivers_staging_qcacld-3.0</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_coral_drivers_input_touchscreen_fts_touch_s5">kernel_google_coral_drivers_input_touchscreen_fts_touch_s5</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_coral_techpack_audio">kernel_google_coral_teckpack_audio</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_raviole">kernel_google_raviole</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_redbull">kernel_google_redbull</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_redbull_arch_arm64_boot_dts_vendor">kernel_google_redbull_arch_arm64_boot_dts_vendor</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_redbull_drivers_staging_qcacld-3.0">kernel_google_redbull_drivers_staging_qcacld-3.0</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google_redbull_techpack_audio">kernel_google_redbull_teckpack_audio</a></li>
<li><a href="https://github.com/GrapheneOS/kernel_google-modules_wlan_bcmdhd_bcm4389">kernel_google-modules_wlan_bcmdhd_bcm4389</a></li>
</ul>
<p>Repositories added by GrapheneOS:</p>
<ul>
<li><a href="https://github.com/GrapheneOS/adevtool">adevtool</a></li>
<li><a href="https://github.com/GrapheneOS/android-prepare-vendor">android-prepare-vendor</a></li>
<li><a href="https://github.com/GrapheneOS/branding">branding</a></li>
<li><a href="https://github.com/GrapheneOS/carriersettings-extractor">carriersettings-extractor</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_barbet-kernel">device_google_barbet-kernel</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_bluejay-kernel">device_google_bluejay-kernel</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_bramble-kernel">device_google_bramble-kernel</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_coral-kernel">device_google_coral-kernel</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_redfin-kernel">device_google_redfin-kernel</a></li>
<li><a href="https://github.com/GrapheneOS/device_google_sunfish-kernel">device_google_sunfish-kernel</a></li>
<li><a href="https://github.com/GrapheneOS/hardened_malloc">hardened_malloc</a></li>
<li><a href="https://github.com/GrapheneOS/platform_external_Apps">platform_external_Apps</a>: Apps app prebuilt</li>
<li><a href="https://github.com/GrapheneOS/platform_external_Auditor">platform_external_Auditor</a>: Auditor app prebuilt</li>
<li><a href="https://github.com/GrapheneOS/platform_external_Camera">platform_external_Camera</a>: Camera app prebuilt</li>
<li><a href="https://github.com/GrapheneOS/platform_external_PdfViewer">platform_external_PdfViewer</a>: PDF Viewer app prebuilt</li>
<li><a href="https://github.com/GrapheneOS/platform_external_seedvault">platform_external_seedvault</a></li>
<li><a href="https://github.com/GrapheneOS/platform_external_talkback">platform_external_talkback</a>: TalkBack app (GrapheneOS fork) prebuilt</li>
<li><a href="https://gitlab.com/grapheneos/platform_external_vanadium">platform_external_vanadium</a>: Vanadium browser, WebView and library prebuilts</li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_ExactCalculator">platform_packages_apps_ExactCalculator</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_GmsCompat">platform_packages_apps_GmsCompat</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_SetupWizard">platform_packages_apps_SetupWizard</a></li>
<li><a href="https://github.com/GrapheneOS/platform_packages_apps_Updater">platform_packages_apps_Updater</a>: OS update client</li>
<li><a href="https://github.com/GrapheneOS/platform_themes">platform_themes</a></li>
<li><a href="https://github.com/GrapheneOS/vendor_state">vendor_state</a></li>
<li><a href="https://github.com/GrapheneOS/script">script</a></li>
</ul>
</section>
<section id="standalone-apps">
<h2><a href="#standalone-apps">Standalone apps</a></h2>
<p>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.</p>
<ul>
<li><a href="https://github.com/GrapheneOS/Apps">Apps</a></li>
<li><a href="https://github.com/GrapheneOS/Auditor">Auditor</a></li>
<li><a href="https://github.com/GrapheneOS/Camera">Camera</a></li>
<li><a href="https://github.com/GrapheneOS/PdfViewer">PDF Viewer</a></li>
<li><a href="https://github.com/GrapheneOS/talkback">talkback</a>: GrapheneOS fork of the open source TalkBack screen reader</li>
<li><a href="https://github.com/GrapheneOS/Vanadium">Vanadium</a>: Privacy and security focused Chromium-based browser and WebView</li>
</ul>
</section>
<section id="services">
<h2><a href="#services">Services</a></h2>
<ul>
<li><a href="https://github.com/GrapheneOS/infrastructure">infrastructure</a>: Shared service infrastructure</li>
<li><a href="https://github.com/GrapheneOS/AttestationServer">AttestationServer</a>: attestation.app remote attestation service</li>
<li><a href="https://github.com/GrapheneOS/grapheneos.org">grapheneos.org</a>: Main website</li>
<li><a href="https://github.com/GrapheneOS/releases.grapheneos.org">releases.grapheneos.org</a>: OS update service and app repository</li>
<li><a href="https://github.com/GrapheneOS/apps.grapheneos.org">apps.grapheneos.org</a>: App repository (extends releases.grapheneos.org)</li>
<li><a href="https://github.com/GrapheneOS/grapheneos.network">grapheneos.network</a>: Connectivity check / time service</li>
<li><a href="https://github.com/GrapheneOS/mail.grapheneos.org">mail.grapheneos.org</a>: Mail service</li>
<li><a href="https://github.com/GrapheneOS/matrix.grapheneos.org">matrix.grapheneos.org</a>: Matrix and Element Web</li>
<li><a href="https://github.com/GrapheneOS/ns1.grapheneos.org">ns1.grapheneos.org</a>: DNS service</li>
</ul>
</section>
<section id="utilities">
<h2><a href="#utilities">Utilities</a></h2>
<ul>
<li><a href="https://github.com/GrapheneOS/tls-pinning">tls-pinning</a>: Utilities for setting up conservative non-leaf TLS pinning with backup pins</li>
<li><a href="https://github.com/GrapheneOS/branding-tools">branding-tools</a>: Scripting for generating branding</li>
<li><a href="https://github.com/GrapheneOS/AttestationSamples">AttestationSamples</a>: Auditor attestation samples</li>
</ul>
</section>
<section id="archive">
<h2><a href="#archive">Archive</a></h2>
<p>An archive of legacy repositories is available via the
<a href="https://github.com/GrapheneOS-Archive">GrapheneOS Archive</a>
organization. This only covers repositories archives after renaming the project to
GrapheneOS. Earlier code is mostly not available via GitHub anymore due to
<a href="/history/#history">the unfortunate events</a> leading to the rename of
the project.</p>
</section>
</main>
<footer>
<a href="/"><img src="{{path|/mask-icon.svg}}" width="512" height="512" alt=""/>GrapheneOS</a>
<ul id="social">
<li><a href="https://twitter.com/GrapheneOS">Twitter</a></li>
<li><a href="https://github.com/GrapheneOS">GitHub</a></li>
<li><a href="https://reddit.com/r/GrapheneOS">Reddit</a></li>
<li><a href="https://www.linkedin.com/company/grapheneos/">LinkedIn</a></li>
</ul>
</footer>
</body>
</html>