近幾年embedded linux系統硬體平台在軟體上都會搭配一組相對應的硬體設定,Qualcomm亦會有一組與開發板相符的硬體設定,但選用與高通不同的元件自行打板後,硬體規格已與高通開發板不相同,經常必須移除原有配置,如何編譯image在不影響開板板上的硬體設定又能夠新增適用與新硬體規格相同的硬體設定呢? (方法適用所有Qualcomm平台)
image預設使用的配置如下圖:
image重新定義後的硬體配置更動如下圖:
step 1. 修改CDT
將boot_cdt_array.c cdb0欄位的platform id和subtype分別改成0xF與0x1 (也可以設定其他值)
重新編譯xbl image並用fastboot燒錄到板子上
# fastboot flash xbl xbl.elf
step 2. 在linux kernel新增一個軟體設定檔
在dts/qcom/資料夾下加入新的硬體設定檔qcs407-iot-sku15.dts並在Makefile加入qcs407-iot-sku15.dtb
step 3: 開啟並編譯qcs407-iot-sku15.dts
將board-id改成如下 (model名稱可自訂)
該檔案內容就可以新增屬於新硬體的配置
step 4 : 重新編譯kernel後將boot.img與system.img以fastboot燒進板子 (也可以用高通QFIL工具燒錄)
# fastboot flash boot boot.img
# fastboot flash system system.img
# fastboot reboot
重新啟動後就可以看到配置的改變