Skip to content

Raspberry Pi RT kernel fordítás

Raspberry Pi 4 Real-Time kernel fordítása, telepítése

Az aktuális kernel verzió lekérdezése:


$ uname -a
$ uname -r
6.6.51+rpt-rpi-v8

 

A fordítás és telepítés menete

cd $HOME

Töltsük le a kernel forrását:

git clone --depth=1 https://github.com/raspberrypi/linux

A fenti parancs a git nevű alkalmazást használja, szükség esetén telepíteni kell.

sudo apt install git

 

$ cd linux

A letöltött kernel verziója:

$ head Makefile -n 4

Az eredemény valami ilyesmi

# SPDX-License-Identifier: GPL-2.0
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 6
SUBLEVEL = 59

Töltsük le a megfelelő RT patc-et, és végezzük el a patch-elést


$ wget https://www.kernel.org/pub/linux/kernel/projects/rt/6.6/patch-6.6.58-rt45.patch.gz
$ gunzip patch-6.6.58-rt45.patch.gz
$ cat patch-6.6.58-rt45.patch | patch -p1

A kernel konfigurálásához, fordításához szükség van néhány csomag telepítésére:


$ cd $HOME
$ sudo apt install libncurses5-dev flex build-essential bison libssl-dev bc make
$ cd linux

Folytassuk a munkát:


$ KERNEL=kernel8
$ make bcm2711_defconfig

...
#
# configuration written to .config
#

  • Check real-time configuration items in /home/pi/linux/.config
  • Open /home/pi/linux/.config and look for the following real-time entries:

...
CONFIG_PREEMPT_BUILD=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
# CONFIG_PREEMPT_RT is not set
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
# CONFIG_PREEMPT_DYNAMIC is not set
...

A /home/pi/linux/.config, fájlban a LOCALVERSION bejegyzés valami ilyesmi:


CONFIG_LOCALVERSION="-v8"

Módosítsuk igényeinknek megfelelően

CONFIG_LOCALVERSION="-v8-konzol-rt-build" 

A kernel konfigurálása:


$ make menuconfig


...
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_RT=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
...

A forráskód lefordítása:

$ make -j4 Image.gz modules dtbs

Telepítsük a kernel modulokat:


$ sudo make -j4 modules_install

Az új kernel telepítése:


$ sudo cp /boot/firmware/$KERNEL.img /boot/firmware/$KERNEL-backup.img
$ sudo cp arch/arm64/boot/Image.gz /boot/firmware/$KERNEL.img
$ sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/firmware/
$ sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/firmware/overlays/
$ sudo cp arch/arm64/boot/dts/overlays/README /boot/firmware/overlays/

Újraindítás:

$ sudo reboot

Visszahivatkozások

Nincsenek visszahivatkozások

Hozzászólások

A hozzászólások megjelenítése így: Folyamatos | Logikai sorrend

Nincs hozzászólás

A szerző letiltotta a hozzászólást.

Hozzászólás hozzáfűzése

Standard szmájli kifejezések pl :-) és ;-) képekké alakulnak.
Csillag karakterek közötti szöveg (*szó*) bold lesz, aláhúzott szöveg ( _szó_ ).
Az E-Mail címe nem jelenik meg, csak értesítések küldésére használjuk.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options