summaryrefslogtreecommitdiff
path: root/static/build.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/build.html')
-rw-r--r--static/build.html49
1 files changed, 25 insertions, 24 deletions
diff --git a/static/build.html b/static/build.html
index 42c5bce0..ff1172f8 100644
--- a/static/build.html
+++ b/static/build.html
@@ -73,8 +73,8 @@
<li>
<a href="#extracting-vendor-files-for-pixel-devices">Extracting vendor files for Pixel devices</a>
<ul>
- <li><a href="#extracting-vendor-files-for-pixel-5-and-earlier">Pixel 5 and earlier</a></li>
- <li><a href="#extracting-vendor-files-for-pixel-6-and-later">Pixel 6 and later</a></li>
+ <li><a href="#extracting-vendor-files-for-pixel-3a-and-earlier">Pixel 3a and earlier</a></li>
+ <li><a href="#extracting-vendor-files-for-pixel-4-and-later">Pixel 4 and later</a></li>
</ul>
</li>
<li><a href="#setting-up-the-os-build-environment">Setting up the OS build environment</a></li>
@@ -277,26 +277,22 @@
for OpenJDK despite it being a headless variant without GUI support</li>
<li>ncurses5 (provided by the source tree for some tools but not others)</li>
<li>openssl</li>
+ <li>protobuf library for Python 3</li>
<li>rsync</li>
<li>unzip</li>
+ <li>yarn</li>
+ <li>node 17 or later</li>
<li>zip</li>
</ul>
- <p>Additional dependencies for Pixel phones before the 6th generation:</p>
+ <p>Additional dependencies for Pixel phones before the 4th generation:</p>
<ul>
- <li>e2fsprogs (for debugfs)</li>
+ <li>e2fsprogs (for debugfs image mounting)</li>
<li>OpenJDK (for the jar command)</li>
- <li>protobuf library for Python 3</li>
<li>jq</li>
</ul>
- <p>Additional dependencies for 6th generation Pixel phones:</p>
-
- <ul>
- <li>yarn</li>
- </ul>
-
<p>Additional Vanadium (Chromium) build dependencies not provided by the source tree:</p>
<ul>
@@ -477,8 +473,12 @@ repo sync -j16</pre>
that the official builds match the sources, since it has signature verification (which
is an important part of the verified boot and attestation security model).</p>
- <section id="extracting-vendor-files-for-pixel-5-and-earlier">
- <h4><a href="#extracting-vendor-files-for-pixel-5-and-earlier">Pixel 5 and earlier</a></h4>
+ <section id="extracting-vendor-files-for-pixel-3a-and-earlier">
+ <h4><a href="#extracting-vendor-files-for-pixel-3a-and-earlier">Pixel 3a and earlier</a></h4>
+
+ <p>3rd generation Pixel devices will be using android-prepare-vendor for the remainder of
+ their lifetime on GrapheneOS.
+ </p>
<p>Extract the vendor files corresponding to the matching release with
<code>DEVICE</code> and <code>BUILD_ID</code> replaced with the
@@ -490,22 +490,23 @@ rm -rf vendor/google_devices/DEVICE
mv vendor/android-prepare-vendor/DEVICE/BUILD_ID/vendor/google_devices/* vendor/google_devices/</pre>
</section>
- <section id="extracting-vendor-files-for-pixel-6-and-later">
- <h4><a href="#extracting-vendor-files-for-pixel-6-and-later">Pixel 6 and later</a></h4>
+ <section id="extracting-vendor-files-for-pixel-4-and-later">
+ <h4><a href="#extracting-vendor-files-for-pixel-4-and-later">Pixel 4 and later</a></h4>
- <p>Starting with the Pixel 6, newer generation devices use the adevtool project to
- extract files from the stock operating system.
- </p>
+ <p>The below commands need to only be run once to initially create a working environment.</p>
<pre>cd vendor/adevtool/ &amp;&amp; yarn install &amp;&amp; cd ../..
-vendor/adevtool/bin/run download vendor/adevtool/dl/ -d DEVICE -b BUILD_ID -t factory
-sudo vendor/adevtool/bin/run generate-all vendor/adevtool/config/DEVICE.yml -c vendor/state/DEVICE.json -s vendor/adevtool/dl/DEVICE-BUILD_ID-*.zip</pre>
+source script/envsetup.sh
+m aapt2</pre>
- <p>OTA firmware extraction is currently a work-in-progress on adevtool.
- android-prepare-vendor is being temporarily used to make the process easier.</p>
+ <p>Extract the vendor files corresponding to the matching release with
+ <code>DEVICE</code> and <code>BUILD_ID</code> replaced with the
+ appropriate values:</p>
- <pre>vendor/android-prepare-vendor/execute-all.sh -d DEVICE -b BUILD_ID -o vendor/android-prepare-vendor
-cp -r vendor/android-prepare-vendor/DEVICE/BUILD_ID/vendor/google_devices/DEVICE/radio/* vendor/google_devices/DEVICE/firmware/</pre>
+<pre>vendor/adevtool/bin/run download vendor/adevtool/dl/ -d DEVICE -b BUILD_ID -t factory ota
+sudo vendor/adevtool/bin/run generate-all vendor/adevtool/config/DEVICE.yml -c vendor/state/DEVICE.json -s vendor/adevtool/dl/DEVICE-BUILD_ID-*.zip
+sudo chown -R $(logname):$(logname) vendor/google_devices
+vendor/adevtool/bin/run ota-firmware vendor/adevtool/config/DEVICE.yml -f vendor/adevtool/dl/DEVICE-ota-BUILD_ID-*.zip</pre>
</section>
</section>