[2025年最新] raspberry pi でmirakurunを動かす

What I did.

カーネルのアップデートを行ったらカーネルヘッダのインストールの問題でpx4-drvを正常に動作させられなくなったので、
クリーンインストールをして再構築することにした。
先に結果を書くが、現環境でゴニョゴニョ頑張るより新環境を用意したほうが楽だった。

HW

  • RPI 4 2GB
  • PX-Q3U4
  • Generic Smart Card Reader Interface

OSの準備

Ubuntu の Imager を使い、raspberry PI OS 64bitの最新を書き込む
初期設定はしてから書き込んだほうが良い
Ubuntuと迷ったが、デフォルトOSの方が信頼性が高く性能的にも優位ということで選択
久々にFlashしたが、結構時間かかった(具体的に把握してない)
インストールされたバージョンは↓
Linux raspberrypitv 6.6.51+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64

起動後

#locale を設定
sudo raspi-config
# update
sudo apt update
sudo apt upgrade
# 2025/1/2時点では6.6.62が入った
sudo apt autoremove
sudo reboot

# 作業用ディレクトリ作成
WORK=~/tv
mkdir $WORK
cd $WORK

カードリーダー関連インストール

sudo apt install pcsc-tools pcscd
sudo systemctl start pcscd
sudo systemctl enable pcscd
sudo systemctl status pcscd
pcsc_scan

px4-drv インストール(ドライバ)

wget https://github.com/tsukumijima/px4_drv/releases/download/v0.5.1/px4-drv-dkms_0.5.1_all.deb
# apt install だとエラーになるので強引にインストール
#sudo apt install -y ./px4-drv-dkms_0.5.1_all.deb
sudo dpkg -i ./px4-drv-dkms_0.5.1_all.deb
sudo modprobe px4_drv
# 結果が表示されたらOK
lsmod | grep -e ^px4_drv

b25 インストール(復号化)


cd $WORK
sudo apt-get install build-essential pkg-config git cmake libpcsclite-dev
git clone https://github.com/stz2012/libarib25.git
cd libarib25
mkdir build
cd build
cmake ..
make
sudo make install
which b25

recpt1 インストール(録画ソフト)

この方法の場合、b25のインストールが絶対に先。
そうでないと録画に失敗する。

cd $WORK
sudo apt install autoconf automake
git clone --depth 1 https://github.com/stz2012/recpt1.git
cd recpt1/recpt1
./autogen.sh 
./configure --enable-b25
make
sudo make install
which recpt1

mirakurun インストール

curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt install build-essential
sudo npm install pm2 -g
sudo npm install mirakurun -g --unsafe-perm --foreground-scripts --production
sudo mirakurun config server
sudo mirakurun config tuners
sudo mirakurun config channels

再起動

sudo apt update
sudo apt upgrade
sudo apt reboot

動作確認

http://raspberrypi.local:40772/ にアクセス
EventsやLogsの確認を行う
sudo pm2 status でmirakurunの動作状況を確認できる。

学び

  • 自身の遊び環境とはいえ、準備なしにカーネルのアップデートすな(当然)
  • アップデートの前にバックアップとれ(当然)
  • そもそもカーネルのアップデートはせずに新しいsdカードに新環境用意した方が良さそう
  • px4-drv を(別の方が)メンテしていてすごく助かった
  • rpi-clone で定期的にsdカードのバックアップ取るのは良さそう
    • ということで、新しいmicrosdを買いました。

サーバを再起動したら ZFS が起動しなくなった。

はじまり

台風が来たので、昨夜サーバを停止し、
今朝(昼)サーバを起動したらファイルサーバが正常に動いていません。
といっても、シンプルなディスク構成の部分は動いていて、zfsプールの箇所だけ動いてないという、本気で嫌なやつ。

調査

調べてみると、zfsの起動ができていない。

[root@xfs ~]# zfs --version
The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.
[root@xfs ~]# /sbin/modprobe zfs
modprobe: ERROR: could not insert 'zfs': Invalid argument
[root@xfs ~]# dkms --version
dkms:2.6

dmesg

