2003/10/29(水) [n年前の日記]
#1 [pc][linux][debian] ALSAモジュールを作れた
どこかのMLログで情報を見かけた。apt-get install alsa-source の際にサウンドカード種類を選ぶのだけど、指定が反映されてないらしい。
*1
なので、make-kpkg modules_image の際に、サウンドカードが何も指定されてない→全てのサウンドカードのモジュールを作ろうとする、らしいけど、途中でエラーを出すサウンドカードのモジュールがあって云々とか。
- dpkg-reconfigure alsa-source で再指定
- /etc/alsa/alsa-source.conf 内の ALSA_CARDS="〜" で指定
- export ALSA_CARDS=〜 として環境変数を設定
◎ update-grub :
lilo の代わりに grub を使ってるので、/etc/kernel-img.conf を、
postinst_hook = /sbin/update-grub postrm_hook = /sbin/update-grub do_bootloader = noとすることで、カーネル追加時に update-grub が動くように。とはいえ update-grub の出力結果だけでは難ありで、結局は /boot/grub/menu.lst を直接修正する必要が。ちょっとイマイチ。もっとも、追加カーネルの指定忘れを避けられるだけでもありがたい話なのだろうけど。
◎ 新しいカーネルで起動してみたけれど :
新しい kernel-image-2.4.20-xx.yy.deb と alsa-modules-xxxx.deb が出来たので dpkg -i xxxxx でインストール。 /boot/grub/menu.lst を弄って新しいカーネルでも起動できるように。
実際起動してみるとフレームバッファが有効にならない。make menuconfig でカーネルの設定を色々変え、再構築を何度も繰り返してますます時間を消費。後で気づいたのだけど、フレームバッファの指定で'vesa'と打つべきところを'ves'と打ち間違えてただけだった。ギャフン。
自分の環境では、ビデオカード = Matrox G400、CPU = Celeron なので、video=matrox:vesa:0x118,mtrr をカーネルに渡してたり。詳細は /usr/src/linux/Documentation/fb/matroxfb.txt 参照。
startx すると 「mga_hal が無い」と文句を言われる。matrox のサイトから関連ファイルを落としてくる必要があるらしい。
実際起動してみるとフレームバッファが有効にならない。make menuconfig でカーネルの設定を色々変え、再構築を何度も繰り返してますます時間を消費。後で気づいたのだけど、フレームバッファの指定で'vesa'と打つべきところを'ves'と打ち間違えてただけだった。ギャフン。
自分の環境では、ビデオカード = Matrox G400、CPU = Celeron なので、video=matrox:vesa:0x118,mtrr をカーネルに渡してたり。詳細は /usr/src/linux/Documentation/fb/matroxfb.txt 参照。
startx すると 「mga_hal が無い」と文句を言われる。matrox のサイトから関連ファイルを落としてくる必要があるらしい。
◎ ALSAが動いた :
alsaconf で作られた /etc/alsa/modutils/0.5を参考に、
*2
/etc/modutils/alsa を変更。
*3
現在の woody で作業してる分には、alsaconf の出力結果に対して、snd-card-ymfpci → snd-ymfpci といった具合に card- 部分を削除する修正が必要。
*4
その後、update-modules とか /etc/init.d/alsa restart とか打ったら動いてくれた。lsmod でサウンド関係のモジュールが大量に組み込まれてるのを確認。amixer set Master 80% unmute とか amixer set PCM 80% , amixer set Wave 80% としてミキサー設定をした後、alsactl store でミキサー設定を保存。aplay /mnt/win/c/media/chord.wav で音が鳴るのを確認。
*5
[ ツッコむ ]
以上です。