本文來源電子發(fā)燒友社區(qū),作者:羈傲不馴, 帖子地址:https://bbs.elecfans.com/jishu_2304968_1_1.html
LinuxSDK,Rockchip提供了兩種SDK,F(xiàn)irefly也提供了兩種,分別是Buildroot和yocto。由于buildroot系統(tǒng)構(gòu)建比較簡(jiǎn)單,同時(shí)Firefly社區(qū)支持也比價(jià)給力,本文就說說yocto吧(視頻上有先說buildroot
yocto SDK目錄如下:
├── build // 用戶配置文件和工程構(gòu)建輸出目錄
├── conf
├── meta-browser // Web瀏覽器配方
├── meta-clang // 用來構(gòu)架編譯器的LLVM框架系統(tǒng)
├── meta-openembedded // 用來交叉編譯,安裝和打包的元數(shù)據(jù)
├── meta-poky -> poky/meta-poky // Poky發(fā)行版本的配置數(shù)據(jù)
├── meta-python2 // Python2配方
├── meta-qt5 // Qt5官方推出的Qt5配方
├── meta-rockchip // Rockchip層,包含Rockchip芯片BSP相關(guān)配方
├── meta-rust // Rust與Cargo的OpenEmbedded/Yocto層
└── poky // 用來構(gòu)建Linux的構(gòu)建系統(tǒng)
Yocto的工程就是這么簡(jiǎn)單,僅僅只由這幾個(gè)文件夾構(gòu)成。了解過yacto的都知道,yacto由許許多多的配方構(gòu)成,它通過配方獲取軟件源碼編譯下載構(gòu)建并解決依賴,正因?yàn)槿绱?,也造就了yacto不如buildroot容易入門的現(xiàn)狀,工程雖小,但是編譯的過程中需要消耗比較大的空間。
buid目錄下存放著,當(dāng)前SDK存在的所有構(gòu)建方案,如下:
bblayers.conf rk3328 rockchip-px30-evb.conf rockchip-rk3288w-evb.conf rockchip-rk3326-evb.conf rockchip-rk3566-evb.conf templateconf.cfg
include rk3399 rockchip-px3se-evb.conf rockchip-rk3308-evb-aarch32.conf rockchip-rk3328-evb.conf rockchip-rk3568-evb.conf
local.conf rk3399pro rockchip-rk3288-evb-act8846.conf rockchip-rk3308-evb.conf rockchip-rk3399-sapphire-excavator.conf rockchip-rk3588-evb.conf
rk3288 rk356x rockchip-rk3288-evb.conf rockchip-rk3326-evb-32.conf rockchip-rk3399pro-evb.conf sanity.conf
可以看到在rockchip平臺(tái),該SDK當(dāng)前支持的構(gòu)建平臺(tái),其中,所有的方案均以local.conf文件所設(shè)置的信息為準(zhǔn)。
如果存在多個(gè)方案,可以在當(dāng)前文件夾下多個(gè)方案文件夾,每個(gè)文件夾下均還有自己的方案對(duì)應(yīng)的conf/local.conf信息文件。
在當(dāng)前SDK平臺(tái)中,沒有這樣做,所以選擇方案需要使用ln -sf **** local.conf文件來進(jìn)行方案的選擇。
選擇好方案之后,目前我選擇的方案是這樣的:
lrwxrwxrwx 1 jie jie 23 Aug 24 20:46 local.conf -> rk356x/roc-rk3568-pc.mk
選擇好之后,開始構(gòu)建
source oe-init-build-env
bitbake core-image-minimal
我的構(gòu)建開始信息:
使用上述構(gòu)建參數(shù)構(gòu)建出來的yacto系統(tǒng)僅僅只是一個(gè)能讓設(shè)備啟動(dòng)的小鏡像,沒有啟動(dòng)界面。他的配置文件放在:meta-openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb
可以查看:meta-rockchip/README.md 可以看到rockchip對(duì)自己命令的支持。
簡(jiǎn)單列舉一下支持的其他命令:
core-image-minimal : 一個(gè)能夠讓設(shè)備啟動(dòng)的小鏡像,它無界面
core-image-sato : 一個(gè)支持Sato的鏡像,它支持帶有Sato主題和Pimlico應(yīng)用程序的X11,還包含終端、編輯器和文件管理器,它是一個(gè)基于GNOME Mobile的用戶界面環(huán)境,使用matchbox作為窗口管理器
meta-toolchain:一個(gè)可編譯出gcc交叉工具鏈安裝程序的選項(xiàng),生成的文件位于目錄/to/yocto>/build/tmp/deploy/sdk,主要輸出文件為.sh安裝文件
meta-ide-support:一個(gè)用于確保目錄/to/yocto>/build包含有IDE工具鏈包的選項(xiàng),生成的文件為environment-setup-xxxxxx-neon-poky-linux-gnueabi,位于目錄to/yocto>/build/tmp,直接用soucre命令運(yùn)行即可
更詳細(xì)的可以查看yocto的配置文檔:
https://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-images
yocto中編譯出來的文件:
在build中:
├── abi_version
├── buildstats
├── cache
├── deploy //生成的鏡像文件
├── hosttools //構(gòu)建工具,當(dāng)然還沒有生成
├── log //過程的log
├── pkgdata
├── qa.log
├── saved_tmpdir
├── sstate-control
├── stamps
├── sysroots //生成的產(chǎn)品根文件系統(tǒng)
├── sysroots-components
├── sysroots-uninative
├── uboot_img_prefix.tmp
├── work //編譯過程中生成的文件 第三方軟件包就放在這里
└── work-shared //編譯過程中的源文件依賴 kernel 就放在這里
在build文件夾中可以使用如下命令快捷編譯相關(guān)的工具:
編譯ubot
bitbake virtual/bootloader
編譯kernel
bitbake virtual/kernel
編譯工具或者軟件包
bitbake xxxxxx // xxxxx為配方 bb 文件之前的部分
具體可以使用
bitbake s 查看當(dāng)前系統(tǒng)中都支持構(gòu)建哪些包
如果沒有自己想要的軟件包,可以在yacto官網(wǎng)上下載自己需要的配方,添加進(jìn)yacto中,再次查看是否添加進(jìn)來。
下載軟件包的連接:OpenEmbedded Layer Index - recipes
-
RK3568
+關(guān)注
關(guān)注
5文章
654瀏覽量
8090 -
開發(fā)板試用
+關(guān)注
關(guān)注
3文章
303瀏覽量
2784
發(fā)布評(píng)論請(qǐng)先 登錄
迅為驅(qū)動(dòng)開發(fā)實(shí)戰(zhàn):iTOP-RK3568開發(fā)板eDP屏幕移植全攻略
【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅(qū)動(dòng)開發(fā)實(shí)戰(zhàn):RK3568內(nèi)核模塊符號(hào)導(dǎo)出詳解
飛凌嵌入式RK3568開發(fā)板的TFTP燒寫文件系統(tǒng)指南
【作品合集】合眾HZ-RK3568開發(fā)板測(cè)評(píng)
迅為RK3568開發(fā)板模型推理測(cè)試實(shí)戰(zhàn)LPRNet?車牌識(shí)別
【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】HZ-RK3568開發(fā)板操作系統(tǒng)編譯
【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】系統(tǒng)燒寫
【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】1、開發(fā)板資源、SDK使用和鏡像燒寫
【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】HZ-RK3568開發(fā)板初步接觸
【HZ-RK3568開發(fā)板免費(fèi)體驗(yàn)】01 開箱+環(huán)境搭建+系統(tǒng)燒錄升級(jí)
Ubuntu系統(tǒng)安裝Docker詳細(xì)攻略,觸覺智能RK3568開發(fā)板演示
迅為RK3568開發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
迅為RK3568開發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)三級(jí)節(jié)點(diǎn)操作函數(shù)實(shí)驗(yàn)
【ROC-RK3568-PC開發(fā)板試用體驗(yàn)】Linux系統(tǒng)構(gòu)建-----閑話多,可倍速
評(píng)論