摘要
本文概要介紹於Ubuntu作業系統跨平台編譯基於Yocto專案之BeagleBone Black單板電腦的Linux作業系統核心的步驟;其中採用了BeagleBone Black之晶片原廠德州儀器的Arago專案此一Yocto。
本文
Yocto專案是一個自由軟體專案計畫,它提供了具備互操作性的工具、meta資料、以及流程,以便於快速且可重複地開發基於Linux之可客製化的嵌入式系統;其中,它使用了BitBake這個軟體組建自動化工具程式來進行程式建構。
Scarthgap是第5.0版Yocto的釋出代號。
Arago專案亦為一個Yocto,德州儀器以此作為SDK的基底。
ti-docker-images這個Github專案,引用了Arago專案,作為德州儀器之AM3358晶片的SDK,可以建構出適用於BeagleBone Black單板電腦的作業系統,可以選擇使用Docker容器來進行建構。
隨後將於Ubuntu 24.04作業系統搭配ti-docker-images專案以Docker容器來建構AM3358晶片作業系統映象檔,此一映象檔將寫入SD卡、插入BeagleBone Black單板電腦。
export WORK_DIR=/home/$USER/Downloads
docker run --privileged -it -v ${WORK_DIR}:/home/tisdk -v /dev:/dev -v /media/:/media/ -w /home/tisdk ghcr.io/texasinstruments/ubuntu-distro:latest
echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns
sudo chown -R tisdk /home/tisdk
git clone https://git.ti.com/git/arago-project/oe-layersetup.git tisdk
cd tisdk
./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-09.03.05.02-legacy-config.txt
cd build
nano conf/local.conf
. conf/setenv
MACHINE=am335x-evm bitbake -k tisdk-default-image
其中,可以任意指定路徑予WORK_DIR;寫入特定值至apparmor_restrict_unprivileged_userns此一sysfs檔案乃因應Ubuntu 24.04作業系統所做出的調整;組態設定參考這裡、而機器參考這裡來指定AM3358晶片族;另外還可以用nano來編輯調整conf/local.conf設定檔的內容,例如把BB_NUMBER_THREADS設置為"4"、及/或PARALLEL_MAKE調整為"-j 4"。
建構完畢的畫面如下所示。
映象檔儲存於deploy-ti/images/am335x-evm/tisdk-default-image-am335x-evm.wic.xz路徑,可以使用xz -d tisdk-default-image-am335x-evm.wic.xz指令來進行解壓縮,還可以使用rpi-imager工具來將wic映象檔寫入SD卡。將映象檔寫入SD卡並插入BeagleBone Black單板電腦後的開機畫面如下所示。
完成。
附帶一提,過程中若遭遇特定包裹編譯失敗,可以僅清除該包裹的狀態並編譯之、且再次建構tisdk-default-image;例如:MACHINE=am335x-evm bitbake -c cleansstate php、和MACHINE=am335x-evm bitbake php。
參考文獻
https://software-dl.ti.com/processor-sdk-linux/esd/AM335X/09_03_05_02/exports/docs/linux/Overview_Building_the_SDK.html
https://software-dl.ti.com/processor-sdk-linux/esd/AM335X/09_03_05_02/exports/docs/linux/Release_Specific_Yocto_layer_Configuration.html#yocto-layer-configuration
https://github.com/TexasInstruments/ti-docker-images
https://discourse.ubuntu.com/t/ubuntu-24-04-lts-noble-numbat-release-notes/39890
沒有留言:
張貼留言