ArchlinuxをRaspberryPi4へインストール(2)
2021/12/16
元カーネルはモジュールが使用出来ない状態なのか?
Audio用に使えない様だったので思い切ってrt-kernelに置き換えをした。
トラブルの内容はここに書かれている内容そのものだった。
https://archlinuxarm.org/forum/viewtopic.php?f=65&t=15090
一番不可解であった部分...
overlaysディレクトリーはrt-kernelをビルドしたときにソースツリー内に出来たので
それを所定の位置に丸ごとコピーしてconfig.txtに追記する事でロード出来た。
それで結果としては
[root@alarm ~]# uname -a
Linux alarm 5.16.0-rc3-rt7-v8 #2 SMP PREEMPT_RT Thu Dec 16 11:20:10 JST 2021 aarch64 GNU/Linux
[root@alarm ~]# al
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 2: sndrpirpidac [snd_rpi_rpi_dac], device 0: RPi-DAC HiFi pcm1794a-codec-0 [RPi-DAC HiFi pcm1794a-codec-0]
Subdevices: 0/1
Subdevice #0: subdevice #0
Archlinux 64bit rt-kernel とりあえず起動!
まずは音出し成功!! 時間がかかりました^^;
ああこれから仕事です。残念...もっと聴きたい。
DebianベースOSと比較して明確に音が違います。
嬉しくなって来ました(笑)
追記:今回の成功の鍵は...aarch64-linux-gnu-binutils-2.37-1-x86_64.pkg.tar.zst
これですね。
最初にrt-kernelを作った時に使ったツール(Debian系)とArchlinuxのkernelを作るツールは互換性が無いという...
Audio用に使えない様だったので思い切ってrt-kernelに置き換えをした。
トラブルの内容はここに書かれている内容そのものだった。
https://archlinuxarm.org/forum/viewtopic.php?f=65&t=15090
一番不可解であった部分...
overlaysディレクトリーはrt-kernelをビルドしたときにソースツリー内に出来たので
それを所定の位置に丸ごとコピーしてconfig.txtに追記する事でロード出来た。
それで結果としては
[root@alarm ~]# uname -a
Linux alarm 5.16.0-rc3-rt7-v8 #2 SMP PREEMPT_RT Thu Dec 16 11:20:10 JST 2021 aarch64 GNU/Linux
[root@alarm ~]# al
**** List of PLAYBACK Hardware Devices ****
card 0: b1 [bcm2835 HDMI 1], device 0: bcm2835 HDMI 1 [bcm2835 HDMI 1]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 1: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 2: sndrpirpidac [snd_rpi_rpi_dac], device 0: RPi-DAC HiFi pcm1794a-codec-0 [RPi-DAC HiFi pcm1794a-codec-0]
Subdevices: 0/1
Subdevice #0: subdevice #0
Archlinux 64bit rt-kernel とりあえず起動!
まずは音出し成功!! 時間がかかりました^^;
ああこれから仕事です。残念...もっと聴きたい。
DebianベースOSと比較して明確に音が違います。
嬉しくなって来ました(笑)
追記:今回の成功の鍵は...aarch64-linux-gnu-binutils-2.37-1-x86_64.pkg.tar.zst
これですね。
最初にrt-kernelを作った時に使ったツール(Debian系)とArchlinuxのkernelを作るツールは互換性が無いという...
— posted by くま at 02:07 pm
ArchlinuxをRaspberryPi4へインストール(1)
2021/12/15
ここを参考にArchlinuxをインストールして見ました。 Raspberry Pi 4
今、upmpdcliの依存関係と戦っています(笑)
あちゃ...ドライバーが無い。overlayディレクトリ-が無い??
[root@alarm ~]# al
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 7/7
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
今、upmpdcliの依存関係と戦っています(笑)
あちゃ...ドライバーが無い。overlayディレクトリ-が無い??
[root@alarm ~]# al
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 7/7
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
— posted by くま at 11:22 am
ADC...
2021/12/12
お気楽kit製のADC基板を制作、動作確認OKです。
本当は旭化成製のICを使ったkitの方を狙っていたのですが
例の火災でこちらを使う事としました。
気がついて見ると我が家には
テストに使うRCA出力端子の付いた機器が
ほとんど存在しませんでした(笑)
この基板にはレコードプレーヤーの入力を入れる予定ですが
カートリッジの出力電圧が低いので
間にオペアンプかゲインが高めのトランスを入れようかと考え中...
本当は旭化成製のICを使ったkitの方を狙っていたのですが
例の火災でこちらを使う事としました。
気がついて見ると我が家には
テストに使うRCA出力端子の付いた機器が
ほとんど存在しませんでした(笑)
この基板にはレコードプレーヤーの入力を入れる予定ですが
カートリッジの出力電圧が低いので
間にオペアンプかゲインが高めのトランスを入れようかと考え中...
— posted by くま at 05:44 pm
Linux rAudio 5.16.0-rc3-rt7-v8 #1 SMP PREEMPT_RT Wed Dec 8 13:04:50 JST 2021 aarch64 GNU/Linux
2021/12/9
moct氏から教えてもらった新しいプレーヤーソフト
開発している方々は元々volimio開発のメンバーから袂を分けた方々らしいです。
(GUIがそっくり??)
download先 rAudio-1
さっそく rAudio-1-64bit-20121203.img.xz を使ってみると中々音が良いので
ちょっと悪戯してrt-kernelをインストールをしてみました。
最近いじっているDebian系のkernelと作業内容は同じでした。
で!このプレーヤーソフトをイジって見ようと思った理由は
ズバリ!開発ベースが Archlinux だからです。
プラシーボダラダラ状態ですが素晴らしい音がすると思います。
追記 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をイジるとぶっ壊れます。
開発している方々は元々volimio開発のメンバーから袂を分けた方々らしいです。
(GUIがそっくり??)
download先 rAudio-1
さっそく rAudio-1-64bit-20121203.img.xz を使ってみると中々音が良いので
ちょっと悪戯してrt-kernelをインストールをしてみました。
最近いじっているDebian系のkernelと作業内容は同じでした。
で!このプレーヤーソフトをイジって見ようと思った理由は
ズバリ!開発ベースが Archlinux だからです。
プラシーボダラダラ状態ですが素晴らしい音がすると思います。
追記 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
clonezilla 万歳!
2021/12/6
自分は新しいソフトのテストや新規OSインストール時は
作業の節目で必ずクローンのHDを作ってそこまで戻れる様にしている。
その時までの貴重な作業が無駄にならないために!
その様な用途で使用するクローンコピーソフトが clonezilla だ。
現在まで有料のソフトも含めてこの手のソフトを使って来たが
成功率はこのソフトがTOPだ。
成功率と書いたのは何らの条件下では失敗する事もあるから...
この事はこの手のソフトを使った経験ある方なら理解して貰えるはず...
で! 今回このclonezillaがOSのデスクトップ上で使える様になった!!
とても嬉しい。以前はUSBメモリーに書き込んでそこから起動して使うモノであった。
Archlinuxでのインストールは極めて簡単で pacman -S clonezilla これでOKである。
(ubuntuならapt-get install...)
早速テストを兼ねてRaspberryPi rt-kernelをインストールしたSDカードを
イーメージ化して他のSDカードにレストアしてみた。
問題なくクローンSDカードが出来上がっていた...感動である。
しかも常用していたddコマンドより圧倒的に早い。
参考URL clonezilla 万歳!
作業の節目で必ずクローンのHDを作ってそこまで戻れる様にしている。
その時までの貴重な作業が無駄にならないために!
その様な用途で使用するクローンコピーソフトが clonezilla だ。
現在まで有料のソフトも含めてこの手のソフトを使って来たが
成功率はこのソフトがTOPだ。
成功率と書いたのは何らの条件下では失敗する事もあるから...
この事はこの手のソフトを使った経験ある方なら理解して貰えるはず...
で! 今回このclonezillaがOSのデスクトップ上で使える様になった!!
とても嬉しい。以前はUSBメモリーに書き込んでそこから起動して使うモノであった。
Archlinuxでのインストールは極めて簡単で pacman -S clonezilla これでOKである。
(ubuntuならapt-get install...)
早速テストを兼ねてRaspberryPi rt-kernelをインストールしたSDカードを
イーメージ化して他のSDカードにレストアしてみた。
問題なくクローンSDカードが出来上がっていた...感動である。
しかも常用していたddコマンドより圧倒的に早い。
参考URL clonezilla 万歳!
— posted by くま at 11:16 am
64bit rt-kernel への道(2)
2021/12/4
パッチの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)を選択すべき部分でした。
再度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
大丈夫な様です^^;
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)を選択すべき部分でした。
再度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 Comment [8]
緊急めも upmpdcli インストール
2021/12/3
通常のMPD をインストール
# apt-get install mpd
※upmpdcli をインストール(raspbian buster対応版)
リポジトリ キーの登録する。
# apt install dirmngr
# gpg --keyserver pool.sks-keyservers.net --recv-key F8E3347256922A8AE767605B7808CE96D38B9201
# gpg --export '7808CE96D38B9201' | sudo apt-key add -
cat /etc/apt/sources.list.d/upmpdcli.list
buster(debian 10)用
deb http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian/ buster main
deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian/ buster main
# apt-get update
# apt-get install upmpdcli
# apt-get install mpd
※upmpdcli をインストール(raspbian buster対応版)
リポジトリ キーの登録する。
# apt install dirmngr
# gpg --keyserver pool.sks-keyservers.net --recv-key F8E3347256922A8AE767605B7808CE96D38B9201
# gpg --export '7808CE96D38B9201' | sudo apt-key add -
cat /etc/apt/sources.list.d/upmpdcli.list
buster(debian 10)用
deb http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian/ buster main
deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/raspbian/ buster main
# apt-get update
# apt-get install upmpdcli
— posted by くま at 11:35 am Comment [2]
64bit rt-kernel への道...
2021/12/2
NFD基板向けで rt-kernel が構築出来ないか?とイジっていました。
色々なサイトの情報を組み合わせて何とか?起動までは漕ぎ着けました。
もちろん問題は多々ありますが(笑)
$ uname -a
Linux raspberrypi 5.0.21-rt16-v8 #2 SMP Tue Nov 30 14:15:20 JST 2021 aarch64 GNU/Linux
# aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
サブデバイス: 7/7
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
サブデバイス #4: subdevice #4
サブデバイス #5: subdevice #5
サブデバイス #6: subdevice #6
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: ALSA [bcm2835 ALSA], デバイス 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
現状、NFD基板を認識しません。
config.txt でdtoverlay=allo-digioneとしているのですが??
rt-kernelでなくても十分良い音なのでその先の音が聴いて見たい一心での試みでした。
追記 12/01 良く分かっていないがarm64とaarch64はイコールでは無いのか?
rt-kernelを構築するのにクロスコンパイル環境を作るのだが理由はarm64環境で作業すると起動出来るkernelが作れない。
(RaspberryPi4の内部でコンパイルするのにクロスコンパイル環境を作らないだダメって?何かミスしているのかなぁ(笑))
だから何か作業する前には呪文が必要でたとえばこんな感じである。
KERNEL=kernel8 make bcm2711_defconfig ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu-
(make bcm2711_defconfig)
うっかりこの呪文を忘れて作業すると
このコマンドは作業PCのarchで実行されて落とし穴に落ちるかor冷酷なERRが帰ってくる。
参考URL Raspberry Pi Documentation
64bit 版 Raspberry Pi OS のカーネルモジュールのビルド環境設定
追加 12/2
最初rt-kernelのパッチを当てる作業で組み合わせを探る部分が良く分からなかったので
たかじんさんのHPで紹介されている組み合わせで
やってみたのですが色々試していたら
そのバージョンはラズパイの3までしか対応いていない事が分かって...
しょうがなく(笑)たかじんさんの記事を熟読して
今回コンパイルした組み合わせを見つけてそれが
ラズパイ4に対応しているソースだと確認して再度挑戦しました。
自分の理解を超えた部分が多すぎで今出来ているカーネルが正しいのか?という部分が多々あります。
1番変だと思うのはラズパイ上にクロスコンパイル環境を作って
arm64ではなくaarch64 としてコンパイルしないと起動するカーネルが作れない所です(笑)
まぁ英語力があれば色々探して解決出来る問題だとは思います。
それと作ったカーネルではUSBデバイスが一切動作しません。
もともとのカーネルのconfigをいじらない方向で作業しているのに??です。
64bitノーマルカーネルでも結構な美音がするのですがその先が聴きたいですよね(笑)
現状で組み込まれたモジュールは
# lsmod | grep snd
snd_soc_wm8804_i2c 16384 0
snd_soc_wm8804 20480 1 snd_soc_wm8804_i2c
snd_soc_rpi_wm8804_soundcard 16384 0
snd_soc_bcm2835_i2s 20480 0
regmap_mmio 16384 1 snd_soc_bcm2835_i2s
snd_soc_core 221184 4 snd_soc_rpi_wm8804_soundcard,snd_soc_bcm2835_i2s,snd_soc_wm8804,vc4
snd_compress 20480 1 snd_soc_core
snd_bcm2835 28672 2
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 131072 6 snd_soc_bcm2835_i2s,snd_soc_wm8804,vc4,snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_timer 40960 1 snd_pcm
snd 86016 9 snd_bcm2835,snd_timer,snd_compress,snd_soc_core,snd_pcm
色々なサイトの情報を組み合わせて何とか?起動までは漕ぎ着けました。
もちろん問題は多々ありますが(笑)
$ uname -a
Linux raspberrypi 5.0.21-rt16-v8 #2 SMP Tue Nov 30 14:15:20 JST 2021 aarch64 GNU/Linux
# aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
サブデバイス: 7/7
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
サブデバイス #4: subdevice #4
サブデバイス #5: subdevice #5
サブデバイス #6: subdevice #6
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: ALSA [bcm2835 ALSA], デバイス 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
現状、NFD基板を認識しません。
config.txt でdtoverlay=allo-digioneとしているのですが??
rt-kernelでなくても十分良い音なのでその先の音が聴いて見たい一心での試みでした。
追記 12/01 良く分かっていないがarm64とaarch64はイコールでは無いのか?
rt-kernelを構築するのにクロスコンパイル環境を作るのだが理由はarm64環境で作業すると起動出来るkernelが作れない。
(RaspberryPi4の内部でコンパイルするのにクロスコンパイル環境を作らないだダメって?何かミスしているのかなぁ(笑))
だから何か作業する前には呪文が必要でたとえばこんな感じである。
KERNEL=kernel8 make bcm2711_defconfig ARCH=arm64 CROSS_COMPILE=/opt/aarch64/bin/aarch64-linux-gnu-
(make bcm2711_defconfig)
うっかりこの呪文を忘れて作業すると
このコマンドは作業PCのarchで実行されて落とし穴に落ちるかor冷酷なERRが帰ってくる。
参考URL Raspberry Pi Documentation
64bit 版 Raspberry Pi OS のカーネルモジュールのビルド環境設定
追加 12/2
最初rt-kernelのパッチを当てる作業で組み合わせを探る部分が良く分からなかったので
たかじんさんのHPで紹介されている組み合わせで
やってみたのですが色々試していたら
そのバージョンはラズパイの3までしか対応いていない事が分かって...
しょうがなく(笑)たかじんさんの記事を熟読して
今回コンパイルした組み合わせを見つけてそれが
ラズパイ4に対応しているソースだと確認して再度挑戦しました。
自分の理解を超えた部分が多すぎで今出来ているカーネルが正しいのか?という部分が多々あります。
1番変だと思うのはラズパイ上にクロスコンパイル環境を作って
arm64ではなくaarch64 としてコンパイルしないと起動するカーネルが作れない所です(笑)
まぁ英語力があれば色々探して解決出来る問題だとは思います。
それと作ったカーネルではUSBデバイスが一切動作しません。
もともとのカーネルのconfigをいじらない方向で作業しているのに??です。
64bitノーマルカーネルでも結構な美音がするのですがその先が聴きたいですよね(笑)
現状で組み込まれたモジュールは
# lsmod | grep snd
snd_soc_wm8804_i2c 16384 0
snd_soc_wm8804 20480 1 snd_soc_wm8804_i2c
snd_soc_rpi_wm8804_soundcard 16384 0
snd_soc_bcm2835_i2s 20480 0
regmap_mmio 16384 1 snd_soc_bcm2835_i2s
snd_soc_core 221184 4 snd_soc_rpi_wm8804_soundcard,snd_soc_bcm2835_i2s,snd_soc_wm8804,vc4
snd_compress 20480 1 snd_soc_core
snd_bcm2835 28672 2
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 131072 6 snd_soc_bcm2835_i2s,snd_soc_wm8804,vc4,snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_timer 40960 1 snd_pcm
snd 86016 9 snd_bcm2835,snd_timer,snd_compress,snd_soc_core,snd_pcm
— posted by くま at 02:10 pm
lite版は軽いかも 音は重いかも(笑)
2021/12/1
2021-05-07-raspios-buster-arm64-lite.zip
lite版はGUIのパッケージが入っていないモノらしい。
mpdは一度純正をインストールしてから入れ替えを行った。
もう...
ninjaとかいうコマンドは勘弁して欲しい。
何でmakeじゃダメなんだろう。
# mpd -V | grep Music
Music Player Daemon 0.23.4 (0.23.4)
# uname -a
Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux
コンパイルを繰り返して作業をする場合はそれをSDカード内で行うのは余りに酷なので
USBメモリを追加、マウントしてそこにsourceをdownloadして進めるのが良いと思う。
lite版はGUIのパッケージが入っていないモノらしい。
mpdは一度純正をインストールしてから入れ替えを行った。
もう...
ninjaとかいうコマンドは勘弁して欲しい。
何でmakeじゃダメなんだろう。
# mpd -V | grep Music
Music Player Daemon 0.23.4 (0.23.4)
# uname -a
Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux
コンパイルを繰り返して作業をする場合はそれをSDカード内で行うのは余りに酷なので
USBメモリを追加、マウントしてそこにsourceをdownloadして進めるのが良いと思う。
— posted by くま at 12:19 pm
RaspberryPi4 64bitで使う
2021/11/23
# uname -a
Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux
# getconf LONG_BIT
64
RaspberryPi4上に完全?な64bit環境を作ってI2S信号を出力させて音を聴いてみた。
簡単に言っているがかなりの労力が必要だった。
2020-05-27-raspios-buster-arm64をインストールして
出来る限りx86-64パッケージに入れ替え作業を行い
mpd upmpdcliをインストールして音出しするも何故か?
再生出来ないファイルが存在する事を発見してしまう(笑)
色々なテストと他PCとの比較してmpdのバグだと結論...
そこから安定版最新mpdソースからのコンパイルを始める(笑)
# mpd -V
Music Player Daemon 0.23.4 (0.23.4)
何とかコンパイル-インストールが成功する。
systemctlで自動起動させようとするとエラ-を吐く...
#cat /usr/local/lib/systemd/system/mpd.service
[Service]
Type=notify
#ExecStart=/usr/local/bin/mpd --systemd
ExecStart=/usr/local/bin/mpd --no-daemon /etc/mpd.conf
こんな感じに書き換えてたら良い感じになった。
今、再生しながらこの記事を書いている。
肝心の再生音であるが苦労し過ぎでプラシーボ全開なので後日に(笑)
一連の作業で RaspberryPi4 はコンパイル作業も確実にこなす力を持っていると感じました。
(最初はRaspberryPi3でイジっていたが遅すぎて途中から4へSDカードを差し替えて作業を行った)
2,3とは大違い(笑))
参考リンク
mpdコンパイル http://blog.livedoor.jp/sasayakimasuyo/archives/54392386.html
upmpdcliインストール https://www.lesbonscomptes.com/upmpdcli/pages/downloads.html
※ここに書いてある説明は不十分apt install だけではインストール出来ない。
key関連が古い為だと思う。
結果だけ...インストールしたのは upmpdcli_1.5.13-1~ppa1~buster_arm64.deb
追記 11/24 ddコマンドでSDカードのバックアップが取れたので
軽量化のため音源再生に関連の無いパッケージの削除を始める。
Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux
# getconf LONG_BIT
64
RaspberryPi4上に完全?な64bit環境を作ってI2S信号を出力させて音を聴いてみた。
簡単に言っているがかなりの労力が必要だった。
2020-05-27-raspios-buster-arm64をインストールして
出来る限りx86-64パッケージに入れ替え作業を行い
mpd upmpdcliをインストールして音出しするも何故か?
再生出来ないファイルが存在する事を発見してしまう(笑)
色々なテストと他PCとの比較してmpdのバグだと結論...
そこから安定版最新mpdソースからのコンパイルを始める(笑)
# mpd -V
Music Player Daemon 0.23.4 (0.23.4)
何とかコンパイル-インストールが成功する。
systemctlで自動起動させようとするとエラ-を吐く...
#cat /usr/local/lib/systemd/system/mpd.service
[Service]
Type=notify
#ExecStart=/usr/local/bin/mpd --systemd
ExecStart=/usr/local/bin/mpd --no-daemon /etc/mpd.conf
こんな感じに書き換えてたら良い感じになった。
今、再生しながらこの記事を書いている。
肝心の再生音であるが苦労し過ぎでプラシーボ全開なので後日に(笑)
一連の作業で RaspberryPi4 はコンパイル作業も確実にこなす力を持っていると感じました。
(最初はRaspberryPi3でイジっていたが遅すぎて途中から4へSDカードを差し替えて作業を行った)
2,3とは大違い(笑))
参考リンク
mpdコンパイル http://blog.livedoor.jp/sasayakimasuyo/archives/54392386.html
upmpdcliインストール https://www.lesbonscomptes.com/upmpdcli/pages/downloads.html
※ここに書いてある説明は不十分apt install だけではインストール出来ない。
key関連が古い為だと思う。
結果だけ...インストールしたのは upmpdcli_1.5.13-1~ppa1~buster_arm64.deb
追記 11/24 ddコマンドでSDカードのバックアップが取れたので
軽量化のため音源再生に関連の無いパッケージの削除を始める。
— posted by くま at 09:37 pm
Comments