快轉到主要內容

GrapheneOS簡介 & Pixel 6a刷GrapheneOS使用心得

· 民國114年乙巳年
·
切換繁體/簡體
分類   智慧型手機 Root與刷機
標籤   Google Pixel Degoogle LineageOS
目錄

Ivon將分享如何在Google Pixel手機安裝GrapheneOS系統。

t.webp

1. GrapheneOS簡介
#

講到刷機,我們都會先想到LineageOS吧?它是支援機型最多的第三方ROM。最近幾年,出現了GrapheneOS,是為一個注重安全與隱私的Android系統。

茲列舉部份特色:

  • 由非營利組織維護的開放原始碼專案
  • 相容大多數的Android APP
  • 強化Android的權限系統,例如禁止APP內的WebView啟用JIT、禁止APP上網、禁止存取感測器、啟用Hardened malloc保護記憶體、用Storage Scope限制APP能夠讀取哪些檔案
  • 截圖與拍照之後,會自動清除任何有關手機硬體的資訊,防止EXIF被用於社會工程
  • 搭載自家開發的Vanadium瀏覽器與WebView,預設停用JavaScript JIT,提供擋廣告功能
  • 緊跟Google上游最新版軟體,每月提供安全性修補更新
  • 系統去Google化,沒有Google全家桶,預設沒有任何GMS服務在背景浪費電。需要使用者手動安裝。
  • 去除Android系統所有依賴Google伺服器的服務,例如時間同步、GNSS、LTE SUPL、連線能力確認,換成GrapheneOS自家的代理伺服器
  • 使用標準的Android硬體加密技術,提供驗證系統完整性的能力,不依賴Play Integrity
  • 利用AVB custom key,讓Bootloader可以在刷機後重新上鎖,防止使用其他系統開機破解資料
  • 使用Verified Boot在開機時驗證系統完整性,防止惡意竄改
  • 連上Wifi的時候使用隨機MAC位址
  • 預設停用掃描附近Wifi裝置(改善定位精確度)的功能。
  • 超過18小時不解鎖的話就自動重開機,強制讓裝置進入BFU狀態,更難以被破解
  • 定時自動關閉Wifi與藍牙
  • 限制連接埠的存取權限,設定充電時只能充電,不可傳輸資料

GrapheneOS不是LineageOS的那種通用作業系統,而是一個安全性至上的Android發行版。因此,愛搞機的人要失望了,它不鼓勵使用者root,因其會破壞安全機制,而且會無法OTA(當然你硬要的話還是可以用修補boot.img的方式root)。所以GrapheneOS不能用Magisk,Zygisk無法運作。GrapheneOS甚至建議你在刷機後把Bootloader鎖回去。

從這點來看,他們注重使用者安全的程度,勝過給使用者自由胡搞亂搞。

2. Pixel與GrapheneOS界面比較
#

GrapheneOS官方支援的機型目前以Pixel手機為主。

Pixel的系統是基於Android原生,設計語言為Material Expressive。內建了許多Google認為「你需要」的APP。

c1.webp

GrapheneOS繼承了Android原生的界面。內建APP非常少,不需要網路就能運作,功能很精簡。GrapheneOS連自家的桌布都沒有,一片烏趖趖(oo-sô-sô)的。

c2.webp

畢竟外觀不是GrapheneOS的賣點。

3. 準備項目
#

GrapheneOS官網說明文件提供二種刷機方法,一種是用圖形界面Web Installer,一種是用指令稿。

Web Installer使用十分無腦,只要按照GrapheneOS網頁指示一直下一步就行了。

因為Web Installer需要用到WebUSB,僅限Chrome才能用,Firefox不行,所以我就用指令刷了。

  1. 準備一台Linux或Windows電腦。安裝ADB工具

  2. 下載刷機包。GrapheneOS支援的機型目前以Pixel全系列手機為主,支援的最舊裝置為Google Pixel 4。

  3. 我手機是Google Pixel 6a,到這裡下載GrapheneOS刷機包:Releases | GrapheneOS,更新頻道選取Stable。得到bluejay-install-2025120400.zip

  4. (選擇性步驟)GrapheneOS開發者建議在下載刷機包之後,用OpenSSH校驗檔案檔案是否有被竄改,應會顯示Good

curl -O https://releases.grapheneos.org/allowed_signers

ssh-keygen -Y verify -f allowed_signers -I contact@grapheneos.org -n "factory images" -s bluejay-install-2025120400.zip.sig bluejay-install-2025120400.zip
  1. 將刷機包的zip檔案解壓縮

4. 解鎖Pixel手機的Bootloader
#

  1. 開啟系統設定,在關於手機 → 版本號碼,點5下

  2. 找到開發人員選項,開啟「允許OEM解鎖」

  3. 手機關機。同時按著音量下鍵+電源鍵,開機進入Fastboot(注意不是fastbootd),接上電腦

  4. 在電腦上開啟終端機,解鎖Bootloader。

fastboot flashing unlock
  1. 在手機上用音量鍵移動選項到Unlock bootloader,然後按電源鍵確定。

  2. 重開機,會清除資料

fastboot reboot

5. 開始刷入GrapheneOS
#

  1. 再次進入Fastboot。手機關機。同時按著音量下鍵+電源鍵

  2. 在刷機包解壓縮的目錄開啟終端機,開始刷入系統,期間會多次重啟

bash flash-all.sh
  1. 等到指令稿跑完後,輸入以下指令,給Bootloader重新上鎖(是的,即使Bootloader上鎖,GrapheneOS還是可以開機)。增強安全性。在手機上用音量鍵移動選項到Lock bootloader的選項,然後按電源鍵確定。
fastboot flashing lock
  1. 啟動手機。雖然Bootloader上鎖了,但Pixel在開機的時候仍會顯示「Your device is loading a different operating system」的訊息。
fastboot reboot
  1. 啟動後手機資料會清除一遍。

  2. 完成系統設定。系統會問你要不要將允許OEM解鎖上鎖?建議點選是,增強安全性。

6. 安裝GApps (Sandboxed Google Play)
#

沒有GApps / GMS我怎麼活!?其實你不見得需要GMS啦!F-Droid上面有很多好用APP。

但總有APP沒有開源替代品呀,且不是裝APK就行。有些APP需要GMS才能傳送通知,甚至偵測到沒有GMS就不給使用。

GrapheneOS不支援GApps,也永遠不會內建GApps。應該是說,開發團隊是不鼓勵使用者往系統塞GApps啦,得手動安裝。GrapheneOS開發者提出了一個「GMSCompat」的功能,能讓GMS服務像是一般Android APP一樣沙盒化執行,不授予過高的權限。這稱之為Sandboxed Google Play。它跟microG不一樣,並不需要signature spoofing偽裝成GMS就能使用。

值得注意的是,雖然理論上GrapheneOS是非常安全的系統,包括Bootloader上鎖與支援硬體級別的系統防竄改,但依然無法通過Play Integrity。很多金融類的APP只有粗暴地依賴Play Integrity來確保安全性,而非是Android硬體提供的加密方案。未來GrapheneOS開發團隊可能會與歐盟聯手,逼迫Google開放Play Integrity。

  1. 不需要從Recovery安裝GApps,只要從GrapeneOS的App Store下載即可

  2. 由於這裡的GMS服務被沙盒隔離,權限與一般APP無異,需要手動授予安裝APP的權限。此外,GrapheneOS採取最小授權原則,只授予GMS必要權限,剩下的端看使用者決定要不要開啟(會顯示在通知欄問你權限,例如讀取簡訊)

  3. GMS可以隨時強制停止,不會自動重新啟動。

  4. 你也可以將GMS安裝到工作設定檔私人空間,這樣只有該名使用者能存取GMS服務。而且關在設定檔裡面的APP能夠一鍵停止執行,讓GMS的通知完全出不來。參見:將Android的GApps關在私人空間執行,凍結背景執行權限

7. 沒有GCam的拍照品質
#

GrapheneOS的相機是自行開發的,使用CameraX extensions提供夜拍模式。不是LineageOS那種AOSP最原生的相機。

我覺得拍起來不輸Pixel原廠相機啦,下面左邊GrapheneOS,右邊Pixel。當然功能比GCam少。

c3.webp

論可以手動調整拍照參數的開源APP,我推薦用OpenCamera

如果你真的很需要GCam,就用Sandboxed Google Play下載原廠的「Pixel相機」吧。但是,這樣你就會走回Google全家桶的老路了呀,因為GCam會要求你下載Google相簿才能檢視照片,有完沒完!

相關文章

沒有Google服務、保護隱私的系統:/e/OS+ 小米Poco F1 刷機體驗
分類   智慧型手機 Root與刷機
標籤   Degoogle LineageOS Android
Xperia 1 III刷LineageOS + 用KonaBess解決SD888發熱問題,降頻省電
分類   智慧型手機 Root與刷機
標籤   Sony Xperia LineageOS
Xperia 10 V刷LineageOS ~ 又被Sony放生了,就來刷機吧
分類   智慧型手機 Root與刷機
標籤   Sony Xperia LineageOS Magisk

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。