Tartalomjegyzék:

64 bites RT rendszermag -összeállítás a Raspberry Pi 4B számára: 5 lépés
64 bites RT rendszermag -összeállítás a Raspberry Pi 4B számára: 5 lépés

Videó: 64 bites RT rendszermag -összeállítás a Raspberry Pi 4B számára: 5 lépés

Videó: 64 bites RT rendszermag -összeállítás a Raspberry Pi 4B számára: 5 lépés
Videó: Загляните под капот: проясняем тайну Windows 10/11 и серверной архитектуры 2024, November
Anonim
64 bites RT kernel összeállítás Raspberry Pi 4B számára
64 bites RT kernel összeállítás Raspberry Pi 4B számára

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: