Tartalomjegyzék:
- Kellékek
- 1. lépés: Neccesery Tools beszerzése
- 2. lépés: Natív építőeszközök összeállítása a keresztfordításhoz
- 3. lépés: A kernel javítása és a kernel konfigurálása
- 4. lépés: Az RT -kernel felépítése
- 5. lépés: Az új rendszermag telepítése
Videó: 64 bites RT rendszermag -összeállítás a Raspberry Pi 4B számára: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ez az oktatóanyag a 64 bites valós idejű kernel Raspberry Pi -re történő felépítésének és telepítésének folyamatát tárgyalja. Az RT Kernel elengedhetetlen a ROS2 és más valós idejű IOT megoldások teljes funkcionalitásához.
A kernelt x64 alapú Raspbianra telepítették, amely itt érhető el
Jegyzet. Ez az oktatóanyag, bár egyszerű, alapvető ismereteket igényel a Linux operációs rendszerről.
Ennek a platformnak a korlátai miatt az összes http -linkben nincs h. Egyszerűsítésükhöz tegye a "h" betűt a link elejére
Kellékek
x64 alapú, Linuxot futtató számítógép
Raspberry Pi 4B és Raspbian 64 már telepítve
Csatlakozás az internethez.
1. lépés: Neccesery Tools beszerzése
Először is meg kell választanunk a mentési fejlesztő eszközöket.
Ezek a következő parancsok végrehajtásával érhetők el a Linux terminálon
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
2. lépés: Natív építőeszközök összeállítása a keresztfordításhoz
A következő lépés az, hogy előkészítsük és összeállítsuk a magjaink keresztirányú összeállításához szükséges eszközöket.
A Firs eszköz, amelyet telepíteni fogunk, a Binutils, ezt az oktatóanyagot a binutils 2.35 verziójával teszteltük.
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
A konfiguráció befejezése után le kell állítanunk egy programot a következő parancsok használatával
hogy -jx
sudo make install
ahol -jx azt jelenti, hogy hány munkát szeretne futtatni i parrarell. Az alapszabály az, hogy ne tegye magasabbra, mint amennyi szál van a rendszerben. (például make -j16)
és végül exportálnunk kell az utat
export PATH = $ PATH:/opt/aarch64/bin/
Ezután folytatjuk a GCC építését és telepítését
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. --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages = c --disable-multilib
Mint ugyanaz, mint a fordítóprogram elkészítése és telepítése előtt
hogy all -gcc -jx
sudo make install-gcc
Ha minden zökkenőmentesen ment a parancs alapján
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
ehhez hasonlóan kell reagálnia.
ux-gnu-gcc -v Beépített specifikációk használata. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Cél: aarch64-linux-gnu Konfigurálva:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu --with-newlib-fejlécek nélkül --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages = c --disable-multilib Szál modell: single gcc 8.4.0 (GCC)
3. lépés: A kernel javítása és a kernel konfigurálása
Itt az ideje, hogy beszerezzük a kernelt és az RT javítást.
Ez az oktatóanyag az rpi kernel v 5.4 és az RT32 RT patch -et fogja használni. Nekem ez a kombináció jól sikerült. Mindazonáltal mindennek jól kell működnie a különböző verziókkal.
mkdir ~/rpi-kernel
cd ~/rpi-kernel git klón 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
majd csomagolja ki a tapaszt.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 -verbózus
És inicializálja az Rpi 4B konfigurációját
hogy O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
Ezt követően be kell lépnünk a menübe
hogy O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
Amikor elindul, meg kell adnunk a meglévő konfigurációt, majd menjünk a következőre:
Általános -> Preemtion Model, és válassza a Real Time lehetőséget.
mint amikor új konfigurációt mentünk és kilépünk a menüből.
4. lépés: Az RT -kernel felépítése
Most eljött az összeállítás ideje. Ne feledje, hogy a számítógép képességeitől függően sokáig tarthat.
make -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Mint korábban, a -jx a munkahelyek számát jelenti. A sikeres összeállítás után be kell csomagolnunk a magunkat, és el kell küldenünk a Raspberry Pi -nek. Ehhez a következő parancsokat hajtjuk végre.
export 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 dp out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
Most a rendszermagunknak az rt-kernel.tgz archívumban kell lennie, és készen áll a küldésre és telepítésre.
5. lépés: Az új rendszermag telepítése
A kernelünk legegyszerűbb módja a raspbperry -nek az scp használatával.
Egyszerűen végrehajtjuk a következő parancsot.
scp rt-kernel.tgz pi@:/tmp
Most be kell jelentkeznünk a pi -nkbe az ssh -n keresztül, és ki kell csomagolnunk a kernelt.
ssh pi@
Bejelentkezéskor a következő parancsok segítségével másoljuk fájljainkat.
cd/tmptar 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 /
Ezután nincs más hátra, mint szerkeszteni a /boot/config.txt fájlt, és hozzáadni a következő sort.
kernel = kernel8.img
A pi újraindítása után mindennek megfelelően kell működnie.
Ha ellenőrizni szeretné, hogy az új kernel sikeresen telepítve volt -e, akkor hajtsa végre
uname -a
parancs
Ajánlott:
Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: 4 lépés
Arduino Nano-MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő oktatóanyag: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Java oktatóanyag: 4 lépés
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Java oktatóanyag: Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromágneses gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beépített funkciói segítségével, amelyek két megszakításra konfigurálhatók
A Windows rendszermag hibakereső beállítása a hálózaton keresztül: 6 lépés
A Windows rendszermag hibakeresőjének beállítása a hálózaton keresztül: A hibakeresés népszerű eszköz a hiba kiváltó okának felderítésére. Egy hiba sokféle módon fertőzheti meg magát. rendszerösszeomlást okozhat (kék képernyő/BSOD), alkalmazás -összeomlást, a rendszer lefagyhat, és megnevezhet egy hibát
DIY MusiLED, zenével szinkronizált LED-ek egy kattintásos Windows és Linux alkalmazással (32 bites és 64 bites). Könnyen újratelepíthető, könnyen használható, könnyen hordozható: 3 lépés
DIY MusiLED, zenével szinkronizált LED-ek egy kattintásos Windows és Linux alkalmazással (32 bites és 64 bites). Könnyen újratelepíthető, könnyen használható, könnyen hordozható: Ez a projekt segít 18 LED (6 piros + 6 kék + 6 sárga) LED-ek csatlakoztatásában az Arduino Boardhoz, és elemezni a számítógép hangkártyájának valós idejű jeleit, és továbbítani azokat a LED -ek, hogy felgyújtsák őket az ütéshatásoknak megfelelően (pergő, magas kalap, rúgás)