Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä opetusohjelma kattaa 64 -bittisen reaaliaikaisen ytimen rakentamisen ja asentamisen Raspberry Pi -laitteeseen. RT -ydin on ratkaiseva ROS2: n ja muiden reaaliaikaisten IOT -ratkaisujen täydelliselle toiminnalle.
Ydin asennettiin x64 -pohjaiseen Raspbian -ohjelmaan, joka löytyy täältä
Huomautus. Tämä opetusohjelma vaatii yksinkertaista perustietoa Linux -käyttöjärjestelmästä.
Myös tämän alustan rajoitusten vuoksi kaikista http -linkeistä puuttuu h. Voit korjata ne yksinkertaisesti lisäämällä "h" linkin eteen
Tarvikkeet
x64 -pohjainen tietokone, jossa on Linux
Raspberry Pi 4B ja Raspbian 64 on jo asennettu
Yhteys Internetiin.
Vaihe 1: Neccesery -työkalujen hankkiminen
Ensin meidän on valittava pelastustyökalut.
Ne voidaan saada suorittamalla seuraavat komennot Linux -päätelaitteessa
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
Vaihe 2: Natiivikoontityökalujen kokoaminen ristikokoelmaa varten
Seuraava askel on valmistella ja koota työkaluja ytimen ristikääntämiseen.
Firs -työkalu, jonka asennamme, on Binutils, tämä opetusohjelma testattiin binutils -versiolla 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
Konfiguroinnin päätyttyä meidän on käännettävä ohjelma käyttämällä seuraavia komentoja
tee -jx
sudo tehdä asennus
jossa -jx tarkoittaa, kuinka monta työtä haluat suorittaa i parrarell. Nyrkkisääntönä on, että se ei ole korkeampi kuin järjestelmässäsi oleva säikeiden määrä. (esimerkiksi merkki -j16)
ja lopuksi meidän on vietävä polku
vienti PATH = $ PATH:/opt/aarch64/bin/
Jatkamme GCC: n rakentamista ja asennusta
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-ilman otsikoita / --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages = c --disable-multilib
Kuin sama kuin ennen kuin teemme ja asennamme kääntäjämme
tee all -gcc -jx
sudo make install-gcc
Jos kaikki meni sujuvasti käskyn mukaan
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
pitäisi reagoida vastaaviin vastauksiin.
ux-gnu-gcc -v Sisäisten tietojen avulla. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Kohde: aarch64-linux-gnu Konfiguroitu:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu --with-newlib-ilman otsikoita --disable-nls --disable-shared --disable-threads --disable-libssp --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages = c --disable-multilib Langan malli: single gcc version 8.4.0 (GCC)
Vaihe 3: Ytimen korjaaminen ja ytimen määrittäminen
Nyt on aika hankkia ydin ja RT -korjaus.
Tämä opetusohjelma käyttää rpi -ydintä v 5.4 ja RT -korjaustiedostoa RT32. Tämä yhdistelmä toimi minulle hyvin. Kaiken pitäisi kuitenkin toimia hyvin eri versioiden kanssa.
mkdir ~/rpi-ydin
cd ~/rpi-ytimen git-klooni 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
pura sitten laastari.
gzip -cd../patch-5.4.54-rt32.patch.gz | laastari -p1 -verbose
Alusta Rpi 4B: n määritykset
tee O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
Tämän jälkeen meidän on siirryttävä valikon asetuksiin
tee O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
Kun se käynnistyy, tarvitsemme olemassa olevan kokoonpanon, siirry sitten kohtaan
Yleistä -> Esivalintamalli ja valitse Reaaliaikainen vaihtoehto.
kuin tallennamme uudet kokoonpanot ja poistumme valikosta.
Vaihe 4: RT -ytimen rakentaminen
Nyt on koonnin aika. Huomaa, että se voi kestää kauan tietokoneen ominaisuuksista riippuen.
tee -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Kuten aiemmin, -jx tarkoittaa työpaikkojen määrää. Onnistuneen kokoamisen jälkeen meidän on pakattava ytimemme ja lähetettävä se Raspberry Pi: lle. Tätä varten suoritamme seuraavat komennot.
vienti INSTALL_MOD_PATH = ~/rpi-ydin/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..
Nyt ytimemme pitäisi olla rt-kernel.tgz-arkistossa ja se on valmis lähetettäväksi ja asennettavaksi.
Vaihe 5: Uuden ytimen asentaminen
Helpoin tapa lähettää ytimemme raspbperryyn on käyttää scp: tä.
Suoritamme yksinkertaisesti seuraavan komennon.
scp rt-kernel.tgz pi@:/tmp
Nyt meidän on kirjauduttava pi: hen ssh: n kautta ja purettava ytimemme.
ssh pi@
Kun olemme kirjautuneet sisään, kopioimme tiedostot käyttämällä seuraavia komentoja.
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 /
Tämän jälkeen on vain muokattava /boot/config.txt -tiedosto ja lisättävä seuraava rivi.
ydin = kernel8.img
Pi: n uudelleenkäynnistyksen jälkeen kaiken pitäisi toimia hyvin.
Voit tarkistaa, onko uusi ydin asennettu onnistuneesti, suorittamalla
uname -
komento