[    3.756206] zfs: disagrees about version of symbol vn_getattr
[    3.756210] zfs: Unknown symbol vn_getattr (err -22)
[    3.758575] zfs: disagrees about version of symbol vn_getattr
[    3.758577] zfs: Unknown symbol vn_getattr (err -22)
[    3.760831] zfs: disagrees about version of symbol vn_getattr
[    3.760835] zfs: Unknown symbol vn_getattr (err -22)
[    3.763547] zfs: disagrees about version of symbol vn_getattr
[    3.763550] zfs: Unknown symbol vn_getattr (err -22)
[    3.765624] zfs: disagrees about version of symbol vn_getattr
[    3.765627] zfs: Unknown symbol vn_getattr (err -22)
[    4.176160] zfs: disagrees about version of symbol vn_getattr
[    4.176163] zfs: Unknown symbol vn_getattr (err -22)

調べると、モジュールのバージョンがかみ合ってないとか情報が。。

対応

最終的にはこちらを実行
https://github.com/zfsonlinux/zfs/issues/3986

[root@xfs ~]# yum erase zfs zfs-dkms libzfs2 spl spl-dkms
[root@xfs ~]# yum install zfs
[root@xfs ~]# reboot

ちなみに

reboot前に

/sbin/modprobe zfs
zpool status

をしたところ、プールが存在しなくて変な汗が出ましたが、
再起動したらプールが存在していました。

変な汗をかくのは嫌なので、もうちょっと知識を付けたいところ。
公式GitHubに書いてあるとおり、DKMS style はアップグレード毎にbuildが必要ってことみたいです。
普通は kABI-tracking kmod でインストールしろとのこと。

Raspberry pi 3 と PIFI Digi DAC+HIFI DAC で Volumio を楽しんでみた

今回用意したのは、
ギアべで安かった PIFI Digi DAC+HIFI DAC

まずは無心でVolumio のダウンロード
https://volumio.org/get-started/

続いていつものように解凍。

Mac で microSD にイメージ焼き。
参考:Raspberry Pi 2 + Volumio + DAC でネットワークオーディオに挑戦(その2)

My-Mac:~ owners-name$ df
Filesystem    512-blocks      Used Available Capacity iused               ifree %iused  Mounted on
/dev/disk1s1   489825072 100724872 381504880    21% 1085195 9223372036853690612    0%   /
devfs                378       378         0   100%     656                   0  100%   /dev
/dev/disk1s4   489825072   6291496 381504880     2%       3 9223372036854775804    0%   /private/var/vm
map -hosts             0         0         0   100%       0                   0  100%   /net
map auto_home          0         0         0   100%       0                   0  100%   /home
/dev/disk2s2    30260336      2128  30258208     1%       0                   0  100%   /Volumes/RPI
My-Mac:~ owners-name$ df
Filesystem    512-blocks      Used Available Capacity iused               ifree %iused  Mounted on
/dev/disk1s1   489825072 100723464 381506288    21% 1085152 9223372036853690655    0%   /
devfs                378       378         0   100%     656                   0  100%   /dev
/dev/disk1s4   489825072   6291496 381506288     2%       3 9223372036854775804    0%   /private/var/vm
map -hosts             0         0         0   100%       0                   0  100%   /net
map auto_home          0         0         0   100%       0                   0  100%   /home
/dev/disk2s2    30260336      2144  30258192     1%       0                   0  100%   /Volumes/RPI
My-Mac:~ owners-name$ df
Filesystem    512-blocks      Used Available Capacity iused               ifree %iused  Mounted on
/dev/disk1s1   489825072 100737080 381492672    21% 1085163 9223372036853690644    0%   /
devfs                378       378         0   100%     656                   0  100%   /dev
/dev/disk1s4   489825072   6291496 381492672     2%       3 9223372036854775804    0%   /private/var/vm
map -hosts             0         0         0   100%       0                   0  100%   /net
map auto_home          0         0         0   100%       0                   0  100%   /home
/dev/disk2s2    30260336      2480  30257856     1%       0                   0  100%   /Volumes/RPI
My-Mac:~ owners-name$ sudo diskutil unmount /dev/disk2s2
Password:
Volume RPI on disk2s2 unmounted
My-Mac:~ owners-name$ sudo dd bs=1m if=~/volumio-2.362-2018-02-12-pi.img of=/dev/rdisk2
2800+0 records in
2800+0 records out
2936012800 bytes transferred in 399.316915 secs (7352588 bytes/sec)
My-Mac:~ owners-name$ exit

ラズパイに microSD を挿す
ラズパイに オーディオボードを挿す

で、電源つなぐ(起動)

暫く待つと、 http://volumio.local で接続が可能になり、
ブラウザ上でセットアップが可能。

※I2Sデバイスの選択では、 Hifibetty DAC Plus を選ぶと良いらしい。
参考:Configure Volumio with PiFi DIGI DAC+

