Daftar Isi:
- Perlengkapan
- Langkah 1: Mendapatkan Alat yang Diperlukan
- Langkah 2: Kompilasi Alat Bangun Asli untuk Kompilasi Lintas
- Langkah 3: Menambal Kernel dan Mengonfigurasi Kernel
- Langkah 4: Membangun Kernel RT
- Langkah 5: Memasang Kernel Baru
Video: Kompilasi Kernel RT 64bit untuk Raspberry Pi 4B .: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Tutorial ini akan mencakup proses membangun dan menginstal 64 bit Real Time Kernel pada Raspberry Pi. Kernel RT sangat penting untuk fungsionalitas penuh ROS2 dan solusi IOT Waktu Nyata lainnya.
Kernel diinstal pada Raspbian berbasis x64 yang dapat diperoleh di sini
Catatan. Tutorial ini meskipun sederhana membutuhkan pengetahuan dasar tentang sistem operasi Linux.
Juga karena keterbatasan platform ini, semua tautan http tidak memiliki h. Untuk memperbaikinya cukup tambahkan "h" di bagian depan tautan
Perlengkapan
PC berbasis x64 yang menjalankan Linux
Raspberry Pi 4B dengan Raspbian 64 sudah terpasang
Koneksi ke Internet.
Langkah 1: Mendapatkan Alat yang Diperlukan
Pertama kita perlu memilih alat pengembang yang diperlukan.
Mereka dapat diperoleh dengan menjalankan perintah berikut di terminal 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
Langkah 2: Kompilasi Alat Bangun Asli untuk Kompilasi Lintas
Langkah selanjutnya adalah menyiapkan dan mengkompilasi alat untuk kompilasi silang kernel kita.
Alat pertama yang akan kita pasang adalah Binutils. Tutorial ini telah diuji dengan binutils versi 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 -- --disable-nls
Setelah konfigurasi selesai, kita perlu mengkompilasi program menggunakan perintah berikut:
buat -jx
sudo make install
di mana -jx berarti berapa banyak pekerjaan yang ingin Anda jalankan di parrarell. Aturan praktisnya adalah meletakkannya tidak lebih tinggi dari jumlah utas yang dimiliki sistem Anda. (misalnya make -j16)
dan akhirnya kita perlu mengekspor jalurnya
ekspor PATH=$PATH:/opt/aarch64/bin/
Kemudian dilanjutkan dengan pembangunan dan pemasangan 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_preconditions./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
Dari yang sama seperti sebelumnya kita membuat dan menginstal compiler kita
buat all-gcc -jx
sudo make install-gcc
Jika semuanya berjalan lancar mengikuti perintah
/opt/aarch64/bin/aarch64-linux-gnu-gcc -v
harus menghasilkan respons yang serupa dengan ini.
ux-gnu-gcc -v Menggunakan spesifikasi bawaan. 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 Dikonfigurasi dengan:./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 Model utas: versi gcc tunggal 8.4.0 (GCC)
Langkah 3: Menambal Kernel dan Mengonfigurasi Kernel
Sekarang saatnya untuk mendapatkan kernel dan patch RT kami.
Tutorial ini akan menggunakan rpi kernel v 5.4 dan RT patch RT32. Kombinasi ini bekerja dengan baik untuk saya. Namun semuanya harus bekerja dengan baik dengan versi yang berbeda.
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/lama/patch-5.4.54-rt32.patch.gz mkdir kernel-out cd linux
kemudian buka tambalan.
gzip -cd../patch-5.4.54-rt32.patch.gz | patch -p1 --verbose
Dan inisialisasi konfigurasi untuk Rpi 4B
buat O=../kernel-out/ ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu- bcm2711_defconfig
Setelah ini kita perlu masuk ke menuconfig
buat O=../kernel-out/ ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu- menuconfig
Ketika diluncurkan kita perlu konfigurasi yang ada, lalu pergi ke
Umum -> Model Preemtion dan pilih opsi Waktu Nyata.
daripada kita menyimpan konfigurasi baru dan keluar dari menu.
Langkah 4: Membangun Kernel RT
Sekarang waktunya kompilasi. Catatan itu mungkin memakan waktu lama tergantung pada kemampuan PC Anda.
make -jx O=../kernel-out/ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
Seperti sebelumnya -jx berarti jumlah pekerjaan. Setelah kompilasi berhasil, kita perlu mengemas Kernel kita dan mengirimkannya ke Raspberry Pi. Untuk melakukan ini, kami menjalankan perintah berikut.
ekspor 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-./kernel- out/arch/arm64/boot/Image../rt-kernel/boot/kernel8.imgcd $INSTALL_MOD_PATHtar czf../rt-kernel.tgz *cd..
Sekarang kernel kita harus berada di dalam arsip rt-kernel.tgz dan siap untuk dikirim dan diinstal.
Langkah 5: Memasang Kernel Baru
Cara termudah untuk mengirim kernel kita ke raspbperry adalah dengan menggunakan scp.
Kami cukup menjalankan perintah berikut.
scp rt-kernel.tgz pi@:/tmp
Sekarang kita perlu login ke pi kita melalui ssh dan membongkar Kernel kita.
ssh pi@
Saat masuk, kami menyalin file kami menggunakan perintah berikut.
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/
Setelah itu yang tersisa untuk dilakukan adalah mengedit file /boot/config.txt dan menambahkan baris berikut.
kernel=kernel8.img
Setelah me-reboot pi semuanya akan berfungsi dengan baik.
Untuk memeriksa apakah kernel baru berhasil diinstal, Anda dapat menjalankan
uname -a
memerintah
Direkomendasikan:
Z80 MBC2 - Kompilasi Ulang Bios dan Loader QP/M: 6 Langkah
Z80 MBC2 - Kompilasi ulang QP/M Bios dan Loader: Jika, seperti saya, Anda menemukan diri Anda dalam posisi di mana Anda perlu mengkompilasi ulang bios QP/M untuk MBC2 Anda - maka ini adalah bagaimana Anda melakukannya. proses, cara mengkompilasi ulang versi yang ada. Terserah Anda untuk membuat perubahan pada Bios yang sebenarnya
Z80 MBC2 - Kompilasi Ulang Bios CPM2.2: 4 Langkah
Z80 MBC2 - Kompilasi Ulang Bios CPM2.2: Jika, seperti saya, Anda menemukan diri Anda dalam posisi di mana Anda perlu mengkompilasi ulang bios CP/M (2.2) untuk MBC2 Anda - maka beginilah cara Anda melakukannya. kasus saya, saya ingin menghapus pesan "WARM BOOT" setiap kali ada program atau ketika Anda melakukan ctrl-c. saya
Cara Mengatur Debugger Kernel Windows Melalui Jaringan Anda: 6 Langkah
Cara Mengatur Debugger Kernel Windows Melalui Jaringan Anda: Debugging adalah alat populer yang digunakan untuk menemukan akar penyebab bug. Sebuah bug dapat memanifestasikan dirinya dalam berbagai cara. itu dapat menyebabkan sistem crash (layar biru/BSOD), dapat menyebabkan crash aplikasi, dapat menyebabkan sistem Anda membeku untuk menyebut beberapa
Orange PI HowTo: Kompilasi Alat Sunxi untuk Windows Di Bawah Windows: 14 Langkah (dengan Gambar)
Orange PI Cara: Kompilasi Alat Sunxi untuk Windows Di bawah Windows: PRASYARAT: Anda memerlukan komputer (desktop) yang menjalankan Windows. Koneksi internet. Papan PI Oranye. Yang terakhir adalah opsional, tetapi saya yakin, Anda sudah memilikinya. Jika tidak, Anda tidak akan membaca instruksi ini. Ketika Anda membeli dosa Orange PI
Yakinkan Diri Anda untuk Hanya Menggunakan Inverter 12V-ke-AC-line untuk Senar Lampu LED Alih-alih Menghubungkannya untuk 12V.: 3 Langkah
Yakinkan Diri Anda untuk Hanya Menggunakan Inverter 12V-ke-AC-line untuk Senar Lampu LED Alih-alih Menghubungkan Ulang Mereka untuk 12V.: Rencana saya sederhana. Saya ingin memotong seutas tali lampu LED bertenaga dinding menjadi beberapa bagian lalu menyambungkannya kembali menjadi 12 volt. Alternatifnya adalah menggunakan power inverter, tetapi kita semua tahu bahwa itu sangat tidak efisien, bukan? Benar? Atau apakah mereka?