最新版のRT-kernelをアップします。
使用方法
4.9.65-bone-rt-r9-botic.zip を解凍します。
ターミナル(ファイル転送)ソフトでBBB(G)と接続しファイルが転送可能な状態にしておきます。
rt4965ディレクトリごと /build_boot にコピーします。
4.9.65-bone-rt-r9-modules.tar.gzを解凍し、4.9.65-bone-rt-r9ディレクトリ(解凍後にできるlib/modules/4.9.65-bone-rt-r9)ごと/lib/modulesにコピーします。
※systemd-update-utmp.serviceでエラーが発生していました。コマンドラインから systemctl と入力すると赤字でエラー表示が出るはずです。出なければこの操作は必要ありません。) systemctl mask systemd-update-utmp.service として systemd-update-utmp.serviceを止めてしまって下さい。(これで音のスケールが大きくなるはずです……)
selboot rt4965 と入力します。
再起動後kernelが入れ替わっているはずです。uname -a で
Linux alarm 4.9.65-bone-rt-r9 #1 PREEMPT RT Sun Nov 26 11:44:53 JST 2017 armv7l GNU/Linux と表示されるはずです。
ここ2週間ぐらいkernelをいじっていました。きっかけはコメント欄なのですが、Linux4.9.60あたりで音が大きく変わったような気がしました。
それまでは解像度は高いけれど、すこしキツ目で少々重苦しいような雰囲気を感じていました。2台あるBoticシステムの片方をUPnPのダブルラインにしていたのもこのことが原因でした。
Linux4.9.60kernelあたりで音の感じが変わったようです。ふわっとした感じが出てきてキツさがなくなりました。最新のLinux4.9.65も同傾向で更に音場が大きくなった気がします。
◆クロスコンパイル
クロスコンパイル用の母艦が必要です。私の場合、ubuntu16.04ですが、WindowsやMacj上でもubuntuやdebianが動くマシンがあれば良いはずです。母艦上の各種ツール(git など)はインストール済みとします。クロスコンパラ-の準備は必要ありません。
クロスコンパイル用のディレクトリを用意します。以下はそのディレクトリ上での操作です。
botic7-rc3 のソースをダウンロードし解凍しておきます。
以下は BeagleBone Black – Linux on ARM – eewiki にある手順通りすすめるだけです。
git clone https://github.com/RobertCNelson/bb-kernel
cd bb-kernel/
git checkout origin/am33x-rt-v4.9 -b tmp
./build_kernel.sh
1行ずつ入力していくと、最新版のクロスコンパイラ-やRTパッチ済のカーネルソースがダウンロードされ少し時間はかかりますが menu config が立ち上がります。
menu configu を ctrl-c で止めます。コマンドラインに戻ります。
手作業でboticファイルをコピーします。
先に解凍してある linux-upstream_botic から bb-kernel/KERNEL (最新版のカーネルソース)にbotic関係のファイルをコピーします。
am335x-boneblack-botic.dtb \(バックスラッシュ)
am335x-boneblack-botic-sabre32.dtb \(バックスラッシュ)
を書き加える。
./tools/rebuild.sh を実行すると再度 menu config の画面が出てきます。
追記
boticファイルコピースクリプト
上記の手作業のコピーを一発で行うスクリプトです。
#
CPF=linux-upstream_botic
CPT=bb-kernel/KERNEL
cp -u $CPF/arch/arm/boot/dts/* $CPT/arch/arm/boot/dts
cp -u $CPF/firmware/* $CPT/firmware
rm $CPT/include/sound/*
rm $CPT/sound/soc/codecs/*
rm $CPT/sound/soc/davinci/*
rm $CPT/sound/soc/generic/*
cp $CPF/include/sound/* $CPT/include/sound
cp $CPF/sound/soc/codecs/* $CPT/sound/soc/codecs
cp $CPF/sound/soc/davinci/* $CPT/sound/soc/davinci
cp $CPF/sound/soc/generic/* $CPT/sound/soc/generic
#cp cp -f $CPF/.config $CPT
exit 0
追伸です。
再起動して確認したところ、usb0は生えてくれませんでした。
ttps://archlinuxarm.org/platforms/armv7/ti/beaglebone-blackでは
4.9.65-rt-usb0に入れ変えてもusb0が生えるのですが、rootfsのほうも
関係するのでしょうか。残念、試行を続けます。
追伸2です。
arch-botic2310202017.imgから入れ直してrt4965をセットして何回か
起動したところ、usb0がその都度生えています。もうしばらく様子を見てみます。
何回も書き込みすみません。
いつも良い音を聴かせていただいています。ありがとうございます。
さっそく4.9.65-bone-rt-r9-boticをインストールしてみましたがうまくいきません。
rt4965フォルダーごと /build_boot にコピー
4.9.65-bone-rt-r9フォルダーごと/lib/modulesにコピー
selboot rt4965 と入力
再起動後uname -a で
Linux alarm 4.9.65-bone-rt-r9 #1 PREEMPT RT Sun Nov 26 11:44:53 JST 2017 armv7l GNU/Linux と表示されました。
しかし、GMPCで再生しようとしてもできません。
musicフォルダーにsynologyNASフォルダーを作り、
/etc/rc.localファイルに
mount -t nfs -o rsize=65536,wsize=65536,timeo=14,retrans=5,nfsvers=3, 192.168.1.7:/volume1/music /music/synologyNAS/
と記述してNASをNFSでマウントして使っていますが、
マウントがうまくいかないようで、synologyNASフォルダーを表示させると空になっており、GMPCで再生できなくなってしまいます。
(selboot rt4958などと入力して元に戻して再起動すると、synologyNASフォルダーにNASの内容が再表示され、GMPCでまた再生できるようになります。)
手順で何か漏れていることがあるのでしょうか?
よろしくお願いします。
ytkさん こんばんは
4.9.65-bone-rt-r9-modules.tar.gzを解凍すると、libというディレクトリができるはずです。その中にmodulesというディレクトリがあり更にその中の4.9.65-bone-rt-r9をディレクトリごと/lib/modulesにコピーなのですが、そうなっていますか。
さっそく、ありがとうございます。
確かに4.9.65-bone-rt-r9-modules.tar.gzを解凍し、4.9.65-bone-rt-r9をディレクトリごと/lib/modulesにコピーしました。
kickさん こんにちは。
早速クロスコンパイルについてご教示いただきありがとうございます。
今までboticの後にrtパッチをあてたほうがいいのではと思い、buildrootでコンパイルして
いました。
今はbb-kernelでコンパイルは通るものの、ALSAのdeviceが生えず、音を聞くまで
至っていません。usb0もだめです。boticパッチがうまく当たってないのかもしれません。
これからじっくりと取り組んでみます。
yoさんのconfigを基にコンパイルしたときはusb0までできましたので、.configも比較して
見たいと思います。
まずはお礼まで。ありがとうございました。
老いぼれニートさん こんばんは
boticファイルのコーピースクリプトを作りました。記事の方に追記しておきますのでよろしければお使いください。boticが生えてくるはずです。
kickさん こんにちは。
丁寧な説明ありがとうございます。boticとともに
やっと、usb0が生えました。kickさんのconfigを参考にしながら
いじくりまわして、zimage,dtbs,moduleを入れ替えて
ifconfig usb0 upでusb0ができることを確認できました。
(いじりすぎてどこの設定が効いたのかわかりません。)
ただ、mpcで操作しようとするとmpd error : Timeout がでて
きて音を聞くまで行き着いていません。
まだまだ道のりは長いようです。