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/.configand 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
A szerző letiltotta a hozzászólást.
Hozzászólások
A hozzászólások megjelenítése így: Folyamatos | Logikai sorrend