/ 雑記帳

[ Tags :: rt-kernel ]

Linux rAudio 5.16.0-rc3-rt7-v8 #1 SMP PREEMPT_RT Wed Dec 8 13:04:50 JST 2021 aarch64 GNU/Linux

moct氏から教えてもらった新しいプレーヤーソフト
開発している方々は元々volimio開発のメンバーから袂を分けた方々らしいです。
(GUIがそっくり??)
download先 rAudio-1
さっそく rAudio-1-64bit-20121203.img.xz を使ってみると中々音が良いので
ちょっと悪戯してrt-kernelをインストールをしてみました。
最近いじっているDebian系のkernelと作業内容は同じでした。
で!このプレーヤーソフトをイジって見ようと思った理由は
ズバリ!開発ベースが Archlinux だからです。
プラシーボダラダラ状態ですが素晴らしい音がすると思います。

rAudio-11


rAudio-rt



追記 HDMI出力ではタッチパネルで操作出来る様になっているがそのままでは日本語が表示出来ない。
   表示はchromiumを改造して行っている様なので/usr/share/applications/chrome.desktopの
   Exec 行に env LANG=ja_JP.UTF-8 を追加する。
   こんな感じ Exec=env LANG=ja_JP.UTF-8 /usr/bin/chromium %U
   localeをイジるとぶっ壊れます。

— posted by くま at 09:50 am  

64bit rt-kernel への道(2)

パッチのdownload先
https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/
カーネルソースのdownload先
https://github.com/raspberrypi/linux

一番参考になったサイトは
64bit 版 Raspberry Pi OS のカーネルモジュールのビルド環境設定
1.gcc のビルドという部分は実はクロスコンパイル環境の構築するための作業になっている。
なのでこれをintel-CPUのPC上で行えばクロスコンパイル環境が出来る。
ただしrpi-sourceは使用しなかった。
このソース取得部分はたかじん氏のサイトの方法を真似させていただきましたm(_ _)m
このサイトの説明で大変に重要な事は最後の2行です(笑)
$ KERNEL=kernel8 make ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu-
※ ビルドコマンドが make の場合
とにかく例外なくこの呪文を使えと
たとえばKERNEL=kernel8 make menuconfig ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu-

使用したソース等
2021-05-07-raspios-buster-arm64-lite.img
linux-9299025206cb3f9b1146aa2c3c1de5df8fc92e9c
(linux-rpi-5.16.y.zip)
patch-5.16-rc3-rt7.patch.xz
binutils-2.37.tar.xz
gcc-8.4.0.tar.xz

ここまで来ればもう根性しかない(笑)という事で
パッチを当てたソースをコンパイルじゅうたん爆撃をした結果として

root@raspberrypi:~# uname -a
Linux raspberrypi 5.16.0-rc3-rt7-v8 #1 SMP PREEMPT Sat Dec 4 19:35:24 JST 2021 aarch64 GNU/Linux

「rt7」です。憧れ?のリアルタイムカーネルです。

root@raspberrypi:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndallodigione [snd_allo_digione], device 0: Allo DigiOne HiFi wm8804-spdif-0 [Allo DigiOne HiFi wm8804-spdif-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

問題なくサウンドカードを認識しています。

音出し成功です。
肝心の音は疲れすぎで後日コメントします(笑)
とりあえずddコマンドでバックアップを取り
それを書き戻して動作が確認できたので一安心です。
ところが...
追記12/05 えふさんのコメントからプリエンプションのミスが発覚しました!
本来Fully Preemptible Kernel (Real-Time)を選択すべき部分でした。

RT


再度configしてコンパイルをやり直してSDカードに反映しました。
コンパイル終了後に残っている.configをエディターで開いて再度確認しました。

CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_LAZY=y
# 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

大丈夫な様です^^;

— posted by くま at 03:57 pm   commentComment [8] 

<< 2022.1 >>
SMTWTFS
      1
2 345678
9101112 131415
16171819 202122
2324252627 2829
3031     
 














T: Y: ALL: Online:
ThemePanel
Created in 0.0094 sec.