実は1年くらい前からRaspberry pi3を少しだけいじっているんです。
というのも、ハードのMIDIシーケンサーってもう新品で売ってないじゃないですか。
かといってノートPCとかスマホとかタプレットとかは組み込み的には使えない。
じゃあRaspberry piならLINUXだしMIDIシーケンサー入れれば
使えるんじゃないですかね?
と思ってRaspberry pi3買ったんです。
そして、MIDIを扱えるソフトをインストールしたんですね。
Rosegardenというソフトです。
そしたらなんか警告が出るんですよ。
画面のキャプチャをとってないのが悔やまれますが、
英語なら「System timer resolution is too low」
日本語なら「システムタイマーの解像度が低いです」
とかそんな感じです、確か。
色々調べるとRaspbianでは100Hzに設定されている
システムタイマーの周波数を1000Hzにしろと言うことらしい。
最初は環境設定的なもので変更できるのかと調べたら、
詳しいことはわからないけどカーネルをビルドしろと書いてある。
カーネル?ケンタッキー?くらいによくわからないけど
しろというなら調べてやってやろうではないか。
さあ死闘の始まりです。
が、死闘の内容を書いても資料的に価値がないので
それは最後に。まずは成功した方法を書いておきます。
後で見返す自分のために。
(多分)最短手順
2017.11
Raspbian Kernel4.9
で作業
Raspberry piのターミナルもしくは
sshでログインしたターミナルより
sudo apt-get update sudo apt-get install bc sudo apt-get install ncurses-dev
ここまでRaspberry pi側の準備
uname -r
現在Raspberry piで動いているカーネルのバージョン表示。
「4.9.41-v7+」と出た。
cd /usr/src sudo su git clone --depth 1 https://github.com/raspberrypi/linux.git -b rpi-4.9.y
末尾のrpi-4.9.yはunameで調べたバージョンと
ここのBranchで選べるやつで二つ目の数字まで合わせる。
git clone --depth 1 https://github.com/raspberrypi/firmware.git cd linux modprobe configs zcat /proc/config.gz > .config cp ../firmware/extra/Module7.symvers Module.symvers
ここまでファイルの準備。
コンフィグファイルを編集します。
make oldconfig
何か聞かれた時にはyを連打してしまったがよかったのだろうか…
make menuconfig
Kernel Features→Timer frequencyで1000Hzを選ぶ
Saveを忘れないこと。
いよいよビルドします。
make -j4 zImage modules dtbs
長いです。一例ですが1時間15分くらいでした。
Raspberry piの温度を調べたらビルド中はずっと80度以上でした。怖い。
別のターミナルを立ち上げて
温度を見る vcgencmd measure_temp
CPUクロックを見る vcgencmd measure_clock arm
で見られる。
make modules_install cp arch/arm/boot/dts/*.dtb /boot/ cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/ cp arch/arm/boot/dts/overlays/README /boot/overlays/ cp /boot/kernel7.img /boot/kernel7.img.old scripts/mkknlimg arch/arm/boot/zImage /boot/kernel7.img reboot
以上で、Rosegardenを起動しても警告が出なくなりました!
現在のタイマーの数値を表示するコマンドがわからないのですが、
まあ警告出てないんだからきっと大丈夫でしょう!
余談
最初は別のLinuxでクロスコンパイルというのをしようとしていたのですが、
ビルドのところでどうしてもエラーで進めなくなってしまいあきらめました。
書いてみたら2行ですが、3日くらい分の余剰時間をこれに費やしました。
以下、参考にした先人のページです。多謝!
Raspberry Pi + kernel 4.1 / 4.4 / 4.9 系列で5GHz対応WifiドングルGW-450Dを動かした
ビルドの流れは主にこちらを参考にさせていただきました。
【ラズベリー・パイ】Raspberry Pi 3 Model B 日本製 アールエスコンポーネンツ 国内正規代理店品
|
コメントを残す