Orodha ya maudhui:

Mkusanyiko wa 64bit RT Kernel kwa Raspberry Pi 4B.: Hatua 5
Mkusanyiko wa 64bit RT Kernel kwa Raspberry Pi 4B.: Hatua 5

Video: Mkusanyiko wa 64bit RT Kernel kwa Raspberry Pi 4B.: Hatua 5

Video: Mkusanyiko wa 64bit RT Kernel kwa Raspberry Pi 4B.: Hatua 5
Video: Windows Client/Server Wizardry: Unlocking the Secrets of Processes and Virtualization Security 2024, Novemba
Anonim
Mkusanyiko wa 64bit RT Kernel kwa Raspberry Pi 4B
Mkusanyiko wa 64bit RT Kernel kwa Raspberry Pi 4B

Mafunzo haya yatashughulikia mchakato wa ujenzi na usanidi wa 64 bit Real Time Kernel kwenye Raspberry Pi. RT Kernel ni muhimu kwa utendaji kamili wa ROS2 na suluhisho zingine za Real Time IOT.

Kernel iliwekwa kwenye Raspbian ya x64 ambayo inaweza kupatikana hapa

Kumbuka. Mafunzo haya ingawa moja kwa moja yanahitaji ujuzi wa kimsingi wa mfumo wa uendeshaji wa Linux.

Pia kwa sababu ya mapungufu ya jukwaa hili viungo vyote vya http vinakosa h. Ili kuzirekebisha rahisi ongeza "h" mbele ya kiunga

Vifaa

x64 PC inayoendesha Linux

Raspberry Pi 4B na Raspbian 64 tayari imewekwa

Uunganisho kwenye mtandao.

Hatua ya 1: Kupata Zana za Neccesery

Kwanza tunahitaji kuchagua zana za neccecery dev.

Wanaweza kupatikana kwa kutekeleza amri zifuatazo kwenye terminal ya Linux

Sudo apt-get install-muhimu libgmp-dev libmpfr-dev libmpc-dev libisl-dev libncurses5-dev bc git-core bison flex sudo apt-get kufunga libncurses-dev libssl-dev

Hatua ya 2: Kukusanya Zana za Kuunda Asili za Mkusanyiko wa Msalaba

Hatua inayofuata ni kuandaa na kukusanya zana za mkusanyiko wa punje yetu.

Chombo cha firs ambacho tutasakinisha ni Binutils mafunzo haya yalijaribiwa na toleo la binutils 2.35.

cd ~ / Downloadswget ttps: //ftp.gnu.org/gnu/binutils/binutils-2.35.tar.bz2tar xf binutils-2.35.tar.bz2cd binutils-2.35 /./ configure --prefix = / opt / aarch64 - lengo = aarch64-linux-gnu - inayoweza kuharibika-nls

Baada ya kumaliza usanidi tunahitaji kukusanya programu kwa kutumia amri zifuatazo

fanya -jx

Sudo kufanya kufunga

ambapo -jx inamaanisha ni kazi ngapi unataka kufanya i parrarell. Utawala wa kidole gumba ni kuiweka sio juu kuliko kiwango cha nyuzi ambazo mfumo wako unazo. (kwa mfano fanya -j16)

na mwishowe tunahitaji kusafirisha njia

Njia ya kuuza nje = $ PATH: / opt / aarch64 / bin /

Kuliko tunaendelea na ujenzi na usanidi wa GCC

cd.. wget ttps: //ftp.gnu.org/gnu/gcc/gcc-8.4.0/gcc-8.4.0.tar.xztar xf gcc-8.4.0.tar.xzcd gcc-8.4.0 /. /contrib/download_prerequisites./configure --prefix = / opt / aarch64 --target = aarch64-linux-gnu --with-newlib - bila vichwa / - vizuizi-nls - zinazoshirikiwa-zilizoshirikiwa-nyuzi - inayoweza-libssp -disable-decimal-float / - inayoonekana-libquadmath -disable-libvtv -disable-libgomp -disable-libatomic / --able-languages = c -disable-multilib

Kuliko sawa na kabla ya sisi kutengeneza na kusanikisha mkusanyaji wetu

fanya yote-gcc -jx

Sudo kufanya kufunga-gcc

Ikiwa kila kitu kilikwenda vizuri kufuata amri

