みみず工房掲示板
[リストに戻る] [ホームに戻る] [新規投稿] [thread view] [tree view] [留意事項] [ワード検索] [過去ログ] [管理用]
boticized を最新のカーネルで - inthedark 2017/02/04(Sat) 12:39 No.5601
 ├ Re: boticized を最新のカーネルで - ca2 2017/02/04(Sat) 15:02 No.5602
 ├ Re: boticized を最新のカーネルで - inthedark 2017/02/04(Sat) 15:25 No.5603
 ├ Re: boticized を最新のカーネルで - 初心者 2017/02/04(Sat) 18:11 No.5604
 ├ Re: boticized を最新のカーネルで - inthedark 2017/02/04(Sat) 18:18 No.5605
 ├ Re: boticized を最新のカーネルで - 初心者 2017/02/04(Sat) 18:55 No.5606
 ├ Re: boticized を最新のカーネルで - ca2 2017/02/04(Sat) 19:08 No.5607
 ├ Re: boticized を最新のカーネルで - yo 2017/02/04(Sat) 19:17 No.5608
 ├ Re: boticized を最新のカーネルで - inthedark 2017/02/04(Sat) 19:20 No.5609
 ├ Re: boticized を最新のカーネルで - inthedark 2017/02/04(Sat) 19:32 No.5610
 ├ Re: boticized を最新のカーネルで - 初心者 2017/02/04(Sat) 19:37 No.5611
 ├ Re: boticized を最新のカーネルで - yo 2017/02/04(Sat) 19:39 No.5612
 ├ Re: boticized を最新のカーネルで - yo 2017/02/04(Sat) 19:49 No.5613
 ├ Re: boticized を最新のカーネルで - yo 2017/02/04(Sat) 19:54 No.5614
 ├ Re: boticized を最新のカーネルで - yo 2017/02/04(Sat) 19:58 No.5615
 ├ Re: boticized を最新のカーネルで - 初心者 2017/02/04(Sat) 20:08 No.5616
 ├ Re: boticized を最新のカーネルで - ca2 2017/02/05(Sun) 10:49 No.5621
 ├ Re: boticized を最新のカーネルで - ca2 2017/02/05(Sun) 11:06 No.5622
 ├ Re: boticized を最新のカーネルで - yo 2017/02/05(Sun) 18:39 No.5626
 ├ Re: boticized を最新のカーネルで - ca2 2017/02/05(Sun) 21:05 No.5630
 ├ Re: boticized を最新のカーネルで - kens 2017/02/26(Sun) 22:25 No.5693
 ├ Re: boticized を最新のカーネルで - yo 2017/02/28(Tue) 17:25 No.5694
 ├ Re: boticized を最新のカーネルで - kens 2017/02/28(Tue) 21:10 No.5695
 └ Re: boticized を最新のカーネルで - ca2 2017/03/07(Tue) 23:59 No.5708

boticized を最新のカーネルで 投稿者:inthedark 投稿日:2017/02/04(Sat) 12:39 No.5601 home
mieroさんが、4.9.Xのソースを作ってくれるのを待っていても
よいわけですが、カーネルいじりの好きな私はついついこういう
遊びをやってしまいます。
できてしまえばコロンブスの卵のようなことなんで、私自身
拍子抜けしてしまいました。
kernelのmenuconfigにどうやってbotic関連の表示をさせるかが
わかった瞬間ひらめいたんですが、細かいことは私の趣味なの
で興味がある方のために手っ取り早い方法を説明します。

まず、kernel.orgの最新カーネル4.9.7とmieroさんの4.8.13
をダウンロードし各々展開してください。
私は先に4.9.7にrtパッチをあて、lightmpdbbbのconfig.gzに
入れ替えました。
そして、4.9.7の以下のディレクトリを4.8.13のそれと入れ替え
てください。

arch/arm/boot/dts
include/sound
sound/soc/codecs
sound/soc/davinci
sound/soc/generic

こうしてkernelのmenuconfigを立ち上げて見てください。
device driversのところにboticの選択項目が表示されている
はずです。それを選択してビルドしてください。
(firmwareディレクトリにam335x-pm-firmware.binをコピー
しておくことをお忘れなく)

buildrootを使うなら、am335x-boneblack-botic.dtbを作る
指示をお忘れなく。


ca2さん、やってみてください。

inthedark

Re: boticized を最新のカーネルで 投稿者:ca2 投稿日:2017/02/04(Sat) 15:02 No.5602 home
inthedarkさん

さっそく試して、うまく行きました。ちゃんと音も出ています。
kernelの中でboticの機能にあたる部分を入れ替えてるのでしょうか?このへんの勘は私にはないので、簡単な手順で最新kernelでBotic対応できるのは驚きです。

ちなみに、buildrootの中でmakeしましたが、TopDirにlocal.mkを置く方法を試しました(manualのhttps://buildroot.org/downloads/manual/manual.html#_advanced_usageの8.12.6にある方法です)。そのlocal.mkに、
LINUX_OVERRIDE_SRCDIR = botic-kernelの場所
のように書いておくと、make linux-menuconfig時にダウンロード設定は無視して(パッチも自動では当たらない)、OVERRIDE_SRCDIRから丸々コピーすると言うものです。linux-kernelに限らず、どのパッケージについても使えるとのこと。
ただ、普通はbuildrootに任せたほうが良いので、使い道がわからなかったんですが、今回のケースだとちょうど良さそうなので試してみた次第です。

Re: boticized を最新のカーネルで 投稿者:inthedark 投稿日:2017/02/04(Sat) 15:25 No.5603 home
ca2さん

ちゃんと音がでましたか。嬉しいもんですね、やっぱり。
ご報告ありがとうございます。

>kernelの中でboticの機能にあたる部分を入れ替えてるのでしょうか?

最初にyoさんに話を持っていったときのやり方よりは、私の
最終目的はこれでした。ドライバーを組み込むこと。
これをgithub.com/mieroのbotic-devをみて考えていました。
ドライバーを組み込んでも、menuconfigに表示されない、
これでは使えないなあと思っていたのですが、その仕組みが
わかったもんですから道が開けた感じです。
(4.8.x系列はEOLですし、4.9.Xはlongtermなんでしばらく
お付き合いできそうですしね。)

local.mkの件、ありがとうございます。勉強になります。
ca2さんがお気づきになられたことや、便利だなあと思われた
ことなど、buildrootのスレでもこのスレでも結構ですので
書き残して行っていただけると、これからbuildrootを使いたい
人(どれくらいいるかわかりませんが)に役立ててもらえるん
ではないかと思います。

inthedark

Re: boticized を最新のカーネルで 投稿者:初心者 投稿日:2017/02/04(Sat) 18:11 No.5604 home
inthedarkさん
すいませんが >私は先に4.9.7にrtパッチをあて
この部分が良く分かりません。

何処に4.9.7のrtパッチがあるのか?教えていただけないでしょうか?パッチが綺麗に当たるlinux-4.9.7元ソースもお願いします。
ちなみに
https://www.kernel.org/pub/linux/kernel/projects/rt/4.9/
ここにはpatch-4.9.6-rt4.patch.gz しか見当たりません?

Re: boticized を最新のカーネルで 投稿者:inthedark 投稿日:2017/02/04(Sat) 18:18 No.5605 home
初心者さん

4.9.7のパッチはまだありません。
4.9.6のパッチをあてています。エラーも出ませんので。
これでやってみてください。(気になるなら4.9.6にカーネル
ソースも合わせられたらよろしいかと思います。)

今確認しましたら、4.9.8が最新になってますね。
本当に更新が激しいですね。

inthedark

Re: boticized を最新のカーネルで 投稿者:初心者 投稿日:2017/02/04(Sat) 18:55 No.5606 home
>4.9.6のパッチをあてています。エラーも出ませんので。
もう状況は変わっているようです。
上手く当たりません...

$ zcat patches-4.9.6-rt4.tar.gz | patch -p1

Hunk #1 FAILED at 135.
Hunk #2 succeeded at 1676 (offset -28 lines).
1 out of 2 hunks FAILED -- saving rejects to file kernel/locking/rtmutex.c.rej
patching file kernel/locking/rtmutex_common.h
Hunk #1 FAILED at 99.
1 out of 1 hunk FAILED -- saving rejects to file kernel/locking/rtmutex_common.h.rej
patching file kernel/irq/spurious.c
patching file drivers/scsi/qla2xxx/qla_isr.c
patching file include/linux/interrupt.h
Hunk #2 succeeded at 217 (offset -2 lines).
Hunk #3 succeeded at 229 (offset -2 lines).
patching file kernel/irq/manage.c
Hunk #1 succeeded at 233 (offset -2 lines).
Hunk #2 succeeded at 276 (offset -2 lines).
Hunk #3 succeeded at 299 (offset -2 lines).
Hunk #4 succeeded at 356 (offset -2 lines).
patching file include/linux/interrupt.h
Hunk #1 succeeded at 412 (offset 6 lines).
patching file kernel/irq/manage.c
patching file kernel/irq/manage.c
Hunk #1 succeeded at 2100 (offset -11 lines).
patching file drivers/gpu/drm/i915/i915_gem_shrinker.c
patching file drivers/gpu/drm/msm/msm_gem_shrinker.c
patching file kernel/cpu.c
Hunk #1 FAILED at 418.
1 out of 1 hunk FAILED -- saving rejects to file kernel/cpu.c.rej
patching file include/linux/cpu.h
Reversed (or previously applied) patch detected! Assume -R? [n]

Re: boticized を最新のカーネルで 投稿者:ca2 投稿日:2017/02/04(Sat) 19:08 No.5607 home
初心者さん、こんばんは。横から失礼します。

とりあえず、ほとんど最新のlinux-4.9.7を使えばどうでしょうか?
あるいは、安全を考えるなら 4.9.6 でも良いかと…
https://www.kernel.org/pub/linux/kernel/v4.x/
以下に、
https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.7.tar.gz
があります。
rtパッチは、そのうち新しいのが出ると思うので待つのが良いでしょう。

inthedarkさん。

buildrootについては、後ほどmanualから引いたtips的なものを書いてみようと思います。そんな多くはないですが…。

Re: boticized を最新のカーネルで 投稿者:yo 投稿日:2017/02/04(Sat) 19:17 No.5608 home
inthedark さん

そういう手があったのですか(@д@)。

正攻法は4.8.13の Botic Patch をかけるという方法ですが、試してみたら(パッチはgithubのアーカイブのlinux-dev-botic7-v48/patches/boticにあります)

yo@ubuntu:~/linux-4.9.7$ nano drivers/mfd/tps65217.c.rej
yo@ubuntu:~/linux-4.9.7$ nano drivers/rtc/rtc-omap.c.rej
yo@ubuntu:~/linux-4.9.7$ nano arch/arm/boot/dts/Makefile.rej
yo@ubuntu:~/linux-4.9.7$ nano sound/soc/generic/Kconfig.rej

と4箇所エラーになりますね。この内、rtc-omap.c、Makefile、Kconfig はレベルアップに伴う単純なエラーなので、修正は簡単です。しかし、tps65217.c のエラーはエラー箇所が多く、ちょっと修正は大変そうですね(できないというレベルではないですが)。
「tps65217 って何だろな」と調べたら、BBBの電源制御用チップのようですね。無視は出来ないようです。
このあたりは、多分、終了時の電源オフ対策のパッチだと思いますので、かかってないというのは、ちょっと不味いかもしれません。

Re: boticized を最新のカーネルで 投稿者:inthedark 投稿日:2017/02/04(Sat) 19:20 No.5609 home
初心者さん

私のところでlinux-4.9.7にpatch-4.9.6-rt4.patchをあてましたが
rejもなくちゃんと当たりますよ。

ca2さん

援護射撃は大歓迎ですので、バンバンお願いします。
ca2さんのtips楽しみにしております。
私も勉強しよう。

inthedark

Re: boticized を最新のカーネルで 投稿者:inthedark 投稿日:2017/02/04(Sat) 19:32 No.5610 home
yoさん

私はそのパッチの存在は知りませんでした。
4.8.X系列のpatchだから4.9.xにはうまく当たらないのは
当然なんでしょうね。
私は知り合いからboticっていうのはドライバだよ、と
聞かされてましたのでそのドライバさえ組み込めればどの
カーネルでも一応動くだろうと思ってやってみたら動いちゃった
ということです。ca2さんから音出しの報告もいただいており
ますので、まあやってみるもんだなあと。

inthedark

Re: boticized を最新のカーネルで 投稿者:初心者 投稿日:2017/02/04(Sat) 19:37 No.5611 home
どこが間違っているのか わかりません?

$ wget ftp://ftp.kernel.org/pub/linux/kernel/v4.x/linux-4.9.7.tar.gz
$ wget ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/4.9/patches-4.9.6-rt4.tar.gz
$ tar xvzf linux-4.9.7.tar.gz
$ cp patches-4.9.6-rt4.tar.gz linux-4.9.7/
$ cd linux-4.9.7
$ zcat patches-4.9.6-rt4.tar.gz | patch -p1
patching file kernel/locking/rtmutex_common.h
Hunk #1 FAILED at 99.
1 out of 1 hunk FAILED -- saving rejects to file kernel/locking/rtmutex_common.h.rej
patching file kernel/irq/spurious.c
patching file drivers/scsi/qla2xxx/qla_isr.c
patching file include/linux/interrupt.h
Hunk #2 succeeded at 217 (offset -2 lines).
Hunk #3 succeeded at 229 (offset -2 lines).
patching file kernel/irq/manage.c
Hunk #1 succeeded at 233 (offset -2 lines).
Hunk #2 succeeded at 276 (offset -2 lines).
Hunk #3 succeeded at 299 (offset -2 lines).
Hunk #4 succeeded at 356 (offset -2 lines).
patching file include/linux/interrupt.h
Hunk #1 succeeded at 412 (offset 6 lines).
patching file kernel/irq/manage.c
patching file kernel/irq/manage.c
Hunk #1 succeeded at 2100 (offset -11 lines).
patching file drivers/gpu/drm/i915/i915_gem_shrinker.c
patching file drivers/gpu/drm/msm/msm_gem_shrinker.c
patching file kernel/cpu.c
Hunk #1 FAILED at 418.
1 out of 1 hunk FAILED -- saving rejects to file kernel/cpu.c.rej
patching file include/linux/cpu.h
Reversed (or previously applied) patch detected! Assume -R? [n]

だめですね...

Re: boticized を最新のカーネルで 投稿者:yo 投稿日:2017/02/04(Sat) 19:39 No.5612 home
ca2 さん

> buildrootについては、後ほどmanualから引いたtips的なものを書いてみようと思います。そんな多くはないですが…。

楽しみにしています。
僕は digififan さんの雛型を使って、どうにか make は通ったという段階で、まだマニュアルを読み込むまでに到っていません。
只今、熱中しているのは、uInitrdの軽量化と反対の重量化(^^;;;です。
mpd まわりのライブラリ構成を arch linuxと同じ構造にして音がどうなるか試しているところです。一人でやっていても限界があるので、耳の良い皆様の意見を聞くため、仮に公開してみるかなと思っています。

Re: boticized を最新のカーネルで 投稿者:yo 投稿日:2017/02/04(Sat) 19:49 No.5613 home
inthedark さん

確かに、ドライバ機能に関連するパッチ0001...からパッチ0010...までは問題なくかかっていますので、ソース入れ換えてやれば、ドライバとしては正常に動くということだと思います。
エラーになった(パッチのかかっていない)部分は、多分、ちゃんと電源オフしない時の対策などでしょうから、普通に使っている分には動くということでしょう。

Re: boticized を最新のカーネルで 投稿者:yo 投稿日:2017/02/04(Sat) 19:54 No.5614 home
初心者さん

僕も直前に書いたメッセージにあるパッチかけは同じ手順でやりました。つい一時間位前です。
rejはBotic側だけでした(findで確認してあります)。もう一度最新版で試してみたらどうでしょう。

Re: boticized を最新のカーネルで 投稿者:yo 投稿日:2017/02/04(Sat) 19:58 No.5615 home
すみません。訂正します。
wget ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/4.9/patches-4.9.6-rt4.tar.gz
ではなく
wget ftp://ftp.kernel.org/pub/linux/kernel/projects/rt/4.9/patch-4.9.6-rt4.patch.gz
でした。
これでやってみてください。

Re: boticized を最新のカーネルで 投稿者:初心者 投稿日:2017/02/04(Sat) 20:08 No.5616 home
yoさん有難うございました。
上手くできました!!

Re: boticized を最新のカーネルで 投稿者:ca2 投稿日:2017/02/05(Sun) 10:49 No.5621 home
yoさん

私の軽量化の話はまあ趣味の様なものです。lightMPDは元々十分に小さいですし。
buildrootの更新にあわせて個人でビルドするとなると、ミニマムがわかってると管理も簡単でDLもmakeも早いというのが、強いていえばメリットでしょうか。

Re: boticized を最新のカーネルで 投稿者:ca2 投稿日:2017/02/05(Sun) 11:06 No.5622 home
カーネルの話が出てるので、便乗でみなさんに、以前から少々気になっていたcpufreqのことで質問させてください。

まず、Moctさんのdebian版の話なんですが、botic7-rc1とbotic7-rc3のカーネルがついていて、botic7-rc1ではcpufreqが有効で、たとえば

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

とすればCPUの最大設定が見れて、手順をふめば設定変更もできました。一方でbotic7-rc3だと
/sys/devices/system/cpu/cpu0/cpufreq が見れなくなって、cpufreqの設定もできなくなりました。これは、今回のbotic化4.9カーネルも、config時にcpufreqを選ぶようにしても同様の状態です。なお、
/sys/devices/system/cpu/cpufreq
はあります。そもそもカーネルが対応してないのか、あるいは設定が足りてないのでしょうか?

可能なら、音楽再生にパワーは特別必要ないので、最小の300MHzに設定したいと思っています。非常にささいなことなので、無理なら無理でもかまわないんですけれども。

Re: boticized を最新のカーネルで 投稿者:yo 投稿日:2017/02/05(Sun) 18:39 No.5626 home
ca2 さん

軽量化して音がどうなるのかに大いに興味があります。
lightmpdの場合、オリジナルの状態で十分に軽量化されているでしょうから、それ以上やったらどうなるか、試してみたいと思っています。よい設定が見つかったら是非教えてください。

あと別件ですが、cpufreqを僕の環境(自作のbotilized debian jessie と 自作のbotilized arch linux、どちらもカーネルは4.8.13)で確認してみました。
/sys/devices/system/cpu/cpufreqはあるが、/sys/devices/system/cpu/cpu0/cpufreqはありません。
しかし、/sys/devices/system/cpu/cpufreqは空のディレクトリです。
linux-dev-botic7-v48/KERNELで menuconfig(configはbotic v7のものを使用)を確認したら
CPU Power Management --->
CPU Frequency scaling --->
[*] CPU Frequency scaling
となっていました。
ということで、あまり参考になりませんが、無くなったのですかね。

Re: boticized を最新のカーネルで 投稿者:ca2 投稿日:2017/02/05(Sun) 21:05 No.5630 home
yoさん。cpufreqの件、調査ありがとうございます。
あまりカーネル周りのことが分かってないんですが、boticカーネル側の対応次第なんでしょうかね。またmieroさんが新しいカーネルを出した時には、状況も変わるかもしれないので待つのが良さそうです。

Re: boticized を最新のカーネルで 投稿者:kens 投稿日:2017/02/26(Sun) 22:25 No.5693 home
いまさらですが、mieroさんの4.8.13 はAlsaドライバが768kHzまで拡張されているんですね。

このスレの手順でビルドしたカーネルを使って2Lのサイトにある352.8kHzのサンプルファイルを再生して
cat /proc/asound/Botic/pcm0p/sub0/hw_params
を実行したときの表示は

access: RW_INTERLEAVED
format: S24_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 2940
buffer_size: 52920

となりましたが、念のために /sound/core/pcm_native.c の拡張が反映されるようにパッチをあてた方が良さそうです。

--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -1981,12 +1981,13 @@
return snd_interval_refine(hw_param_interval(params, rule->var), &t);
}

-#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_192000 != 1 << 12
+#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_768000 != 1 << 16
#error "Change this table"
#endif

static unsigned int rates[] = { 5512, 8000, 11025, 16000, 22050, 32000, 44100,
- 48000, 64000, 88200, 96000, 176400, 192000 };
+ 48000, 64000, 88200, 96000, 176400, 192000,
+ 352800, 384000, 705600, 768000 };

