diff options
Diffstat (limited to 'static/build.html')
| -rw-r--r-- | static/build.html | 75 |
1 files changed, 27 insertions, 48 deletions
diff --git a/static/build.html b/static/build.html index 593ff1ad..cc3656ec 100644 --- a/static/build.html +++ b/static/build.html @@ -20,7 +20,7 @@ <meta property="og:site_name" content="GrapheneOS"/> <link rel="icon" type="image/vnd.microsoft.icon" href="/favicon.ico?0"/> <link rel="mask-icon" href="/safari_pinned_tab_icon.svg" color="#000000"/> - <link rel="stylesheet" href="/grapheneos.css?8"/> + <link rel="stylesheet" href="/grapheneos.css?9"/> <link rel="manifest" href="/manifest.webmanifest"/> <link rel="canonical" href="https://grapheneos.org/build"/> </head> @@ -38,10 +38,11 @@ </ul> </nav> <div id="content"> - <h1 id="build">Build</h1> + <h1 id="build"> + <a href="#build">Build</a> + </h1> <h2 id="build-dependencies"> - Build dependencies - <a href="#build-dependencies">¶</a> + <a href="#build-dependencies">Build dependencies</a> </h2> <ul> <li>x86_64 Linux build environment (macOS is not supported, unlike AOSP which @@ -53,8 +54,7 @@ </ul> <h2 id="downloading-source-code"> - Downloading source code - <a href="#downloading-source-code">¶</a> + <a href="#downloading-source-code">Downloading source code</a> </h2> <p>Since this is syncing the sources for the entire operating system and application @@ -65,8 +65,7 @@ work properly than dealing with a moving target.</p> <h2 id="development-branch"> - Development branch - <a href="#development-branch">¶</a> + <a href="#development-branch">Development branch</a> </h2> <p>The pie branch is currently used for all supported devices:</p> @@ -81,8 +80,7 @@ repo sync -j32</pre> succeed.</p> <h2 id="stable-release"> - Stable release - <a href="#stable-release">¶</a> + <a href="#stable-release">Stable release</a> </h2> <p>Pick a specific build for a device from the <a href="/releases">releases page</a> @@ -118,8 +116,7 @@ cd ../..</pre> verify by default.</p> <h2 id="updating-and-switching-branches-or-tags"> - Updating and switching branches or tags - <a href="#updating-and-switching-branches-or-tags">¶</a> + <a href="#updating-and-switching-branches-or-tags">Updating and switching branches or tags</a> </h2> <p>To update the source tree, run the <code>repo init</code> command again to select @@ -131,8 +128,7 @@ cd ../..</pre> GrapheneOS only provides a stable history via tags.</p> <h2 id="browser-and-webview"> - Browser and WebView - <a href="#browser-and-webview">¶</a> + <a href="#browser-and-webview">Browser and WebView</a> </h2> Before building GrapheneOS, you need to build Chromium for the WebView and @@ -184,8 +180,7 @@ git am ../chromium_patches/*.patch</pre> <code>frameworks/base/core/res/res/xml/config_webview_packages</code>.</p> <h2 id="kernel"> - Kernel - <a href="#kernel">¶</a> + <a href="#kernel">Kernel</a> </h2> <p>The kernel needs to be built in advance, since it uses a separate build system.</p> @@ -212,8 +207,7 @@ git submodule update --init generated per the instructions below before building the kernel.</em></p> <h2 id="setting-up-the-os-build-environment"> - Setting up the OS build environment - <a href="#setting-up-the-os-build-environment">¶</a> + <a href="#setting-up-the-os-build-environment">Setting up the OS build environment</a> </h2> <p>The build has to be done from bash as envsetup.sh is not compatible with other @@ -233,8 +227,7 @@ git submodule update --init make additional performance sacrifices to improve debugging.</p> <h2 id="reproducible-builds"> - Reproducible builds - <a href="#reproducible-builds">¶</a> + <a href="#reproducible-builds">Reproducible builds</a> </h2> <p>To reproduce a past build, you need to export <code>BUILD_DATETIME</code> and @@ -251,8 +244,7 @@ git submodule update --init signatures.</p> <h2 id="extracting-vendor-files-for-pixel-devices"> - Extracting vendor files for Pixel devices - <a href="#extracting-vendor-files-for-pixel-devices">¶</a> + <a href="#extracting-vendor-files-for-pixel-devices">Extracting vendor files for Pixel devices</a> </h2> <p>This section does not apply to devices where no extra vendor files are required (HiKey, HiKey 960, emulator, generic targets).</p> @@ -276,8 +268,7 @@ mv vendor/android-prepare-vendor/DEVICE/BUILD_ID/vendor/google_devices/* vendor/ passed with <code>--timestamp</code> (seconds since Epoch).</p> <h2 id="building"> - Building - <a href="#building">¶</a> + <a href="#building">Building</a> </h2> <p>Incremental builds (i.e. starting from the old build) usually work for development @@ -295,8 +286,7 @@ mv vendor/android-prepare-vendor/DEVICE/BUILD_ID/vendor/google_devices/* vendor/ <pre>make target-files-package -j20</pre> <h2 id="faster-builds-for-development-use-only"> - Faster builds for development use only - <a href="#faster-builds-for-development-use-only">¶</a> + <a href="#faster-builds-for-development-use-only">Faster builds for development use only</a> </h2> <p>The normal production build process involves building a target files package to be @@ -318,8 +308,7 @@ mv vendor/android-prepare-vendor/DEVICE/BUILD_ID/vendor/google_devices/* vendor/ keys.</p> <h2 id="generating-release-signing-keys"> - Generating release signing keys - <a href="#generating-release-signing-keys">¶</a> + <a href="#generating-release-signing-keys">Generating release signing keys</a> </h2> <p>Keys need to be generated for resigning completed builds from the publicly @@ -343,8 +332,7 @@ mv vendor/android-prepare-vendor/DEVICE/BUILD_ID/vendor/google_devices/* vendor/ done before building the kernel</em></p> <h3 id="android-verified-boot-1.0"> - Android Verified Boot 1.0 - <a href="#android-verified-boot-1.0">¶</a> + <a href="#android-verified-boot-1.0">Android Verified Boot 1.0</a> </h3> <p>To generate keys for marlin (you should use unique keys per device variant):</p> @@ -371,8 +359,7 @@ out/host/linux-x86/bin/generate_verity_key -convert keys/marlin/verity.x509.pem no separate sailfish kernel.</p> <h3 id="android-verified-boot-2.0"> - Android Verified Boot 2.0 (AVB) - <a href="#android-verified-boot-2.0">¶</a> + <a href="#android-verified-boot-2.0">Android Verified Boot 2.0 (AVB)</a> </h3> <p>To generate keys for crosshatch (you should use unique keys per device @@ -392,8 +379,7 @@ cd ../..</pre> rather to set the public key used by the device to enforce verified boot.</p> <h2 id="generating-signed-factory-images-and-full-update-packages"> - Generating signed factory images and full update packages - <a href="#generating-signed-factory-images-and-full-update-packages">¶</a> + <a href="#generating-signed-factory-images-and-full-update-packages">Generating signed factory images and full update packages</a> </h2> <p>Build the tool needed to generate A/B updates:</p> @@ -413,8 +399,7 @@ cd ../..</pre> zip.</p> <h2 id="prebuilt-code"> - Prebuilt code - <a href="#prebuilt-code">¶</a> + <a href="#prebuilt-code">Prebuilt code</a> </h2> Like the Android Open Source Project, GrapheneOS contains some code that's built @@ -422,25 +407,21 @@ cd ../..</pre> gradually expanded to cover building all of it. <h3 id="prebuilt-apps"> - Prebuilt apps - <a href="#prebuilt-apps">¶</a> + <a href="#prebuilt-apps">Prebuilt apps</a> </h3> <p>The Auditor app is simply built from the latest upstream tag and bundled as an apk into external/ repositories. There are no modifications to it for GrapheneOS.</p> <h2 id="testing"> - Testing - <a href="#testing">¶</a> + <a href="#testing">Testing</a> </h2> <h3 id="compatibility-test-suite"> - Compatibility Test Suite - <a href="#compatibility-test-suite">¶</a> + <a href="#compatibility-test-suite">Compatibility Test Suite</a> </h3> <h4 id="compatibility-test-suite-download"> - Download - <a href="#compatibility-test-suite-download">¶</a> + <a href="#compatibility-test-suite-download">Download</a> </h4> <p>Testing with the Compatibility Test Suite (CTS) can be done by either building the @@ -453,8 +434,7 @@ cd ../..</pre> CTS Media Files also needs to be downloaded from that section.</p> <h4 id="compatibility-test-suite-setup"> - Setup - <a href="#compatibility-test-suite-setup">¶</a> + <a href="#compatibility-test-suite-setup">Setup</a> </h4> <p>You'll need a device attached to your computer with ADB enabled along with the Android SDK installed. The build-tools and platform-tools packages need to be @@ -495,8 +475,7 @@ export PATH="$PATH:$HOME/sdk/tools:$HOME/sdk/tools/bin:$HOME/sdk/platform-tools: </ul> <h4 id="compatibility-test-suite-run-modules"> - Run modules - <a href="#compatibility-test-suite-run-modules">¶</a> + <a href="#compatibility-test-suite-run-modules">Run modules</a> </h4> <p>Run the test harness:</p> |
