本文來源電子發(fā)燒友社區(qū),作者:XX, 帖子地址:https://bbs.elecfans.com/jishu_2302357_1_1.html
yocto 工程編譯與燒錄
類似于AOSP工程的編譯方式,這個yocto在初始化的時候,也是會掃描所有的bb文件。
而是要從各個不同的地方(比如nxp官方的git 或者是busybox的git)下載這些源碼,然后將這些源碼解壓,這里可以選擇米爾官方已經(jīng)下載好的,這樣可以避免網(wǎng)絡(luò)問題導(dǎo)致下載失敗。將網(wǎng)盤上面的downloads壓縮包下載之后,解壓,然后放到 和source同級目錄 。此時,SDK目錄的文件如下圖所示
下載完download之后,即可開始編譯,首先要設(shè)置DISTRO 和MACHINE,對于myd j1028開發(fā)板,執(zhí)行如下命令
DISTRO=nxp-real-time-edge MACHINE=mydj1028 source real-time-edge-setup-env.sh -b myir-real-edge
-b后面指定的是構(gòu)建輸出目錄,是相對路徑。
然后執(zhí)行
bitbake myir-image-real-time-edge
這里的意思是,總共有6646個構(gòu)建的子目標(biāo)。全部完成即可得到固件。
經(jīng)過漫長的等待,最終在myir-real-edge/tmp/deploy/images/mydj1028下得到固件。
這個固件可以放到EMMC執(zhí)行,但是需要通過sd卡燒錄,所以還要編譯一個能夠通過SD卡燒錄的鏡像
bitbake myir-image-burn
得到鏡像在tmp/deploy/images/mydj1028,這里有很多鏈接,實際上文件名應(yīng)該是myir-image-burn-mydj1028-20220826154153.rootfs.wic.bz2
將這個文件按照 https://bbs.elecfans.com/jishu_2296118_1_1.html所述的方式燒錄到板上。
第一次啟動,報錯,有如下提示
這里的意思是它嘗試把/dev/mmcblk0p1掛載到/boot。而從emmc啟動時沒有mmcblk0p1。可以通過如下方式修改
vi /etc/fstab
將此處的mmcblk0p1改為mmcblk1p1,mmcblk0對應(yīng)sd卡槽那路sdmmc,mmcblk1對應(yīng)才是emmc那路sdmmc,這里應(yīng)該是myir的sdk默認(rèn)從sd卡啟動,后面應(yīng)該在編譯系統(tǒng)的時候就改好fstab
修改之后reboot,這次就是進入正常的系統(tǒng)了
到這里,系統(tǒng)編譯就完成了
構(gòu)建遇到的問題:
1、主機buildtools(host gcc等)版本不對
可以到downloads.yoctoproject.org/releases/yocto/去下載符合版本要求的。此網(wǎng)站有很多版本可以選擇,到sources/meta-poky/conf/distro/poky.conf找到當(dāng)前的版本,比如
那么版本就是3.2.1,然后到downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/buildtools/下載x86_64-buildtools-extended-nativesdk-standalone-3.2.1.sh 并執(zhí)行安裝(實際就是把一堆可執(zhí)行程序解壓到那個目錄)。安裝之后執(zhí)行一下安裝文件夾下的environment-setup-x86_64-pokysdk-linux ,然后再執(zhí)行bitbake即可。
2、optee編譯報錯
幾個函數(shù)找不到定義。既然找不到定義,optee一般情況下用不上,況且這個是個host端的測試程序,那就直接干掉
在myir-real-edge/tmp/work/mydj1028-fsl-linux/optee-test-qoriq/3.10.0+gitAUTOINC+0c998f42a3-r0/git/ta/os_test/ta_entry.c
注釋掉這幾個函數(shù),直接返回成功即可。注意這里的修改是在編譯的目標(biāo)文件夾里面修改,yocto的編譯是把下載的源碼壓縮包(downloads里面那些)解壓到構(gòu)建輸出目錄,并且在這個目錄執(zhí)行編譯的,那就直接修改它解壓出來的源碼。
3、u-boot報找不到url地址,這個是MYIR的配置文件寫錯
在sources/meta-myir-real-time/dynamic-layers/qoriq-layer/recipes-bsp/u-boot/u-boot-qoriq_%.bbappend 修改這兩行內(nèi)容
-
米爾科技
+關(guān)注
關(guān)注
5文章
227瀏覽量
20999 -
MYD-J1028X
+關(guān)注
關(guān)注
1文章
16瀏覽量
283
發(fā)布評論請先 登錄
相關(guān)推薦
評論