RaspPiMouseのセットアップ
Simple Wiki Based Contents Management System
関心分野 >> RasPi Mouse >> RaspPiMouseのセットアップ

Raspberry Pi のセットアップ

Raspbianのインストール

現在は、OS、デバイスドライバ入りのmicroSDカードがフルキットにはついていますが、別々に購入した人向けに、自分の備忘録として書いていきます。
まず、Raspberry Pi を準備して、OSのセットアップをします。
https://www.raspberrypi.org/downloads/ から、NOOBS(version:1.9.0)をダウンロードしましょう。
2016/04/18 現在では、OSのカーネルのバージョンは、4.1.19-v7+になっています。
NOOBS_v1_9_0.zipをダウンロードしたら、WindowsPCで解凍し、microSDカードへコピーし、Raspberry Piを起動してください。インストールは、指示に従えば簡単に終了します。
Raspbianのセットアップが終了したら、Raspberry Pi Mouseのデバイスドライバのインストールを行います。

Raspberry Pi Mouseのデバイスドライバをダウンロード

Raspberry Pi Mouseのデバイスドライバは、Githubにあります。ここで、デバイスドライバの最新版は、4.1.17-v7+になっています。既にインストールしていたOSのカーネルバージョンは、4.1.19-v7+ でしたので、このままでは動作しませんので、カーネルをダウングレードするか、ドライバを自力で生成します。

Raspbianのカーネルダウングレード

Raspbianのカーネルのダウングレードは、rpi-updeteコマンドを使います。
# rpi-update 0764e7d78d30658f9bfbf40f8023ab95f952bcad
でダウングレードすることができます。

linux-4.1.19-v7+用にドライバを生成する

RasPi Mouseのドライバを自力で生成するには、カーネルのソースコードをダウンロードし、コンパイル環境を整える必要があります。カーネルのソースコードのダウンロードは、rpi-sourceというツールを使うと比較的簡単にセットアップすることができます。rpi-sourceをダウンロード後、
# python rpi-source
を実行するとホームディレクトリにソースコードをダウンロードし、展開してくれます。この場合、途中で libncurses5-devパッケージを要求されますので、あらかじめインストールしておきましょう。
rtmouseのドライバのコンパイルは、ソースコードのディレクトリに移動し、Makefileの7行目を
        make -C ~/linux M=$(PWD) modules
に変更し、makeコマンドを実行すれば、ドライバが生成されまし
# make
以上で、rtmouse.ko が生成されると思います。

linux-4.1.19-v7+用にドライバをダウンロードして利用する

私が独自にコンパイルしたものをこのページに添付していますので、ダウンロードして
# sudo tar xzvf rtmouse-4.1.19-v7plus.tgz -C /
で展開して利用可能です。rtmouse.ko は、
/lib/modules/4.1.19-v7+/kernel/drivers/misc
の下に配置されます。

ドライバモジュールの動作確認とインストール

rtmouse.koが用意できたら、動作確認をします。 rtmouse.koのあるディレクトリに移動後
# sudo insmod rtmouse.ko
を実行します。正常にインストールされたかどうかは、lsmodコマンドで確認することができます。
ドライバの動作確認ができたら、ドライバのインストールを行います。通常、Linuxのカーネルモジュールは、
/lib/modules/`uname -r`/kernel/drivers/
の下にありますので、
/lib/modules/`uname -r`/kernel/drivers/misc/
に rtmouse.ko をコピーしましょう。
ドライバのコピー後、
# sudo depmod
を実行すれば、後は、modprobeコマンドでrtmouseのドライバを読み込むことができます。

SPI機能をオンにし、DriverTreeから除外する

rtmouseのドライバであ、SPI機能を有効にする必要があり、DriverTreeに対応できていませんので、DriverTreeから除外する設定が必要です。
SPI機能の有効化には、通常 raspi-config コマンドで行いますが、DriverTreeの除外設定もありますので、/boot/config.txtを直接編集しましょう。
下記の2行を追加して、再起動してください。
dtparam=spo=on
dtoverlay=rtmouse
以上でドライバの導入設定は終了です。再起動後、
# sudo modprobe rtmouse
でドライバの読み込みができることを確認して下さい。
/etc/rc.localに追記しておけば、起動直後にドライバのインストールができます。
注意
 rtmouseのドライバは、modprobe -r や rmmodでアンロードできるのですが、rtmouseは、mcp320x, industrialioというモジュールに依存しているため、rtmouseのみをアンロードすると不具合が発生する可能性があります。
rtmouseをアンロードする場合には、必ず依存するモジュール(mcp320x, industrialio)も同時にアンロードするようにしてください。
以上で、Raspberry Pi Mouseのデバイスドライバのインストールは終了なのですが、より簡単に導入するためにインストール用のスクリプトを作成しました。
このページの最下部に添付されている install_rtmouse.sh をダウンロードして、ネットワークが使える状態で、
% sudo ./install_rtmouse.sh
とすれば、このサイトからデバイスドライバをダウンロードし、modprobeで導入するスクリプトをインストールします。ここで再起動すれば、起動時にデバイスドライバのロードを行います。
デバイスドライバのロードは、
% sudo /etc/init.d/rtmouse start
で行い、デバイスドライバのアンロードは、
% sudo /etc/init.d/rtmouse stop
とします。
起動時に自動実行させたくない場合には、
% sudo update-rc.d rtmouse remove
として下さい。
また、起動時にCLIモードで起動させたい場合には、
% systemctl set-default multi-user.target
で良いようです。
続いて、いつでも無線LANでアクセスできるようにRasPiマウスを無線LANアクセスポイント化を行います。

資料