Mwongozo wa Mradi wa Yocto wa chanzo wazi
Fungua chanzo Yocto Mwongozo wa Mradi wa Linux maalum kwenye Raspberry Pi na vidokezo vya usanidi wa Docker
Dive kwenye Mradi wa Yocto kwa mifumo maalum ya Linux kwenye maunzi yoyote. Kamili kwa watengenezaji na wapenzi wa mifumo iliyopachikwa . Anza ujenzi wa sasa!
Chunguza Mradi wa Yocto, mpango wa chanzo huria wa kuunda mifumo maalum ya Linux kwa usanifu wowote wa maunzi. Jifunze kutumia CROPS kwa ukuzaji wa jukwaa la msalaba, sanidi vyombo vya Docker, na ujenge picha za Linux zilizolengwa kwa vifaa vilivyopachikwa na IoT. Mwongozo wetu unashughulikia usanidi kwenye macOS, kusanidi mazingira ya ujenzi, na kuboresha Raspberry Pi. Iwe wewe ni mwanzoni au mtaalam, pata mazoea bora, zana, na usaidizi wa jamii kwa mahitaji yako ya mradi wa Linux.
Yocto mbio katika kontena docker
Katika hati za yocto kuna sura (2.2.2) ya kuanzisha Jukwaa la CROss (CROPS) kama mbadala wa kuanzisha pc ya asili ya linux. Njia hii mbadala hutumia chombo cha docker kujenga picha ya mfumo iliyoboreshwa kwa mfano kwa Raspberry Pi.
Kwa bahati mbaya kuna makosa kidogo katika nyaraka za kuanzisha mazingira haya kwangu kwenye Mac OS X (Monterey).
Setup docker container kwa Mac OS X
Ili kutumia docker ya CROPS kwenye Linux, Windows na Mac OS X, kuna mipangilio maalum inayohitajika. Kabla ya kuanzisha chombo cha Yocto, lazima uunda kiasi cha docker kuhifadhi matokeo. Pia chombo cha docker samba kinatumika kutoa faili katika Mac OS X.
Unda kiasi cha docker
Katika dirisha la terminal andika amri zifuatazo:
docker volume create --name raspberry
docker run -it --rm -v raspberry:/workdir busybox chown -R 1000:1000 /workdir
Unda na endesha chombo cha samba
OSX haitakuruhusu kuunganisha kwenye sehemu ya samba inayoendesha ndani. Kwa hiyo, kwanza lazima uunde lakabu kwa 127.0.0.1 ya 127.0.0.2.
sudo ifconfig lo0 127.0.0.2 alias up
Kisha unda chombo cha samba, ambacho hukuruhusu kuona faili katika kiasi cha docker:
docker create -t --expose 445 -p 127.0.0.2:445:445 --name samba -v raspberry:/workdir crops/samba
Kwa kuwa utahitaji kila wakati kuwa na lakabu kuungana na chombo cha samba, unaweza kuchanganya mwanzo wa samba na lakabu kama hivyo:
docker start samba && sudo ifconfig lo0 127.0.0.2 alias up
Sasa unaweza kufungua workdir katika kivinjari cha faili. Katika kitafutaji hit "Command-K" na katika aina ya sanduku la anwani ya seva "smb://127.0.0.2/workdir" na ubofye "Unganisha". Sasa unapaswa kuona maudhui ya kiasi cha docker katika finder.
Unda na uanze chombo cha Yocto
Ili kuunda na / au kuanza aina ya kontena la Yocto kwenye dirisha la terminal:
docker run --rm -it --name=crops-poky -v raspberry:/workdir crops/poky:ubuntu-20.04 --workdir=/workdir
Kuweka mazingira ya kujenga katika chombo
Wakati chombo cha docker kimeanzishwa, una kidokezo cha terminal ambacho kinaonekana kama hii: "pokyuser@d4ddfe042587:/workdir".
Sasa unaweza kuweka mazingira ya kujenga.
Toleo la poky ya Clone
Kwa upande wangu ninatumia toleo la Yocto 3.4 na jina "Honister", kwa sababu tabaka za meta-raspberry hazipatikani kwa matoleo mapya ya poky kwa wakati huu. Kwa mara ya kwanza unapaswa kuunda hazina ya poky:
git clone -b honister git://git.yoctoproject.org/poky poky-honister
Ikiwa unataka kusasisha poky kwa toleo la hivi karibuni:
cd poky-honister
git pull --all --prune
Tabaka za ziada za meta kwa Raspberry Pi
Badilisha kuwa "poky-honister" na utengeneze hazina zifuatazo: meta-raspberry, meta-openembedded na ikiwa inahitajika meta-qt5
cd poky-honister
git clone -b honister git://git.yoctoproject.org/meta-raspberrypi
git clone -b honister git://git.openembedded.org/meta-openembedded
git clone -b honister https://github.com/meta-qt5/meta-qt5.git
Usanidi wa kujenga usanidi
Acha saraka ya poky-honister, ili uwe kwenye /workdir. Sasa chanzo mazingira ya ujenzi na hati oe-init-build-env.
cd ..
source poky-honister/oe-init-build-env rpi-build
Saraka mpya "rpi-build" - unaweza kuiita kama unavyotaka - na saraka ya conf na faili bblayers.conf, local.conf na templateconf.cfg imeundwa.
Kwa kuwa hakuna mhariri wa maandishi aliyesakinishwa kwenye chombo, lazima uhariri faili za usanidi katika sauti ya samba iliyowekwa katika Mac OS X au lazima usakinishe kihariri cha maandishi kwenye chombo. Ili kufanya hivyo, lazima ufungue dirisha la terminal la pili - wakati chombo cha yocto kinaendeshwa - na uanze ganda la bash kwenye chombo na marupurupu ya mizizi:
docker exec -it --user=root crops-poky bash
apt-get install nano
exit
Kisha unaweza kuhariri faili za usanidi kwenye chombo cha yocto kama pokyuser.Kumbuka
Mhariri hajasakinishwa kabisa. Baada ya kuondoka kwenye chombo na kuingia tena, lazima uisanidi tena
nano conf/bblayers.conf
Ongeza "/workdir/poky-honister/meta-raspberrypi " ili ionekane kama
BBLAYERS ?= " \
/workdir/poky-honister/meta \
/workdir/poky-honister/meta-poky \
/workdir/poky-honister/meta-yocto-bsp \
/workdir/poky-honister/meta-raspberrypi \
"
na kuiokoa.
Hariri ya pili ya ndani.conf
Hariri faili ya ndani.conf:
nano conf/local.conf
Badilisha mistari ifuatayo:
-MASHINE?? = "qemux86-64" -> MASHINE ?? = "raspberrypi4-64"
Kulingana na Raspberry unayotaka kutumia (raspberrypi0, raspberrypi0w, raspberrypi3, raspberrypi3-64, raspberrypi4, raspberrypi4-64, nk)
Ondoa mistari ifuatayo:
- DL_DIR ?= "${TOPDIR}/downloads"
- SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
- TMPDIR = "${TOPDIR}/tmp"
Ongeza mistari ifuatayo mwishoni, ili kupata sdimg ili kuangaza kwa kadi ya SD:
- IMAGE_FSTYPES = "ext4.xz rpi-sdimg"
- SDIMG_ROOTFS_TYPE = "ext4.xz"
Hifadhi faili ya local.conf.
Bitbake picha ya kwanza
Sasa una mipangilio ndogo ya kujenga picha ya kwanza:
bitbake -k core-image-minimal
Katika nyaraka za Yocto unapata maelezo mafupi ya maelezo ya picha yanayopatikana.
Kwa mfano:
- msingi-picha-minimal: Picha ndogo tu uwezo wa kuruhusu kifaa kuwasha.
- msingi-picha-msingi: Picha ya kiweko pekee ambayo inasaidia kikamilifu maunzi ya kifaa lengwa.
- msingi-picha-full-cmdline: Picha ya koni-tu iliyo na utendaji kamili zaidi wa mfumo wa Linux uliosakinishwa.
Baada ya muda - ambayo inaweza kuwa masaa ya seva kwa mara ya kwanza - bitbake inamaliza na unapata faili ya sdimg kwenye saraka ifuatayo:
/workdir/rpi-build/tmp/deploy/images/raspberrypi4-64
Usanidi wa ziada
Usanidi wa vifaa vya ziada vya Raspberry
Ili kuweka mipangilio maalum ya maunzi, unaweza kuangalia extra-apps.md na extra-build-config.md. Unapata faili hizi pia kwenye saraka ya meta-raspberrypi/docs.
Safu ya meta pia hutoa usanidi wa picha "rpi-test-picha" kutumia na bitbake. Picha hiyo inategemea "msingi wa picha-msingi" ambayo inajumuisha vifurushi vingi katika meta-raspberrypi na sampuli zingine za media.
bitbake -k rpi-test-image
Usanidi wa programu ya ziada
Kulingana na muundo wa picha unayotumia, unaweza kuhitaji kusakinisha vifurushi vya ziada vya programu.
Unaweza kufanya hivyo, kwa kuongeza mipangilio fulani kwenye faili ya local.conf.
Kwa mfano ongeza mistari ifuatayo, kuweka ssh-server, mtumiaji wa pi na systemd:
## packages
IMAGE_INSTALL:append = " openssh-sftp-server sudo python3 python3-pip rpi-gpio raspi-gpio"
IMAGE_FEATURES:append = " ssh-server-openssh"
## systemd settings
DISTRO_FEATURES:append = " systemd"
VIRTUAL-RUNTIME:init_manager = "systemd"
VIRTUAL-RUNTIME:initscripts = ""
IMX_DEFAULT_DISTRO_FEATURES:append = " systemd"
Au ongeza python:
IMAGE_INSTALL:append = " python3 python3-pip rpi-gpio raspi-gpio"
Kumbuka
Nafasi ya mwanzo katika " python3 python3-pip rpi-gpio raspi-gpio" ni muhimu, kwa sababu maandishi yamepangwa kwa usanidi uliopo na inahitaji kutengwa na nafasi hii.
Leseni ya Hakimiliki
Copyright © 2022 Interelectronix e.K.
Msimbo huu wa chanzo cha Mradi una leseni chini ya leseni ya GPL-3.0.
Kukiri
Vyanzo vinavyotumika kuunda Maagizo haya:
- https://github.com/crops/poky-container- https://docs.yoctoproject.org/index.html
Shukrani kwa wote.