Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Λήψη εργαλείων Neccesery
- Βήμα 2: Συγκέντρωση εγγενών εργαλείων κατασκευής για πολλαπλή σύνταξη
- Βήμα 3: Συμπίεση πυρήνα και διαμόρφωση πυρήνα
- Βήμα 4: Δημιουργία πυρήνα RT
- Βήμα 5: Εγκατάσταση νέου πυρήνα
Βίντεο: 64bit RT Kernel Compilation for Raspberry Pi 4B.: 5 Steps
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Αυτό το σεμινάριο θα καλύψει τη διαδικασία κατασκευής και εγκατάστασης πυρήνα πραγματικού χρόνου 64 bit στο Raspberry Pi. Ο πυρήνας RT είναι ζωτικής σημασίας για την πλήρη λειτουργικότητα του ROS2 και άλλων λύσεων IOT σε πραγματικό χρόνο.
Ο πυρήνας εγκαταστάθηκε σε Raspbian που βασίζεται σε x64 και μπορείτε να τον βρείτε εδώ
Σημείωση. Αυτό το σεμινάριο αν και απλό απαιτεί βασικές γνώσεις για το λειτουργικό σύστημα Linux.
Επίσης, λόγω των περιορισμών αυτής της πλατφόρμας, όλοι οι σύνδεσμοι http δεν διαθέτουν h. Για να τα διορθώσετε, προσθέστε "h" στο μπροστινό μέρος του συνδέσμου
Προμήθειες
PC που βασίζεται σε x64 και τρέχει Linux
Το Raspberry Pi 4B με το Raspbian 64 έχει ήδη εγκατασταθεί
Σύνδεση στο Διαδίκτυο.
Βήμα 1: Λήψη εργαλείων Neccesery
Πρώτα πρέπει να επιλέξουμε τα εργαλεία neccecery dev.
Μπορούν να ληφθούν εκτελώντας τις ακόλουθες εντολές στο τερματικό Linux
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: Συγκέντρωση εγγενών εργαλείων κατασκευής για πολλαπλή σύνταξη
Το επόμενο βήμα είναι να προετοιμάσουμε και να μεταγλωττίσουμε εργαλεία για τη διασταύρωση του πυρήνα μας.
Το εργαλείο Firs που θα εγκαταστήσουμε είναι το Binutils αυτό το σεμινάριο δοκιμάστηκε με το 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
Μετά την ολοκλήρωση της διαμόρφωσης πρέπει να μεταγλωττίσουμε πρόγραμμα χρησιμοποιώντας τις ακόλουθες εντολές
κάνω -jx
sudo make install
όπου -jx σημαίνει πόσες δουλειές θέλετε να εκτελέσετε i parrarell. Ο βασικός κανόνας είναι να το πείτε όχι μεγαλύτερο από το ποσό των νημάτων που διαθέτει το σύστημά σας. (για παράδειγμα make -j16)
και τέλος πρέπει να εξάγουμε τη διαδρομή
εξαγωγή PATH = $ PATH:/opt/aarch64/bin/
Στη συνέχεια προχωρούμε στην κατασκευή και εγκατάσταση του 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-δεκαδικό-float / --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic / --enable-languages = c --disable-multilib
Το ίδιο όπως πριν κατασκευάσουμε και εγκαταστήσουμε τον μεταγλωττιστή μας
κάντε all -gcc -jx
sudo make install-gcc
Εάν όλα πήγαν ομαλά ακολουθώντας την εντολή
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
θα πρέπει να ανταποκρίνεται παρόμοια με αυτήν.
ux-gnu-gcc -v Χρήση ενσωματωμένων προδιαγραφών. COLLECT_GCC =/opt/aarch64/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER =/opt/aarch64/libexec/gcc/aarch64-linux-gnu/8.4.0/lto-wrapper Στόχος: aarch64-linux-gnu Διαμόρφωση με:./configure --prefix =/opt/aarch64 --target = aarch64-linux-gnu --with-newlib --χωρίς κεφαλίδες --disable-decimal-float --disable-libquadmath --disable-libvtv --disable-libgomp --disable-libatomic --enable-languages = c --disable-multilib Μοντέλο νήματος: έκδοση single gcc 8.4.0 (GCC)
Βήμα 3: Συμπίεση πυρήνα και διαμόρφωση πυρήνα
Τώρα ήρθε η ώρα να πάρουμε τον πυρήνα και το έμπλαστρο RT.
Αυτό το σεμινάριο θα χρησιμοποιήσει τον πυρήνα rpi v 5.4 και την ενημερωμένη έκδοση κώδικα RT32. Αυτός ο συνδυασμός λειτούργησε καλά για μένα. Ωστόσο, όλα πρέπει να λειτουργούν καλά με διαφορετικές εκδόσεις.
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
στη συνέχεια, αποσυσκευάστε το έμπλαστρο.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 -verbose
Και αρχικοποιήστε τη διαμόρφωση για το Rpi 4B
κάντε O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
Μετά από αυτό πρέπει να εισέλθουμε στο menuconfig
κάντε O =../kernel-out/ARCH = arm64 CROSS_COMPILE =/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
Όταν ανοίξει, χρειαζόμαστε την υπάρχουσα διαμόρφωση, μετά πηγαίνετε στο
Γενικά -> Μοντέλο Preemtion και επιλέξτε την επιλογή Real Time.
από το να αποθηκεύσουμε νέα διαμόρφωση και να βγούμε από το μενού.
Βήμα 4: Δημιουργία πυρήνα RT
Τώρα είναι η ώρα της σύνταξης. Σημειώστε ότι μπορεί να χρειαστεί πολύς χρόνος ανάλογα με τις δυνατότητες του υπολογιστή σας.
make -jx O =../ kernel-out/ ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu-
Όπως και πριν -jx σημαίνει αριθμός θέσεων εργασίας. Μετά την επιτυχή μεταγλώττιση πρέπει να συσκευάσουμε τον πυρήνα μας και να τον στείλουμε στο Raspberry Pi. Για να το κάνουμε αυτό εκτελούμε τις ακόλουθες εντολές.
εξαγωγή INSTALL_MOD_PATH = ~/rpi-kernel/rt-kernelexport INSTALL_DTBS_PATH = ~/rpi-kernel/rt-kernelmake O =../kernel-out/ARCH = arm64 CROSS_COMPILE = aarch64-linux-gnu- mods_n out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $ INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
Τώρα ο πυρήνας μας πρέπει να βρίσκεται μέσα στο αρχείο rt-kernel.tgz και είναι έτοιμος για αποστολή και εγκατάσταση.
Βήμα 5: Εγκατάσταση νέου πυρήνα
Ο ευκολότερος τρόπος αποστολής του πυρήνα μας στο raspbperry είναι χρησιμοποιώντας scp.
Απλώς εκτελούμε την ακόλουθη εντολή.
scp rt-kernel.tgz pi@:/tmp
Τώρα πρέπει να συνδεθούμε στο pi μέσω ssh και να αποσυσκευάσουμε τον πυρήνα μας.
ssh pi@
Όταν συνδεθούμε αντιγράφουμε τα αρχεία μας χρησιμοποιώντας τις ακόλουθες εντολές.
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 /
Στη συνέχεια, αυτό που απομένει να κάνετε είναι να επεξεργαστείτε το αρχείο /boot/config.txt και να προσθέσετε την ακόλουθη γραμμή.
πυρήνας = πυρήνας8.img
Μετά την επανεκκίνηση του pi όλα πρέπει να λειτουργούν καλά.
Για να ελέγξετε εάν ο νέος πυρήνας εγκαταστάθηκε με επιτυχία, μπορείτε να εκτελέσετε
uname -a
εντολή
Συνιστάται:
Raspberry Pi 4 Retropie Boot From External If No SD Card Present: 5 Steps
Raspberry Pi 4 Retropie Boot From External If No SD Card Present: ~ github.com/engrpanda
Raspberry Pi Box of Cooling FAN with CPU Temperature Indicator: 10 Steps (with Pictures)
Raspberry Pi Box of Cooling FAN With CPU Temperature Indicator (Δείκτης θερμοκρασίας CPU): Είχα εισαγάγει το κύκλωμα δείκτη θερμοκρασίας CPU raspberry pi (στο εξής: RPI) στο προηγούμενο έργο. Το κύκλωμα δείχνει απλώς διαφορετικό επίπεδο θερμοκρασίας CPU RPI 4 ως εξής.- Η πράσινη λυχνία LED ενεργοποιήθηκε όταν Η θερμοκρασία της CPU είναι εντός 30 ~
TextPlayBulb: REST Enabled PlayBulb Using Raspberry Pi 3, BLE and Telegram: 3 Steps
TextPlayBulb: REST Enabled PlayBulb Using Raspberry Pi 3, BLE and Telegram: Αυτό το διδακτικό δείχνει πώς μπορείτε να συνδεθείτε σε μια λάμπα LED PlayBulb Color bluetooth χρησιμοποιώντας Python, βιβλιοθήκη Raspberry Pi 3 και Bluetooth και να επεκτείνετε τα χειριστήρια μέσω REST API για σενάριο IoT , και ως αναπήδηση, το έργο δείχνει επίσης τον τρόπο επέκτασης του
Alexa Voice Controlled Raspberry Pi Drone With IoT and AWS: 6 Steps (with Pictures)
Alexa Voice Controlled Raspberry Pi Drone With IoT and AWS: Γεια! Με λένε Αρμάαν. Είμαι ένα αγόρι 13 ετών από τη Μασαχουσέτη. Αυτό το σεμινάριο δείχνει, όπως μπορείτε να συμπεράνετε από τον τίτλο, πώς να φτιάξετε ένα Raspberry Pi Drone. Αυτό το πρωτότυπο καταδεικνύει τον τρόπο με τον οποίο εξελίσσονται τα drones και επίσης πόσο μεγάλο ρόλο μπορούν να παίξουν στην
Εγκαταστήστε το Raspbian OS στο Raspberry Pi 4: 24 Steps
Εγκαταστήστε το Raspbian OS στο Raspberry Pi 4: Αυτό είναι το πρώτο σεμινάριο στη σειρά Raspberry Pi Προετοιμασία περιεχομένου: Δρ Ninad Mehendale, κ. Amit Dhiman Η εγκατάσταση του Raspbian OS στο Raspberry Pi είναι ένα από τα πιο βασικά βήματα που πρέπει να γνωρίζετε. Παρουσιάζουμε μια απλή διαδικασία βήμα προς βήμα για το