で、セットアップが完了したら動作確認へ。

DLNAからの再生もUSBメモリからの再生も問題なし。

ステレオミニ、RCAどちらも再生できました。

CentOS 6.7 に ReadyMedia (MiniDLNA) をインストールした

Mediatombがあまりにも更新されないので、
新しいDLNAサーバを入れてみることに。

調べてみると、ReadyMedia(旧miniDLNA)がよさげ。
早速入れてみた。

ReadyMedia(miniDLNA) on CentOS7
これをみて進めたらスクリプトのとこで 環境(CentOS 7) の差異が…

ってことで、
ReadyMedia (MiniDLNA) のインストール方法
CentOS6.0 に minidlna インストール
このあたりを参考に完了

PC上で Honeycomb の開発環境を整える

以下2点のセットアップ方法のメモ書き
・Android SDK
・eclipse with ADT(Android Development Tools) Plugin

なお、基本的にはAndroid Developers Siteからの引用となります。

  1. 事前確認
  2. java(開発キット)がインストールされていること。
    されていない場合はインストールすること。
    ここでは割愛させて頂きます。
    ※開発しないのであれば開発キットでなくてもokかもです。

  3. Android SDKのダウンロード
  4. 使用しているOSに適合するSDKをダウンロードします。
    http://developer.android.com/sdk/index.html

  5. Eclipseのダウンロード
  6. 執筆時点では、
    Eclipse Classic (クラシック版) の3.5以上(3.6.1が最新) が推奨されています。
    http://www.eclipse.org/downloads/

  7. 設置
  8. 上記2点を解凍し適当なディレクトリに設置します。
    ex. C\Android\eclipse
    ex. C\Android\android-sdk-windows

  9. Pathを通す(任意)
  10. sdkのtoolフォルダにパスを通すと、
    コマンドラインから各種ツールの起動が可能となります。
    なお、筆者は現時点では通してません。

  11. Eclipse用ADT Plugin のインストール
  12. 1. eclipseを起動。
    2. ワークスペースの配置は任意で設定。
    「./workspace」と設定すると、eclipse配下に設定される。
    3. 上部メニューより[Help] – [Install New Software]を選択。
    4. ダイアログが開いたら、右上のaddボタンを押下。
    5. さらに小窓が開くので、入力エリアに下記の要領で入力。
    Name(任意名称)は「Android Plugin」
    locationは「https://dl-ssl.google.com/android/eclipse/」
    okボタンを押下。
    ※後の工程でダウンロードエラーが発生する場合は、
    「http://dl-ssl.google.com/android/eclipse/」に変更すること。
    6. ダイアログ画面に戻り、しばらくすると、リスト内に「Developer Tools」が表示される。
    左のチェックボックスにチェックを入れ、okを押下。
    この選択により、3点のツールがインストールされる。
    7. 画面が切り替わりインストールの確認などはokで進む。
    8. ライセンスは”しっかり”と読みacceptし、okで進む。
    9. 自動でダウンロードされ、インストールが行われる。
    10. eclipseの再始動が強く推奨されるので、okにて再起動。
    11. 再起動が完了したら、SDKのロケーションを設定する。
    上部メニューより[Window] – [Preferences]を選択。
    12. ダイアログが表示されたら、左メニューより[Android]を選択。
    13. SDKのロケートが行われていないためエラーダイアログが表示される。
    Blowseボタンを押し、SDKの設置ディレクトリを指定。
    以上でpluginのインストール終了。

  13. SDKのセットアップ
  14. SDKのデイレクトリ直下に「SDK Setup.exe」が存在する。
    コレを起動すると、各種設定と必要なファイルをサーバよりダウンロードすることができる。
    Android SDK and AVD Managerが接続に失敗する場合は、[Setting]の設定を変更すると接続できる場合が多い。
    ダウンロード対象の中にHoneycombのプレビュー版が含まれているので、
    これをダウンロード。

  15. ヴァーチャルマシンの作成
  16. Android SDK and AVD Managerより、
    Virtual devices – newボタン押下。
    Create画面が開くので、
    Nameは適当[honeycomb]など
    Targetは最下にあるハニカムを選択
    あとは適当に入力し、Create AVDボタンを押下。

  17. ヴァーチャルマシンの起動
  18. Android SDK and AVD Managerより、
    Virtual devices – マシンをリストより選択し、startボタン押下。
    暫くしたら起動