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

firefly3399PRO-JD4編譯Ubuntu 固件簡(jiǎn)介

fireflyCORE-PX30-JD4接口定義介紹

fireflyCORE-PX30-JD4編譯Buildroot 固件簡(jiǎn)介
fireflyCORE-PX30-JD4燒寫(xiě)固件簡(jiǎn)介
fireflyCORE-PX30-JD4產(chǎn)品簡(jiǎn)介
【Pixhawk】Ubuntu下編譯原生固件PX4

Core PX30 JD4固件Android 8.1固件分享

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

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

Core 1808 JD4固件Ubuntu18.04

AIO 3566JD4固件Ubuntu

評(píng)論