手機開啟16k Page Size

我買了一個pixel8的手機,系統是Android16,如下操作都是基于這個手機做的。


https://source.android.com/docs/core/architecture/16kb-page-size/16kb-developer-option?hl=zh-cn#use_16kb_toggle

使用 16 KB 切換開關

按照開發者選項文檔中的指示啟用開發者選項。
如果檢測到設備受 OEM 鎖定,系統會顯示一個對話框,請用戶對手機進行 OEM 解鎖。按照相應步驟進行 OEM 解鎖。
當用戶選中“以 16KB 頁面大小啟動設備”時,/data 和 /metadata 分區必須為 ext4。否則,系統會顯示一個對話框,要求用戶擦除設備數據。回答“是”會擦除設備數據,并且您必須再次啟用開發者選項。
16 KB 切換開關現在會顯示一個確認切換到 16 KB 的對話框;用戶確認后,系統會應用啟動 OTA。然后,您可以在 4 KB 到 16 KB 模式之間來回切換,而無需清空數據分區以測試應用行為。

按照開發者選項文檔中的指示啟用 16 KB 模式,注意啟用過程中會導致 所有用戶應用數據被清。
我是基于pixel 8+Android16操作的。

詳細步驟如下:

1. unlock bootloader

https://source.android.com/docs/core/architecture/bootloader/locking_unlocking?hl=zh-cn

圖文說明

adb reboot bootloader
fastboot flashing unlock

在這里插入圖片描述

2. 開發選項,選中16k page size選項

重啟后,打開開發選項 -> 選中16k page size選項 -> 點擊確認 -> ease all data

3. 開發選項,選中16k page size選項

選中重啟一下,這次重啟之后就好了


開啟后的效果:
在這里插入圖片描述

其他

  1. adb reboot bootloader

    • adb: Android Debug Bridge,一個強大的命令行工具,用于與連接的 Android 設備進行通信(通常在設備處于 Android 系統或 Recovery 模式下)。
    • reboot: 告訴設備重新啟動。
    • bootloader: 指定重啟的目標模式。Bootloader 是設備啟動時運行的第一個程序,負責初始化硬件并加載操作系統(Android)內核。
    • 合起來的意思: 這條命令通過 ADB 指示當前處于 Android 系統或 Recovery 模式的設備重新啟動并進入 Bootloader 模式。在 Bootloader 模式下,設備才能接受 fastboot 命令。
  2. fastboot flashing unlock

    • fastboot: 另一個命令行工具,用于在設備處于 Bootloader 模式下與其通信。它主要用于執行底層操作,如刷寫分區、解鎖等。
    • flashing: 表示操作與刷寫(寫入)設備的分區(如系統、引導、恢復等)有關。
    • unlock: 具體操作指令,表示解鎖設備的 Bootloader
    • 合起來的意思: 這條命令在設備處于 Bootloader 模式下執行,向設備發送解鎖 Bootloader 的指令

為什么執行這兩條命令(解鎖 Bootloader)是開啟 16k page size 的必要條件?

開啟 16k page size 通常意味著你需要刷入一個使用 16k 作為物理存儲塊大小(page size)編譯的固件。這涉及到對設備關鍵分區(如 bootvendor_bootsuper 分區中的 vendor/odm 等)進行寫入操作。原因如下:

  1. Bootloader 鎖定的目的: 設備制造商默認會鎖定 Bootloader。這是一個重要的安全機制,主要目的是:

    • 防止未經授權的系統修改: 阻止用戶或惡意軟件隨意刷寫或修改設備的系統分區、引導分區、基帶分區等關鍵區域,保證系統完整性和安全性。
    • 保護用戶數據: 防止惡意軟件篡改系統竊取數據。
    • 遵守運營商/法規要求: 滿足某些運營商或地區的特定要求。
    • 減少售后支持成本: 避免用戶因自行刷機導致設備變磚而尋求保修。
  2. 鎖定狀態下的限制: 當 Bootloader 被鎖定時:

    • 禁止寫入關鍵分區: fastboot 或其他工具無法boot, recovery, system, vendor, odm 等關鍵分區寫入數據。嘗試刷寫會被 Bootloader 拒絕。
    • 禁止修改分區表: 無法創建、刪除或調整分區大小(雖然 page size 不是分區表直接定義的,但支持它的固件需要寫入到特定分區)。
    • 只能刷入官方簽名固件: Bootloader 通常只允許刷入由設備制造商用特定密鑰簽名過的官方固件包(如 OTA 更新包)。
  3. 解鎖 Bootloader 的作用: 執行 fastboot flashing unlock 命令會:

    • 解除寫入限制: 解鎖后,Bootloader 允許使用 fastboot flash 命令向設備的關鍵分區寫入任何數據(包括非官方的、自定義編譯的固件)。
    • 允許刷入自定義固件: 這是刷入第三方 Recovery(如 TWRP)、自定義 ROM(如 LineageOS)、修改后的內核 (boot.img) 或 vendor/odm 分區的前提。
    • 清除用戶數據: 作為安全措施,解鎖過程通常會強制清除設備上的所有用戶數據(Factory Reset)。這是為了防止加密數據在新系統下無法訪問或產生安全風險。重要提示:解鎖前務必備份所有重要數據!
    • 可能影響保修: 解鎖 Bootloader 通常會使設備的官方保修失效(取決于制造商政策)。
  4. 與 16k Page Size 的關系:

    • 要使用 16k page size,你需要一個專門為你的設備型號編譯的、使用了 16k page size 配置的固件(通常是內核、vendor_bootvendor/odm 分區中的模塊)。
    • 編譯這樣的固件需要訪問設備的特定內核源代碼和配置。
    • 將這個編譯好的固件刷入設備,必須寫入到受 Bootloader 保護的分區(如 boot, vendor_boot, vendor, odm)。
    • 因此,只有在 Bootloader 解鎖后,你才能使用 fastboot flash boot ..., fastboot flash vendor_boot ..., fastboot flash vendor ... 等命令,將支持 16k page size 的固件組件刷入到相應的分區中。 刷入成功后,設備啟動時加載的就是支持 16k page size 的內核和驅動了。

總結:

  • adb reboot bootloader:讓設備進入可以進行底層操作的 Bootloader 模式。
  • fastboot flashing unlock:解除 Bootloader 對關鍵分區寫入的限制,允許刷入非官方/自定義固件(這是關鍵一步,會清除數據)。
  • 解鎖 Bootloader 本身不開啟 16k page size。 它只是移除障礙,讓你能夠刷入一個預先編譯好的、支持 16k page size 的固件(通常是內核和 vendor/odm 相關部分)。刷入這個特定的固件才是真正“開啟” 16k page size 的操作,而這個刷入操作在 Bootloader 鎖定狀態下是無法完成的。

更多

  1. 代碼上如何適配:https://blog.csdn.net/yeshennet/article/details/14501504
  2. 16k page size常見庫升級:https://blog.csdn.net/yeshennet/article/details/149562775

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916339.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916339.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916339.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VLAN的劃分(基于華為eNSP)

VLAN的劃分 前言:為什么VLAN是現代網絡的“隱形骨架”? 當一臺辦公室電腦發送文件給隔壁工位的同事時,數據如何精準抵達目標而不“打擾”其他設備?當企業財務部的敏感數據在網絡中傳輸時,如何避免被其他部門的設備“窺…

從壓縮到加水印,如何實現一站式圖片處理

當你需要對大量圖片進行相同或相似的操作時(例如壓縮、裁剪、調整尺寸、添加水印等),逐個處理會非常耗時。批量處理工具可以一次性處理數百張圖片,大大節省了時間。這是一款極致輕巧的圖片處理利器,體積僅有652KB&…

Pythong高級入門Day5

二、面向對象編程面向對象編程(Object-Oriented Programming,簡稱OOP)是一種通過組織對象來設計程序的編程方法。Python天生就是面向對象的模塊化編程。1. 初識類和對象示意圖:/-------> BYD E6(京A.88888) 實例,對…

C#其他知識點

接口類---interface什么是接口? 在接口當中一般我們認為接口中的成員都是抽象的。接口一般認為是功能的集合。在接口類當中定義的方法都是抽象象方法。(沒有方法體)接口一般我們認為它是一種標準,一種規范,一種約定。給子類或者是派生類制定規范,規定,標準。當子類繼承了該接口…

Maven 環境配置全攻略:從入門到實戰

一、Maven 簡介 Maven 是一個基于項目對象模型 (POM) 的項目管理工具,它可以通過一小段描述信息來管理項目的構建、報告和文檔。 除了強大的程序構建能力外,Maven 還提供了高級項目管理功能。其默認構建規則具有很高的可重用性,通常只需兩三…

現代 C++ 開發工作流(VSCode / Cursor)

? 推薦的現代 C 開發工作流(含 VSCode / Cursor 插件配置)🧰 一、環境要求 C 編譯器(如 g 或 clang)CMake(建議 ≥ 3.16)clangd(建議 ≥ 14,最好用系統包管理器安裝&…

[SAP ABAP] ALV報表練習4

SO銷售訂單明細報表業務目的:根據選擇屏幕的篩選條件,使用ALV報表顯示銷售訂單詳情(Sales Order、Material、現有Qty、已開立數量以及剩余數量等)信息效果展示我們在銷售訂單欄位輸入需要查詢的SO單號,這里我們以SO單號0000000221為例&#x…

《設計模式之禪》筆記摘錄 - 10.裝飾模式

裝飾模式的定義裝飾模式(Decorator Pattern)是一種比較常見的模式,其定義如下:Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending fu…

[AI8051U入門第十步]W5500-客戶端

學習目標: 1、認識W5500模塊 2、驅動W5500靜態獲取ip 3、獲取全球唯一碼作為mac地址 4、拔出網線重插網線自動獲取IP 5、編寫W5500作為客戶端進行TCP/IP代碼一、W5500介紹 W5500 是一款由韓國 WIZnet 公司推出的高性能 硬件 TCP/IP 嵌入式以太網控制器,專為嵌入式系統設計,…

UNETR++: Delving Into Efficient and Accurate 3D Medical Image Segmentation

摘要得益于Transformer模型的成功,近期研究開始探索其在3D醫學分割任務中的適用性。在Transformer模型中,自注意力機制是核心構建模塊之一,與基于局部卷積的設計相比,它致力于捕捉長距離依賴關系。然而,自注意力操作存…

Kotlin Flow 在 Jetpack Compose 中的正確打開方式:SharedFlow vs StateFlow 與 LaunchedEffect

在 Jetpack Compose 中,Kotlin Flow 是處理異步數據流的核心工具,而 SharedFlow 和 StateFlow 是最常用的兩種 Flow 類型。但很多開發者對它們的適用場景、如何與 LaunchedEffect 配合使用存在困惑。本文將深入探討它們的區別,并給出最佳實踐…

嵌入式——C語言:指針①

一、指針特點1.讓代碼更加簡潔高效2.提供直接訪問內存的操作3.利用指針可以直接操作硬件二、指針概念(一)地址:為了區分內存中不同字節的編號(0到2^16-1)(二)指針:指針就是地址&…

RabbitMQ—HAProxy負載均衡

上篇文章: RabbitMQ—仲裁隊列https://blog.csdn.net/sniper_fandc/article/details/149312579?fromshareblogdetail&sharetypeblogdetail&sharerId149312579&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 HAProxy安裝…

QT中啟用VIM后粘貼復制快捷鍵失效

當在QT中啟用FakeVim之后,Ctrl C 和 Ctrl V 快捷鍵就變成 Vim 的快捷鍵了,我希望它還是原來的復制粘貼功能,打開:編輯 > Preferences…,然后勾選 “Pass control keys”即可,如下:

TCP三次握手與四次揮手全解析

🌊 TCP三次握手與四次揮手全解析(含序列號動態追蹤)🔑 TCP 協議核心機制 序列號 (seq):數據字節流的唯一標識(32位循環計數器)確認號 (ack):期望接收的下一個序列號(ack …

7月26號打卡

作業:題目1:計算圓的面積 任務: 編寫一個名為 calculate_circle_area 的函數,該函數接收圓的半徑 radius 作為參數,并返回圓的面積。圓的面積 π * radius (可以使用 math.pi 作為 π 的值)要求:函數接收一…

C++/CLI與標準C++的語法差異(一)

🌌 C/CLI與標準C的語法差異(一)🔬 第一章:類型系統革命 - 徹底解構三語言范式 🧪 1.1 類型聲明語義差異矩陣 #mermaid-svg-L5kQ3iy05pKo4vIj {font-family:"trebuchet ms",verdana,arial,sans-se…

輸電線路微氣象在線監測裝置:保障電網安全的科技屏障

在電力傳輸網絡中,輸電線路微氣象在線監測裝置通過集成專業傳感器與智能分析技術,實現對線路周邊環境參數的實時采集與動態分析,為電網運行安全提供數據支撐。該設備針對輸電線路特殊工況設計,具備高適應性、高可靠性特點。工作原…

基于springboot的圖書借閱系統

用戶:借閱信息管理,續借信息管理,還書信息管理,圖書信息,系統公告,留言板,我的中心管理員:圖書信息管理,圖書類型管理,借閱信息管理,續借信息管理…

Xinference vs SGLang:詳細對比分析

概述對比特性XinferenceSGLang定位通用AI模型推理平臺高性能LLM服務框架專注領域多模態模型統一接口LLM推理性能優化設計理念易用性和兼容性性能和效率核心架構對比 Xinference 架構特點 Xinference 架構: ├── API層(REST/CLI/Python) ├─…