/ opt / aarch64 / bin / aarch64-linux-gnu-gcc -v

inapaswa kufanya resoult katika nafasi sawa na hii.

ux-gnu-gcc -v Kutumia vijenzi vilivyojengwa. COLLECT_GCC = / opt / aarch64 / Bin / aarch64-linux-gnu-gcc./configure --prefix = / opt / aarch64 --target = aarch64-linux-gnu --with-newlib - bila vichwa -disable-nls -disable-shared -disable-threads -disable-libssp -disable-decimal-kuelea -disable-libquadmath -disable-libvtv -disable-libgomp -disable-libatomic -inable-languages = c -disable-multilib Thread model: toleo moja la gcc 8.4.0 (GCC)

Hatua ya 3: Kuchukua Kernel na Kusanidi Kernel

Sasa ni wakati wake wa kupata kernel yetu na kiraka cha RT.

Mafunzo haya yatatumia rpi kernel v 5.4 na RT kiraka RT32. Mchanganyiko huu ulinifanyia kazi vizuri. Walakini kila kitu kinapaswa kufanya kazi vizuri na matoleo tofauti.

mkdir ~ / rpi-kernel

cd ~ / rpi-kernel git clone ttps: //github.com/raspberrypi/linux.git -b rpi-5.4. wget ttps: //mirrors.edge.kernel.org/pub/linux/kernel/projects/rt /5.4/older/patch-5.4.54-rt32.patch.gz mkdir kernel-out cd linux

kisha ondoa kiraka.

gzip -cd../patch-5.4.54-rt32.patch.gz | kiraka -p1 - kibali

Na usanidi wa utangulizi wa Rpi 4B

fanya O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = / opt / aarch64 / bin / aarch64-linux-gnu- bcm2711_defconfig

Zaidi ya hayo tunahitaji kuingia kwenye menuconfig

fanya O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = / opt / aarch64 / bin / aarch64-linux-gnu- menuconfig

Wakati inapoacha tunahitaji usanidi uliopo, kisha nenda kwa

Jumla -> Mfano wa Utangulizi na uchague chaguo la Saa Halisi.

kuliko tunavyohifadhi usanidi mpya na kutoka kwenye menyu.

Hatua ya 4: Kujenga RT Kernel

Sasa wakati wake wa kukusanya. Kumbuka inaweza kuchukua muda mrefu kulingana na uwezo wako wa PC.

fanya -jx O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-

Kama kabla -jx inamaanisha idadi ya kazi. Baada ya mkusanyiko uliofanikiwa tunahitaji kupakia Kernel yetu na kuituma kwa Raspberry Pi. Ili kufanya hivyo tunafanya amri zifuatazo.

kuuza nje INSTALL_MOD_PATH = ~ / rpi-kernel / rt-kerneleportport INSTALL_DTBS_PATH = ~ / rpi-kernel / rt-kernelmake O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu- modules_install dtbs_installcp.. nje / upinde / arm64 / boot / Picha../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz * cd..

Sasa kernel yetu inapaswa kuwa ndani ya kumbukumbu ya rt-kernel.tgz na iko tayari kutumwa na kusanikishwa.

Hatua ya 5: Kusanikisha Kernel mpya

Njia rahisi zaidi ya kupeleka punje yetu kwa raspbperry ni kwa kutumia scp.

Tunafanya tu amri ya kufuata.

scp rt-kernel.tgz pi @: / tmp

Sasa tunahitaji kuingia kwenye pi yetu kupitia ssh na kufungua Kernel yetu.

ssh pi @

Wakati tumeingia tunaiga faili zetu kwa kutumia amri zifuatazo.

cd / dalili xzf rt-kernel.tgz cd boot sudo cp -rd * / boot / cd../lib sudo cp -dr * / lib / cd../overlays sudo cp -dr * / boot / overlays cd../ broadcom sudo cp -dr bcm * / boot /

Baada ya hapo kilichobaki kufanya ni kuhariri / boot/config.txt faili na kuongeza laini inayofuata.

kernel = kernel8.img

Baada ya kuanza tena pi kila kitu kinapaswa kufanya kazi vizuri.

Kuangalia ikiwa kernel mpya imewekwa kwa ufanisi unaweza kutekeleza

uname -a

amri

Ilipendekeza: