為了方便用戶的使用與開發,官方提供了 Linux 開發的整套 SDK,本章詳細的說明 SDK 的具體用法。
下載 repo 工具:
下載 Linux-SDK:
-
方法一
初始化 repo 倉庫:
同步源碼:
同步過程中,網絡波動會導致下載速度過低中斷同步,可以使用下面腳本同步代碼:
-
方法二(國內用戶推薦使用)
考慮到國內用戶使用 repo 從網絡上下載全部代碼會比較慢,官方提供了基礎的源碼包Linux_SDK.7z。
下載 Linux_SDK.7z:
目錄:
安裝 Ubuntu 編譯所需工具,確保工具都正確安裝:
選擇開發板對應的配置文件。配置文件會鏈接到device/rockchip/.BoardConfig.mk,查看該文件可確認當前所使用的配置文件:
用戶也可以通過參考該配置生成新的配置文件來適配自己所需要的固件。
重要配置介紹:(如果需要定制固件,可以修改下列配置信息)
在配置和搭建環境的工作都做好的前提下:
全自動編譯的固件默認會編譯一遍 Buildroot 根文件系統。生成固件目錄rockdev/,同時會在IMAGE/中備份。
-
kernel
-
u-boot
-
recovery
recovery 分區可省略,若有需要,編譯 recovery:
-
rootfs
Ubuntu 文件系統可以通過云盤下載,以 Ubuntu 18.04 為例:下載鏈接https://pan.baidu.com/s/1DuCzTGARDi7APxyKs9Nl1A#list/path=%2F
把得到的鏡像放到 SDK 的根目錄處:
注意:Ubuntu 根文件系統鏡像存放路徑不能錯。
運行./mkfirmware.sh會自動更新rockdev/rootfs.img的鏈接。
每次打包固件前先確保rockdev/目錄下文件鏈接正確:
可以運行./mkfirmware.sh更新鏈接:
提示:若不是編譯全部的分區鏡像,在運行./mkfirmware時,會遇到如下類似情況:
注意:打包前請確認tools/linux/Linux_Pack_Firmware/rockdev/package-file是否正確。打包會根據此文件進行分區打包。此文件鏈接會在執行./build.shpx30-ubuntu.mk命令時更新,如果配置不對請再次執行該命令。
整合統一固件:
parameter.txt包含了固件的分區信息十分重要,你可以在device/rockchip/px30目錄下找到一些parameter.txt文件,下面以 parameter-debian.txt 為例子做介紹:
CMDLINE屬性是我們關注的地方。以 uboot 為例0x00002000@0x00004000(uboot)中0x00004000為uboot分區的起始位置0x00002000為分區的大小。后面的分區規則相同。用戶可以根據自己需要增減或者修改分區信息,但是請最少保留 uboot,trust,boot,rootfs 分區,這是機器能正常啟動的前提條件。parameter-ubuntu.txt 中使用的就是這樣的最簡分區方案。
分區介紹:
-
uboot 分區:燒寫 uboot 編譯出來的 uboot.img
-
trust 分區:燒寫 uboot 編譯出來的 trust.img
-
misc 分區:燒寫 misc.img,開機檢測進入 recovery 模式(可省略)
-
boot 分區:燒寫 kernel 編譯出來的 boot.img,包含 kernel 和設備樹信息
-
recovery 分區:燒寫 recovery.img(可省略)
-
backup 分區:預留,暫時沒有用。后續跟 Android 一樣作為 recovery 的 backup 使用(可省略)
-
oem 分區:給廠家使用,存放廠家的 app 或數據。只讀。代替原來音箱的 data 分區。掛載在 /oem 目錄(可省略)
-
rootfs 分區:存放 Buildroot 或者 Debian 編出來的 rootfs.img,只讀
-
userdata 分區:存放 app 臨時生成的文件或者是給最終用戶使用。可讀寫,掛載在 /userdata 目錄下(可省略)
此文件應當與parameter保持一致,用于固件打包。可以在tools/linux/Linux_Pack_Firmware/rockdev下找到相關文件。以 px30-ubuntu-package-file 為例介紹:
以上是 SDK 編譯后生成的鏡像文件。根據parameter.txt只打包自己用到的映像文件。
-
嵌入式主板
+關注
關注
7文章
6096瀏覽量
36130 -
安卓
+關注
關注
5文章
2146瀏覽量
58293 -
Firefly
+關注
關注
2文章
541瀏覽量
7387
發布評論請先 登錄
AIO-PX30-JD4核心板上手教程
fireflyCORE-PX30-JD4燒寫工作介紹

firefly3399PRO-JD4編譯Ubuntu 固件簡介

fireflyCORE-PX30-JD4接口定義介紹

fireflyCORE-PX30-JD4編譯Buildroot 固件簡介
fireflyCORE-PX30-JD4燒寫固件簡介
fireflyCORE-PX30-JD4產品簡介
【Pixhawk】Ubuntu下編譯原生固件PX4

Core PX30 JD4固件Android 8.1固件分享

Core PX30 JD4固件Buildroot(GPT)文件分享

Core PX30 JD4固件Ubuntu(GPT)文件分享

評論