9.1でYaST2の処理とカーネルブート時のモジュールロードで一部整合性とれず

今井です。 今日、サウンドドライバの組み込み、取り外しやってて問題があることに気づき ました。 ドライバを取り外しても、なぜか再起動すると取り外したはずのドライバが組み 込まれた状態でブートしてしまうのです。 で、少し探ってみました。 9.1(AMD64版で検証したので32bit版の方は確かめてません)でYaST2を使ってサウ ンドドライバの組み込み行うと、/etc/modprobe.d/soundというファイルを作りま す。 カーネルはこの/etc/modprobe.d/soundファイルを元にドライバを組み込みます。 問題はこの後です。 サウンドカード変更等でサウンドドライバを変更した際の処理において、YaST2 とカーネルにおける処理で整合性が取れてないのです。 どういうことかというと、 YaST2においてサウンドドライバの組み込みで更新すると、 /etc/modprobe.d/soundというファイルを作るのは先ほどと同様ですが、バックア ップ目的なのか /etc/modprobe.d/sound.-という更新前のファイルを残します。 このsound.-というファイルが問題で、これがあるために、ドライバを取り外す様 に更新しても、カーネル起動時のモジュールロードの処理では/etc/modprobe.d/の sound、sound.-ファイル両方を参照します。 つまり、更新後の設定と、更新前の設定両方を適用してブートする様になります。 YaST2で変更しても無意味ということになります。 サウンドカードの設定を変更したら/etc/modprobe.d/sound.-を手作業で消して、 再起動することで更新後の設定のみになります。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: maimai@coral.ocn.ne.jp web: http://www10.ocn.ne.jp/~masimai/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

At Sat, 19 Jun 2004 18:54:17 +0900, Masaru Imai wrote:
今井です。 今日、サウンドドライバの組み込み、取り外しやってて問題があることに気づき ました。 ドライバを取り外しても、なぜか再起動すると取り外したはずのドライバが組み 込まれた状態でブートしてしまうのです。
で、少し探ってみました。
(snip)
どういうことかというと、 YaST2においてサウンドドライバの組み込みで更新すると、 /etc/modprobe.d/soundというファイルを作るのは先ほどと同様ですが、バックア ップ目的なのか /etc/modprobe.d/sound.-という更新前のファイルを残します。
yast2-sound メンテナに報告しておきます。 -- Takashi Iwai <tiwai@suse.de> ALSA Developer - www.alsa-project.org

M. Takeyamaです。 On Mon, 21 Jun 2004 11:41:00 +0200 Takashi Iwai <tiwai@suse.de> wrote:
At Sat, 19 Jun 2004 18:54:17 +0900, Masaru Imai wrote:
今井です。 今日、サウンドドライバの組み込み、取り外しやってて問題があることに気づき ました。 ドライバを取り外しても、なぜか再起動すると取り外したはずのドライバが組み 込まれた状態でブートしてしまうのです。
で、少し探ってみました。
(snip)
どういうことかというと、 YaST2においてサウンドドライバの組み込みで更新すると、 /etc/modprobe.d/soundというファイルを作るのは先ほどと同様ですが、バックア ップ目的なのか /etc/modprobe.d/sound.-という更新前のファイルを残します。
yast2-sound メンテナに報告しておきます。
根本的な原因がここではないかと推測していますが... modprobe -c を実行して, 設定内容を確認したところ (1) /etc/modprobe.conf のファイルの中身 (2) /etc/modprobe.conf.local のファイルの中身 (3) /etc/modprobe.d/sound のファイルの中身 (4) デバイスのエーリアスのリスト が表示されます。 cp -p /etc/modprobe.d/sound /etc/modprobe.d/sound.- とした後では、 (1) /etc/modprobe.conf のファイルの中身 (2) /etc/modprobe.conf.local のファイルの中身 (3) /etc/modprobe.d/sound のファイルの中身 (4) /etc/modprobe.d/sound.- のファイルの中身 (5) デバイスのエーリアスのリスト が表示されます。 P.S. /etc/modprobe.conf のバックアップファイルとして /etc/modprobe.conf.- が存在していますが、このファイル は読み込まれていないようです。 ----- M. Takayama

At Mon, 21 Jun 2004 19:23:13 +0900, takezou wrote:
modprobe -c を実行して, 設定内容を確認したところ (1) /etc/modprobe.conf のファイルの中身 (2) /etc/modprobe.conf.local のファイルの中身 (3) /etc/modprobe.d/sound のファイルの中身 (4) デバイスのエーリアスのリスト が表示されます。
cp -p /etc/modprobe.d/sound /etc/modprobe.d/sound.- とした後では、 (1) /etc/modprobe.conf のファイルの中身 (2) /etc/modprobe.conf.local のファイルの中身 (3) /etc/modprobe.d/sound のファイルの中身 (4) /etc/modprobe.d/sound.- のファイルの中身 (5) デバイスのエーリアスのリスト が表示されます。
両方とも正常な動作ですよ。 modprobe は /etc/modprobe.conf を読み込んで、なおかつ /etc/modprobe.d/* があれば自分でサーチして読み込みます。 /etc/modprobe.conf.local は /etc/modprobe.conf から include されている ファイルです。
P.S. /etc/modprobe.conf のバックアップファイルとして /etc/modprobe.conf.- が存在していますが、このファイル は読み込まれていないようです。
その通りです。 -- Takashi Iwai <tiwai@suse.de> ALSA Developer - www.alsa-project.org

M. Takeyama です。 On Mon, 21 Jun 2004 12:28:02 +0200 Takashi Iwai <tiwai@suse.de> wrote:
両方とも正常な動作ですよ。
modprobe は /etc/modprobe.conf を読み込んで、なおかつ /etc/modprobe.d/* があれば自分でサーチして読み込みます。
/etc/modprobe.conf.local は /etc/modprobe.conf から include されている ファイルです。
modprobeの動作は、まだ、きちんと理解出来ていないのですが... 起動スクリプトの場合は全てのファイルが実行されるわけではない。 例) /etc/rc.d/rc2.d/ (/etc/rc.d/rc[0-6,S].d) 以下のファイルで先頭が "S"のもののみが実行される。 (& ソートされているので、起動の順番がコントロールされている。) と同様に、何か一定のルールがあるのかと思っていました。 modprobeの場合は、何でもかんでもロードしていまうということですね。 ( /etc/modprobe.d/ 直下のファイルを ) で、yast2-sound がバックアップファイルを作るなら/etc/modprobe.d/ 以外のディレクトリに作らないといけないということになるのですね。 ----- M. Takayama
participants (3)
-
Masaru Imai
-
Takashi Iwai
-
takezou