const struct snd_pcm_hw_constraint_list snd_pcm_known_rates = {
.count = ARRAY_SIZE(rates),

参考
https://patchwork.kernel.org/patch/9160203/

Re: boticized を最新のカーネルで 投稿者:yo 投稿日:2017/02/28(Tue) 17:25 No.5694 home
kens さん、情報ありがとうございました。

僕の公開しているカーネル(linux-upstream)もパッチをかけておくかなと思い、調べたら、パッチはかかっていますね。

#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_768000 != 1 << 16
#error "Change this table"
#endif

static unsigned int rates[] = { 5512, 8000, 11025, 16000, 22050, 32000, 44100,
48000, 64000, 88200, 96000, 176400, 192000,
352800, 384000, 705600, 768000 };

考えてみたら、boticの作者(mieroさん)が管理しているカーネルソースですから、当たり前ですね(^^;;;。

Re: boticized を最新のカーネルで 投稿者:kens 投稿日:2017/02/28(Tue) 21:10 No.5695 home
yo さん こんばんは

yo さんが配布されているカーネルはパッチが当たっているようですね。
このスレの手順通りに4.9.xにmieroさんの4.8.13の該当ディレクトリを入れ替えただけでは

sound/core/pcm_native.c

が拡張されずに取り残されてしまうのでパッチ当てが必要だと思いました。
(pcm.h は include/sound の入れ替えで拡張されている)

Re: boticized を最新のカーネルで 投稿者:ca2 投稿日:2017/03/07(Tue) 23:59 No.5708 home
こんばんは。最近buildroot-2017.02に入れ替え、ついでにkernelも最新の4.9系のものにしました(4.9.13-rt11)。オーバーサンプリングをちょっと試しているところなので、kensさんのパッチも使わせて頂きました。


- 返信フォーム

Name
E-Mail
Title
Message
WebSite
password (英数字で8文字以内, under 8 alphanumeric characters to delete or correct message)
submit key (投稿時には 投稿キー(文字) を入力してください, please enter characters left)
掲示板用にデータをアップロード出来ます。ログインするにはここをクリック。ヘルプを見るにはここをクリック。
- 記事修正&削除フォーム
処理 No. 暗証キー