Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pagkuha ng Mga Neccesery Tool
- Hakbang 2: Mga Compilng Native Build Tools para sa Cross Compilation
- Hakbang 3: Pag-patch ng Kernel at Pag-configure ng Kernel
- Hakbang 4: Pagbuo ng RT Kernel
- Hakbang 5: Pag-install ng Bagong Kernel
Video: 64bit RT Kernel Compilation para sa Raspberry Pi 4B.: 5 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Saklaw ng tutorial na ito ang proseso ng pagbuo at pag-install ng 64 bit na Real Time Kernel sa Raspberry Pi. Ang RT Kernel ay mahalaga para sa buong pagpapaandar ng ROS2 at iba pang mga solusyon sa Real Time IOT.
Ang Kernel ay na-install sa x64 based Raspbian na maaaring makuha dito
Tandaan Ang tutorial na ito kahit na prangka na nangangailangan ng pangunahing kaalaman sa operating system ng Linux.
Dahil din sa mga limitasyon ng platform na ito lahat ng mga link sa http ay kulang sa h. Upang ayusin ang mga ito simpli magdagdag ng "h" sa harap ng link
Mga gamit
x64 batay sa PC na tumatakbo sa Linux
Ang Raspberry Pi 4B na may naka-install na Raspbian 64
Koneksyon sa Internet.
Hakbang 1: Pagkuha ng Mga Neccesery Tool
Una kailangan naming pumili ng mga tool sa neccecery dev.
Maaari silang makuha sa pamamagitan ng pagpapatupad ng mga sumusunod na utos sa Linux terminal
sudo apt-get install build-essential libgmp-dev libmpfr-dev libmpc-dev libisl-dev libncurses5-dev bc git-core bison flexsudo apt-get install libncurses-dev libssl-dev
Hakbang 2: Mga Compilng Native Build Tools para sa Cross Compilation
Susunod na hakbang ay ang preapare at compile ng mga tool para sa cross compilation ng aming kernel.
Ang tool na Firs na mai-install namin ay Binutils ang tutorial na ito ay nasubukan sa bersyon ng 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 - target = aarch64-linux-gnu --disable-nls
Matapos matapos ang pagsasaayos kailangan naming mag-compile ng programm gamit ang mga sumusunod na utos
gumawa -jx
sudo gumawa ng pag-install
kung saan -jx nangangahulugang kung gaano karaming mga trabaho ang nais mong patakbuhin i parrarell. Ang Rule of thumb ay upang ilagay ito nang hindi mas mataas kaysa sa dami ng mga thread na mayroon ang iyong system. (halimbawa gumawa -j16)
at sa wakas kailangan nating i-export ang landas
i-export ang PATH = $ PATH: / opt / aarch64 / bin /
Kaysa sa magpatuloy kami sa pagbuo at pag-install ng 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 --without-headers / --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-Languages = c --disable-multilib
Kaysa sa katulad ng bago namin ginawa at mai-install ang aming tagatala
gumawa ng all-gcc -jx
sudo gumawa ng install-gcc
Kung ang lahat ay naging maayos na pagsunod sa utos
/ opt / aarch64 / bin / aarch64-linux-gnu-gcc -v
dapat mag-resoult sa pagtugon na katulad nito.
ux-gnu-gcc -v Paggamit ng built-in na mga detalye. COLLECT_GCC = / opt / aarch64 / bin / aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER = / opt / aarch64 / libexec / gcc / aarch64-linux-gnu / 8.4.0 / lto-wrapper Target: aarch64-linux-gnu Naisaayos sa:./configure --prefix = / opt / aarch64 --target = aarch64-linux-gnu --with-newlib --without-headers --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-Languages = c --disable-multilib Thread model: solong gcc bersyon 8.4.0 (GCC)
Hakbang 3: Pag-patch ng Kernel at Pag-configure ng Kernel
Oras na nito upang makuha ang aming kernel at patch ng RT.
Ang tutorial na ito ay gagamit ng rpi kernel v 5.4 at RT patch RT32. Ang kombinasyon na ito ay gumagana nang maayos para sa akin. Gayunpaman ang lahat ay dapat gumana nang maayos sa iba't ibang mga bersyon.
mkdir ~ / rpi-kernel
cd ~ / rpi-kernel git clone ttps: //github.com/raspberrypi/linux.git -b rpi-5.4.y 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
pagkatapos ay i-unpack ang patch.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 --asalita
At ang pagsasaayos ng pauna para sa Rpi 4B
gumawa ng O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = / opt / aarch64 / bin / aarch64-linux-gnu- bcm2711_defconfig
Bukod dito kailangan namin upang ipasok ang menuconfig
gumawa ng O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = / opt / aarch64 / bin / aarch64-linux-gnu- menuconfig
Kapag pinupuri ito kailangan namin ng mayroon nang pagsasaayos, pagkatapos ay pumunta sa
Pangkalahatan -> Model ng Preemtion at piliin ang pagpipiliang Real Time.
kaysa sa makatipid kami ng bagong pagsasaayos at lumabas sa menu.
Hakbang 4: Pagbuo ng RT Kernel
Ngayon ang oras ng pagtitipon nito. Tandaan na maaaring magtagal ito depende sa iyong mga kakayahan sa PC.
gumawa -jx O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Tulad ng dati -jx nangangahulugang bilang ng mga trabaho. Matapos ang matagumpay na pagtitipon kailangan naming i-pack ang aming Kernel at ipadala ito sa Raspberry Pi. Upang magawa ito, nagpapatupad kami ng mga sumusunod na utos.
i-export ang INSTALL_MOD_PATH = ~ / rpi-kernel / rt-kernelexport INSTALL_DTBS_PATH = ~ / rpi-kernel / rt-kernelmake O =.. / kernel-out / ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu- modules_install dtbs_installcp out / arch / arm64 / boot / Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz * cd..
Ngayon ang aming kernel ay dapat na nasa loob ng archive ng rt-kernel.tgz at handa na itong ipadala at mai-install.
Hakbang 5: Pag-install ng Bagong Kernel
Ang pinakamadaling paraan ng pagpapadala ng aming kernel sa raspbperry ay sa pamamagitan ng paggamit ng scp.
Nagpapatupad lamang kami ng follwing command.
scp rt-kernel.tgz pi @: / tmp
Ngayon kailangan naming mag-login sa aming pi sa pamamagitan ng ssh at i-unpack ang aming Kernel.
ssh pi @
Kapag naka-log in kinopya namin ang aming mga file gamit ang mga sumusunod na utos.
cd / tmptar xzf rt-kernel.tgz cd boot sudo cp -rd * / boot / cd../lib sudo cp -dr * / lib / cd../overlays sudo cp -dr * / boot / overlay ng cd../ broadcom sudo cp -dr bcm * / boot /
Pagkatapos nito ay ang natitirang gawin ay i-edit ang /boot/config.txt file at idagdag ang sumusunod na linya.
kernel = kernel8.img
Pagkatapos ng pag-reboot ng pi lahat dapat na gumana nang maayos.
Upang suriin kung matagumpay na na-install ang bagong kernel maaari kang magpatupad
uname -a
utos
Inirerekumendang:
Mga Larong Pang-tunog ng Mga Hayop para sa Mga Bata: 4 na Mga Hakbang
Mga Larong Pang-tunog ng Mga Hayop para sa Mga Bata: Ang hayop ay tunog sa sarili nitong tinig kapag ang puzzle ng hayop na ito ay inilagay nang tama para sa mga bata sa ilalim ng 24 na buwan. Masisiyahan ang iyong mga anak na lalaki kapag narinig nila ang lahat ng anim na tunog na ibinubuga ng hayop niya. Ang proyektong ito ay batay sa isang produktong komersyal, ngunit nais ko
Mga Kaso ng Baterya para sa Mga Elektronikong Kit .: 11 Mga Hakbang (na may Mga Larawan)
Mga Kaso ng Baterya para sa Mga Elektronikong Kit .: Kung nakagawa ka ng isa sa mga murang elektronikong kit na itinampok sa aking nakaraang itinuro, malamang na nais mong ilagay sa isang uri ng kaso. Ang pagkakaroon ng iyong proyekto sa isang magandang hitsura kaso ay talagang gagawing maganda ang iyong proyekto at mapahanga ang iyong mga kaibigan
Mga Elektronikong Proyekto para sa Mga Nagsisimula: 14 Mga Hakbang (na may Mga Larawan)
Mga Elektronikong Proyekto para sa mga Nagsisimula: Kung ang iyong nais na makapasok sa electronics at kailangan ng isang lugar upang simulan ang itinuturo na ito ay para sa iyo. Mayroong isang bilang ng mga napaka murang mga kit sa eBay at Aliexpress na maaari kang makakuha ng para sa 2 o 3 dolyar na maaaring magbigay sa iyo ng ilang karanasan sa identifi ng bahagi
Paano Mag-set up ng Windows Kernel Debugger Sa Iyong Network: 6 Mga Hakbang
Paano Mag-set up ng isang Windows Kernel Debugger Sa Lipas ng Iyong Network: Ang pag-debug ay isang tanyag na tool na ginagamit upang makapunta sa ugat na sanhi ng isang bug. Ang isang bug ay maaaring maninfest mismo sa maraming iba't ibang mga paraan. maaari itong maging sanhi ng isang pag-crash ng system (asul na screen / BSOD), maaari itong maging sanhi ng isang pag-crash ng application, maaari itong maging sanhi upang mag-freeze ang iyong system upang pangalanan ang isang fe
Pag-aayos ng isang Broken IBook G4 Sa Mga Isyu ng Panic na Kernel Panic: 4 na Hakbang
Pag-aayos ng isang Broken IBook G4 Sa Mga Isyu ng Panic Kernel Panic: Kumusta ang lahat! Sa wakas ay nakagawa ako ng isang bagay na sulit na gumawa ng isang Maaaring turuan tungkol sa :-) Marahil ay narito ka dahil ang iyong good'ol iBook ay nagsimulang kumilos nang kakaiba pagkatapos ng pag-update mula sa Mac OS 10.4. 8 hanggang 10.4.9. Sa paraang palagi kang makakakuha ng