[RK3399] Rockchip 平臺 parameter.txt 檔案詳解
Platform: RK3399
OS: Android 6.0
Version: v2016.08
Parameter 最大為 64KB。
其中的引數由 Bootloader 解析。
parameter 分析
韌體版本,打包 update.img 用到。升級工具據此識別韌體版本
FIRMWARE_VER: 6.0.1
機型,打包 update.img 用到。用於升級工具顯示。
MACHINE_MODEL: RK3399
產品ID,為數字或字母組合,打包 update.img 使用。
MACHINE_ID: 007
機型,打包 update.img 用到。用於升級工具顯示。
MANUFACTURER: RK3399
無法修改
MAGIC: 0x5041524B
無法修改
ATAG: 0x00200800
無法修改,核心識別用
MACHINE: 3399
無法修改
CHECK_MASK: 0x80
PWR_HLD:0,0,C,7,1 //控制 GPIO0C7 輸出高電平
PWR_HLD:0,0,C,7,2 //控制 GPIO0C7 輸出低電平
PWR_HLD:0,0,A,0,3 //配置 PWR_HLD 為 GPIO0A0,在 Loader 需要鎖定電源時,輸出高電平鎖定電源
最後一位是電平判斷,解釋:
1:= 解析 parameter 時,輸出高電平
2:= 解析 parameter 時,輸出低電平
3:= 在 Loader 需要控制電源時,輸出高電平
0:= 在 Loader 需要控制電源時,輸出低電平
這裡是控制 GPIO0 A0 輸出高電平
PWR_HLD: 0,0,A,0,1
核心地址,bootloader 將載入此地址,如果 kernel 編譯地址改變,需要修改此值
#KERNEL_IMG: 0x00280000
#FDT_NAME: rk-kernel.dtb
按鍵型別 0 普通按鍵,GPIO 定義 (三位),電平判斷
比如 0,4,C,5,0 代表 普通按鍵,GPIO4 C5, 低電平有效
按鍵型別 1 AD按鍵,AD 定義 (三位),保留
比如 1,1,0,20,0 代表 AD按鍵,ADC 通道,下限值為 00,上限值為 200 即 AD值在 0~200 之間的按鍵都認為是 RECOVER_KEY
#RECOVER_KEY: 1,1,0,20,0
#in section; per section 512(0x200) bytes
CMDLINE:
androidboot.baseband=N/A
androidboot.selinux=disabled //安全強化 Linux 是否開啟
androidboot.hardware=rk30board //硬體平臺
androidboot.console=ttyFIQ0 //串列埠定義
init=/init
MTD分割槽 RK30xx、RK29xx 和 RK292x 都是用 rk29xxnand 做標識
mtdparts=rk29xxnand:[email protected](uboot),[email protected](trust),[email protected](misc),[email protected](resource),[email protected](kernel),[email protected](boot),[email protected](recovery),[email protected](backup),[email protected](cache),[email protected](system),[email protected](metadata),[email protected](baseparamer),[email protected](userdata)
@符號前是分割槽的大小
@符號後是分割槽的起始地址
括號中是分割槽的名字
單位都是 sector(512Bytes)
比如 uboot 起始地址為 0x2000 sectors (4MB)的位置,大小為 0x2000 sectors(4M)
另外 flash 最大的 block 是 4M(0x2000 sectors),所以每個分割槽需要 4MB 對齊,即每個分割槽必須為 4MB 的整數倍。
,[email protected](backup)
backup 分割槽前的分割槽為韌體區 uboot、trust、misc、resource、kernel、boot、recovery 。
後續升級時不能修改分割槽大小
backup 分割槽後的分割槽 cache、system、metadata、baseparamer、userdata
是可以讀寫的,可以調整分割槽大小。但是修改分割槽大小後需要進入 recovery 系統格式化 cache
常見問題
1. system 分割槽改為 ext3 後,parameter 中 mtd 分割槽如何定義
ext3 為可寫檔案系統,system 分割槽需要定義在 backup 後。
2. 系統韌體變大,backup 分割槽起始位置和大小變大,系統異常
backup 之前的分割槽只可改小,不可變大,所以請預留足夠空間。
出現問題後,按住 recovery 進入 loader 升級模式,“修復模式升級韌體” 或者 擦出 idb 功能低格 flash 後再升級。
另外現在 backup 已經不再備份 system.img 了。