Linux Computing
  1. ホーム
  2. BeagleBone Black 版 Volumio のビルド

BeagleBone Black 版 Volumio のビルド

今年の3月 Volumio がサポートする公式なプラットフォームから BeagleBone Black(BBB) が外れました。メインとなるプラットフォームである Raspberry Pi と x86 に注力するようです。そのため BBB のイメージファイルは Volumio のダウンロードページからダウンロードできなくなっています。

しかし完全に BBB 版のサポートをしなくなったわけではなく、「公式」なサポートではないけどコミュニティ移植版をセットアップしているので自分でビルドしてね、質問も受け付けるからということらしいです。

ということでビルドしてみることにしました。

ビルド環境

ビルドする環境は少し注意が必要なようです。VirtualBox 上の Ubuntu 17.10 でビルドしましたが動作しませんでした。Ubuntu 16.04 LTS 日本語 Remix でも同様に動作しません。ビルドのリポジトリには

if on Ubuntu, you may need to remove $forceyes from line 989 of /usr/sbin/multistrap

ということが書かれているので疑いもなく Ubuntu でビルドしていたのでした。しかし multistrap ファイルの 989 行付近には $forceyes は見つからなかったのですがこのことが何か関係があるのでしょうか。

Support for Botic Linux driver で Mull3t さんが Debian Jessie じゃないとちゃんと動くイメージができないと投稿していたのを見て Debian 8.0 で試したところ動作するイメージができました。

ビルドのスイッチオプションで悩む

BBB の CPU は Cortex-A8 を採用しています。Cortex-A8 のアーキテクチャは ARM の v7 バージョンなのでビルドの architecture スイッチのオプションは armv7 で良いと思うのですが出来上がったイメージでは旨く動作しません。Armv8 でもだめです。前述した Mull3t さんは armv7 を指定しています。

結局 architecture のオプションは arm とすることでできました。Armv7 でダメな理由はわかりませんが arm としてビルドしたイメージではちゃんと動いているようです。

How To ビルド

ビルドの方法をまとめておきます。といってもビルドのリポジトリに記載されているそのものですが。

必要なソフトウェアをインストールします。

# apt-get install git squashfs-tools kpartx multistrap qemu-user-static samba debootstrap parted dosfstools qemu binfmt-support qemu-utils

リポジトリのクローンを volumio_bbb ディレクトリ以下に作成します。ちなみにここでは赤外線リモコン(Lirc_BBB)をサポートしたリポジトリでビルドします。

# git clone https://github.com/Tigor888/Volumio_BBB volumio_bbb

作成された volumio_bbb ディレクトリに移動します。

# cd volumio_bbb

ビルドのスクリプトを実行します。

./build.sh -b arm -d bbb

ビルドのスイッチオプションでバージョンを指定していない場合 Volumio-<yyyy-mm-dd>-bbb.img ファイルが出来上がっています。

作成されたイメージファイルをマイクロ SD カードに焼いて Volumio を起動します。VolumioIP/DEV ページで SSH ENABLE をクリックして SSH を有効にします。Uname コマンドでシステム情報を確認。

volumio@volumio:~$ uname -a
Linux volumio 4.8.13-botic7-rc3 #25 PREEMPT Thu Mar 8 14:24:44 EET 2018 armv7l GNU/Linux

数日使っただけですが公式にサポートされていたバージョンの volumio-2.194-2017-06-11-bbb.img に比べ PCM、DSD ダイレクト再生そして Spotify も特に大きな問題は確認できませんでした。

赤外線リモコン

Lirc_bbb が使えるようになっているか確認してみます。

起動時にカーネルが出力するメッセージで lirc が含まれる行を dmesg コマンドで抽出します。

volumio@volumio:~$ dmesg | grep lirc
[   12.263618] lirc_dev: IR Remote Control driver registered, major 244
[   12.351728] lirc_bbb: module is from the staging directory, the quality is unknown, you have been warned.
[   12.384732] lirc_bbb lirc_bbb.0: lirc_dev: driver lirc_bbb registered at minor = 0
[   12.384824] lirc_bbb: manually using active low receiver on GPIO pin 65
[   12.384829] lirc_bbb: transmitter on GPIO pin 27

2 行目のメッセージが気になりますが、一応読み込まれているようです。また受信信号の入力は GPIO の65ピンに割り当てられています。B3D 基板では GPIO の66ピンであれば都合が良かったのですが。

Lirc 関連モジュールがロードされているかを確認します。

volumio@volumio:~$ lsmod | grep lirc
lirc_bbb                6355  3
lirc_dev               10665  1 lirc_bbb

よさそうですね。実際にリモコンで動作するかはまた後程。

このページは2018年5月15日にはじめてアップされました。

目次
PR
コンテンツ
最近のトピック
週間アクセスランキング
デル株式会社
Copyright (C) 2018 Linux Computing All rights reserved