From 7a879a324ee653f9c265aa0bb3de34c7e2e7fd2b Mon Sep 17 00:00:00 2001
From: Daniel Micay
Date: Wed, 21 Aug 2024 19:34:23 -0400
Subject: [PATCH] add 9th generation Pixel support
---
process-static | 2 +-
static/faq.html | 29 ++++++++++++++++---
static/install/cli.html | 3 ++
static/install/web.html | 3 ++
static/js/releases.js | 2 +-
static/js/web-install.js | 4 +--
static/releases.html | 60 ++++++++++++++++++++++++++++++++++++++++
7 files changed, 95 insertions(+), 8 deletions(-)
diff --git a/process-static b/process-static
index 0147ea4f..e27e98b5 100755
--- a/process-static
+++ b/process-static
@@ -63,7 +63,7 @@ done
sed -i "$replace" static-tmp/**/*.html nginx-tmp/nginx.conf nginx-tmp/snippets/preload.conf
replace=
-devices=(akita husky shiba felix tangorpro lynx cheetah panther bluejay raven oriole barbet redfin bramble sunfish coral flame)
+devices=(komodo caiman tokay akita husky shiba felix tangorpro lynx cheetah panther bluejay raven oriole barbet redfin bramble sunfish coral flame)
channels=(stable beta)
for device in ${devices[@]}; do
for channel in ${channels[@]}; do
diff --git a/static/faq.html b/static/faq.html
index d8338368..fa5dfce5 100644
--- a/static/faq.html
+++ b/static/faq.html
@@ -139,6 +139,9 @@
GrapheneOS has official production support for the following devices:
+ - Pixel 9 Pro XL (komodo)
+ - Pixel 9 Pro (caiman)
+ - Pixel 9 (tokay)
- Pixel 8a (akita)
- Pixel 8 Pro (husky)
- Pixel 8 (shiba)
@@ -233,6 +236,9 @@
guarantee from launch for full security updates and other improvements:
+ - Pixel 9 Pro XL — minimum 7 years support and hardware memory tagging support
+ - Pixel 9 Pro — minimum 7 years support and hardware memory tagging support
+ - Pixel 9 — minimum 7 years support and hardware memory tagging support
- Pixel 8a — minimum 7 years support and hardware memory tagging support
- Pixel 8 Pro — minimum 7 years support and hardware memory tagging support
- Pixel 8 — minimum 7 years support and hardware memory tagging support
@@ -244,13 +250,13 @@
- Pixel 6a
- 8th generation Pixels provide a minimum guarantee of 7 years of support
- from launch instead of the previous 5 year minimum guarantee. 8th generation
+
8th/9th generation Pixels provide a minimum guarantee of 7 years of support
+ from launch instead of the previous 5 year minimum guarantee. 8th/9th generation
Pixels also bring support for the incredibly powerful hardware memory tagging
security feature as part of moving to new ARMv9 CPU cores. GrapheneOS uses
hardware memory tagging by default to protect the base OS and known compatible
- user installed apps against exploitation, with the option to use it for all
- apps and opt-out on a case-by-case basis for the few incompatible with it.
+ user installed apps against exploitation, with the option to use it for all apps
+ and opt-out on a case-by-case basis for the few incompatible with it.
Both 7th and 6th generation Pixels have a minimum guarantee of 5 years from
launch. 7th generation Pixels are a year newer so they have an extra year of
@@ -435,6 +441,21 @@
OEM minimum support end |
OEM minimum support length |
+
+ Google Pixel 9 Pro XL |
+ August 2031 |
+ 7 years |
+
+
+ Google Pixel 9 Pro |
+ August 2031 |
+ 7 years |
+
+
+ Google Pixel 9 |
+ August 2031 |
+ 7 years |
+
Google Pixel 8a |
May 2031 |
diff --git a/static/install/cli.html b/static/install/cli.html
index aaae6439..9f4442f9 100644
--- a/static/install/cli.html
+++ b/static/install/cli.html
@@ -578,6 +578,9 @@ curl -O https://releases.grapheneos.org/DEVICE_NAME-install-VERS
verified boot key hashes below:
+ - Pixel 9 Pro XL:
55d3c2323db91bb91f20d38d015e85112d038f6b6b5738fe352c1a80dba57023
+ - Pixel 9 Pro:
f729cab861da1b83fdfab402fc9480758f2ae78ee0b61c1f2137dd1ab7076e86
+ - Pixel 9:
9e6a8f3e0d761a780179f93acd5721ba1ab7c8c537c7761073c0a754b0e932de
- Pixel 8a:
096b8bd6d44527a24ac1564b308839f67e78202185cbff9cfdcb10e63250bc5e
- Pixel 8 Pro:
896db2d09d84e1d6bb747002b8a114950b946e5825772a9d48ba7eb01d118c1c
- Pixel 8:
cd7479653aa88208f9f03034810ef9b7b0af8a9d41e2000e458ac403a2acb233
diff --git a/static/install/web.html b/static/install/web.html
index e741cd08..2da4f0b9 100644
--- a/static/install/web.html
+++ b/static/install/web.html
@@ -384,6 +384,9 @@
verified boot key hashes below:
+ - Pixel 9 Pro XL:
55d3c2323db91bb91f20d38d015e85112d038f6b6b5738fe352c1a80dba57023
+ - Pixel 9 Pro:
f729cab861da1b83fdfab402fc9480758f2ae78ee0b61c1f2137dd1ab7076e86
+ - Pixel 9:
9e6a8f3e0d761a780179f93acd5721ba1ab7c8c537c7761073c0a754b0e932de
- Pixel 8a:
096b8bd6d44527a24ac1564b308839f67e78202185cbff9cfdcb10e63250bc5e
- Pixel 8 Pro:
896db2d09d84e1d6bb747002b8a114950b946e5825772a9d48ba7eb01d118c1c
- Pixel 8:
cd7479653aa88208f9f03034810ef9b7b0af8a9d41e2000e458ac403a2acb233
diff --git a/static/js/releases.js b/static/js/releases.js
index cafa02ac..21a5f336 100644
--- a/static/js/releases.js
+++ b/static/js/releases.js
@@ -1,7 +1,7 @@
// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT
const baseUrl = "https://releases.grapheneos.org/";
-const devices = ["akita", "husky", "shiba", "felix", "tangorpro", "lynx", "cheetah", "panther", "bluejay", "raven", "oriole", "barbet", "redfin", "bramble", "sunfish", "coral", "flame"];
+const devices = ["komodo", "caiman", "tokay", "akita", "husky", "shiba", "felix", "tangorpro", "lynx", "cheetah", "panther", "bluejay", "raven", "oriole", "barbet", "redfin", "bramble", "sunfish", "coral", "flame"];
const legacyFactoryDevices = new Set(["sunfish", "coral", "flame"]);
const channels = ["stable", "beta"];
const delayMs = 1000 * 60 * 5;
diff --git a/static/js/web-install.js b/static/js/web-install.js
index 66a30d5d..b402a75f 100644
--- a/static/js/web-install.js
+++ b/static/js/web-install.js
@@ -188,11 +188,11 @@ async function unlockBootloader(setProgress) {
return "Bootloader unlocked.";
}
-const supportedDevices = ["akita", "husky", "shiba", "felix", "tangorpro", "lynx", "cheetah", "panther", "bluejay", "raven", "oriole", "barbet", "redfin", "bramble", "sunfish", "coral", "flame"];
+const supportedDevices = ["komodo", "caiman", "tokay", "akita", "husky", "shiba", "felix", "tangorpro", "lynx", "cheetah", "panther", "bluejay", "raven", "oriole", "barbet", "redfin", "bramble", "sunfish", "coral", "flame"];
const legacyQualcommDevices = ["sunfish", "coral", "flame"];
-const day1SnapshotCancelDevices = ["akita", "husky", "shiba", "felix", "tangorpro", "lynx", "cheetah", "panther", "bluejay", "raven", "oriole", "barbet", "redfin", "bramble"];
+const day1SnapshotCancelDevices = ["komodo", "caiman", "tokay", "akita", "husky", "shiba", "felix", "tangorpro", "lynx", "cheetah", "panther", "bluejay", "raven", "oriole", "barbet", "redfin", "bramble"];
function hasOptimizedFactoryImage(product) {
return !legacyQualcommDevices.includes(product);
diff --git a/static/releases.html b/static/releases.html
index d44a9e6d..a3031252 100644
--- a/static/releases.html
+++ b/static/releases.html
@@ -47,6 +47,9 @@
-
Stable channel