back

ALSA: 音をならすのじゃ


alsaはフリーの Linuxサウンドモジュールっす。持っているカードはSoundBlaster PCI128(ENS1371) でalsaに対応してるっす。というわけでalsaをいれることにしたっす。
debianではalsaモジュールのバイナリパッケージalsa-modulesが提供されているもの のそれをいれても実際うまく動かないっす。そこで作り直すことにするっす。 ただしalsa-modulesを作るにはそれ用のカーネルも作る必要があるっす。

事前インストール

まずはalsa-base、alsa-utils、alsa-source、alsa-libs、alsaconfをいれるっす。 いろいろ聞いて来るけどデフォルトでいいと思うっす。
# apt-get install alsa-base alsa-libs alsa-utils alsa-source alsaconf
つぎにkernel-sourceをいれるっす。 ここでは現時点での2.2系の最新版2.2.17をいれたっす。
# apt-get install kernel-source-2.2.17

カーネル、alsaパッケージ作成

まずは両方のソースを展開するっす。 ちなみにこの方法だとalsa-driverは /usr/src/modules/alsa-driver以下に展開されるっす。
# cd /usr/src
# tar Ixvf kernel-source-2.2.17.tar.bz2
# ln -s lernel-source-2.2.17 linux
# tar zxvf alsa-driver.tar.gz
カーネルを作るにはつづいてmenuconfig等でカーネルの設定をするっす。 最低限kmodを有効にしsoundをモジュールにする必要があるっす。 これがその結果のぼくの.configっす (これをロードするといいっす)。
# cd /usr/src/linux
# make menuconfig
つづいてバイナリパッケージを作るっす。debianではmake-kpkgコマンドを使うっす。 なければkernel-packageパッケージをインストールするっす。 alsa-modulesパッケージもmake-kpkgで作るっす。
# make-kpkg binary
# make-kpkg modules_image
すると一つ上のディレクトリ/usr/srcに
というのができているはずっす。

インストール

まずは全部インストールするっす。
# cd /usr/src
# dpkg -i *.deb
「Do you want to stop now?」とでるがNを選ぶっす。 ブートディスクやliloの設定もこの流れで行うっす。 そのあと再起動するっす。
再起動したらalsaconfを起動するっす。 まずカードを選びそのあとで数値を適当に選ぶっす。 カードの設定が済んだら音量も設定するっす。 あとで音量設定する場合はalsamixerコマンドを使い、alsactl storeで 保存するっす。
ユーザーが音をならすにはaudioグループに追加する必要があるっす。 vigrコマンドなどで/etc/groupを編集するっす。

パッケージのホールド

これらの自分で作ったカーネルパッケージは配布されているパッケージよりも 古いと見なされ、そのままではupgrade時に書き換えられてしまうっす。 それを防ぐためにホールドするっす。 ホールドはdselectでもできるけど、これはコマンドライン上でやる方法っす。
# echo kernel-image-2.2.17 hold |dpkg --set-selections
# echo kernel-headers-2.2.17 hold |dpkg --set-selections
# echo kernel-doc-2.2.17 hold |dpkg --set-selections
# echo kernel-source-2.2.17 hold |dpkg --set-selections
# echo alsa-modules-2.2.17 hold |dpkg --set-selections
このあとapt-get upgradeをして「The following packages have beaan kept back」 で上のパッケージ名が出ればOKっす。これで安心してdist-upgradeできるっす。

back
Copyright (c) 2000 ichiyama ryoichi, All Rights Reserved.