RaspberryPi4 rt-kernelの作成

<< トップページへ

RaspberryPi4 rt-kernelで再生したい!

まぁハッキリ言ってrt-kernelで何処まで音質向上が期待出来るのか?
やっている本人も不明な部分はあるのですがやはりやってみたいですよね。
しかし自分の場合は余りに試行錯誤の部分が多くて
現状rtパッチが運良く(笑)当たらないと出来ない状態です。
なのでこの記事はパッチが綺麗に当たった後を中心に書きたいと思います。
RaspberryPi4本体でもコンパイルは可能ですが時間がかかりすぎるので
Intel-CPU機にクロスコンパイル環境を作って作業をしています
自分はLinuxのディストリではマイナーなArchlinuxを使っていて
この部分のドキュメントは少ないのですがubuntuやdebianとほとんど同じなので
それらを参考にしています。

急がれる課題としてはrtパッチの当て方というか組み合わせ方の理解ですね(笑)

■とりあえず実験に成功した例

現状出来た組合せ(2023/3/30現在)

patch: patch-6.3-rc1-rt1.patch.xz
source: https://github.com/raspberrypi/linux/tree/rpi-6.3.y
VERSION = 6
PATCHLEVEL = 3
SUBLEVEL = 0
EXTRAVERSION = -rc4

事前準備として
1.クロスコンパイル環境を用意する。
2.rtパッチを当てたkermel-sourceを準備する。

make clean
make mrproper
cd linux
KERNEL=kernel8

ls -l /var/data0/test/linux/arch/arm64/configs/bcm2711_defconfig
(bcm2711_defconfig 存在を確認しておく。無いものはダメ)

KERNEL=kernel8 make bcm2711_defconfig ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-linux-gnu-
(このコマンドで.configが作成されるので次のmenuconfigコマンドで必用な設定を加える。)
KERNEL=kernel8 make menuconfig ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-linux-gnu-
※rt-kernelを有効にする。
CONFIG_HIGH_RES_TIMERS=y
CONFIG_NO_HZ_IDLE=y
CONFIG_PREEMPT=y # low-latency kernel
CONFIG_PREEMPT_RT=y # real-time kernel

CONFIG_HIGH_RES_TIMERS=y はカーネルが高解像度タイマーをサポート
CONFIG_NO_HZ_IDLE はカーネルがティックレス
CONFIG_PREEMPT オプションは低レイテンシ カーネル (CONFIG_PREEMPT)
またはリアルタイム カーネル (CONFIG_PREEMPT_RT_FULL) を実行

KERNEL=kernel8 make -j4 ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- Image modules dtbs
(zImageでは無い!)
-------------------------------------------------------------------------------------------------
この作業はビルドしたDirを実マシン上にマウントして modules_install を
行うとコピーする必要が無く効率的だと思う。

sshfs root@192.168.11.10:/var/data0/test /var/data0/test

KERNEL=kernel8 make modules_install ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-linux-gnu-

-------------------------------------------------------------------------------------------------
cp arch/arm64/boot/dts/broadcom/*.dtb /boot/
cp arch/arm64/boot/dts/overlays/*.dtb* /boot/overlays/
cp arch/arm64/boot/dts/overlays/README /boot/overlays/
echo $KERNEL
cp arch/arm64/boot/Image /boot/$KERNEL.img



Copyright©2005-2006  熊の巣  All Right Reserved.  管理人へ メール