insmod=?ISO-2022-JP?B?GyRCJCxANT5vJEtGMDpuJDckSiQkJGgbKEI=?= うです。 SUSE 9.1(kernel-default-2.6.4-54.5)
M. Takeyama です。 SUSE 9.1(kernel-default-2.6.4-54.5)で、カーネルモジュール がロードできません。 lsmod, rmmod は機能します。 insmod でカーネルモジュールを入れようとすると ----- insmod can't read 'eepro100': No such file or directrory ----- とメッセージを出します。 起動時には、カーネルモジュールがロードされているので どうも insmodコマンドがうまく動作しないようにみえます。 /lib/modules/ <KERNEL_VERSION> /kernel/drivers/net/eepro100.ko は、ちゃんと存在します。 また気になったことして、yastでネットワークモジュールのオプション を指定しても /etc/modprobe.conf に反映されていないように思えます。 #/etc/modprobe.conf.local の中身も空(設定項目)です。 #(ファイルのコメントがあるだけ) ----- M. Takeyama
M. Takeyama です。 #メール投稿後にわかったことを報告します。 On Fri, 18 Jun 2004 18:39:57 +0900 takezou <takezou@kde.gr.jp> wrote:
また気になったことして、yastでネットワークモジュールのオプション を指定しても /etc/modprobe.conf に反映されていないように思えます。 #/etc/modprobe.conf.local の中身も空(設定項目)です。 #(ファイルのコメントがあるだけ)
/etc/sysconfig/network/ifcfg-eth-id-<MACアドレス> のファイルがあって、IPアドレスなどはそこで設定している。 その中の _nm_name='bus-pci-<PCIのデバイス番号>' の記述がある。 /etc/sysconfig/hardware に hwcfg-bus-pci-<PCIのデバイス番号> なるファイルがあって、その中に ----- MODULE='eepro100' MODULE='' <--- 指定したオプションが記述されている。 ----- ところが、/etc/modprobe.confに別の記述をしておくと、 yastは、そっちの記述を見にいってあたかも現在の設定パラメータ のように表示してしまう。(optionsは、表示されません。) ----- alias eth1 e100 options e100 e100_speed_duplex=0 ----- <今までの問題点をまとめると> insmod --- 使えない。 yastの設定は、 /etc/sysconfig/network/ /etc/sysconfig/hardware/ 以下のファイルを編集しているようだ。 #「少なくともオプションなどは、/etc/modprobe.conf に書きに行かないの?」 #と思ってしまいます。 かといって、yastは、/etc/modprobe.confのファイルも見にいっているようだ。 #実際の設定とyastのスタータス表示にずれが生じることあり。 「ここらあたりの動作は、バグ or 仕様 なの?」といった感じです。 #kernel 2.4系(2.2系、2.0系)を使っていた人間としては、未体験ゾーン #に入ったような感じがします。 #(この動作、理解できないですけど...) # #少なくとも、ロードモジュールの設定方法のヒントはわかったから #良しとしようかな? といったところです。 ----- M. Takeyama
At Fri, 18 Jun 2004 18:39:57 +0900, takezou wrote:
M. Takeyama です。
SUSE 9.1(kernel-default-2.6.4-54.5)で、カーネルモジュール がロードできません。
lsmod, rmmod は機能します。
insmod でカーネルモジュールを入れようとすると ----- insmod can't read 'eepro100': No such file or directrory ----- とメッセージを出します。
modules-init-tools に含まれている新しい insmod はモジュール名ではなく、 ファイル名を指定します。また、insmod はモジュール依存も解決しません。 通常、モジュールをロードする場合は modprobe を用います。 # /sbin/modprobe eepro100
また気になったことして、yastでネットワークモジュールのオプション を指定しても /etc/modprobe.conf に反映されていないように思えます。 #/etc/modprobe.conf.local の中身も空(設定項目)です。 #(ファイルのコメントがあるだけ)
9.1 ではネットワークの設定ファイルが変更されています。 /etc/sysconfig/network 以下に見付かります。 ネットワークドライバモジュール自体は coldplug & hotplug でロードする仕 組になっています。そのため modprobe.conf 等で指定する必要はないわけです。 逆に指定されていると、その設定が自動検出よりも優先されてしまうため、 コンフリクトする可能性もあります。 また、/etc/modprobe.conf は、アップデートの際に、以前のように設定の相 続は行われません。ローカルの設定が必要な場合は /etc/modprobe.conf.local に加えるか、/etc/modprobe.d ディレクトリに 新しいファイルを書き込んでください。 -- Takashi Iwai <tiwai@suse.de> ALSA Developer - www.alsa-project.org
M. Takeyama です。 On Fri, 18 Jun 2004 12:29:41 +0200 Takashi Iwai <tiwai@suse.de> wrote: [...]
modules-init-tools に含まれている新しい insmod はモジュール名ではなく、 ファイル名を指定します。また、insmod はモジュール依存も解決しません。 そうなんですか。 ちなみに、insmod は kernel 2.4系などとの互換性のためのコマンドですか? #insmod.oldというコマンドもあるんですけど... #「使い物にならないなら紛らわしいの外してくれ」と思ってしまいます。
通常、モジュールをロードする場合は modprobe を用います。
# /sbin/modprobe eepro100
また気になったことして、yastでネットワークモジュールのオプション を指定しても /etc/modprobe.conf に反映されていないように思えます。 #/etc/modprobe.conf.local の中身も空(設定項目)です。 #(ファイルのコメントがあるだけ)
9.1 ではネットワークの設定ファイルが変更されています。 /etc/sysconfig/network 以下に見付かります。 いろいろと説明ありがとうございます。 modprobe には、これからなれていきます。 #どうも、性格上、yastを使いつつも設定ファイルを直接、見たり #いじくるのが好きなもので。 :-)
----- M. Takayama
At Mon, 21 Jun 2004 20:05:32 +0900, takezou wrote:
M. Takeyama です。
On Fri, 18 Jun 2004 12:29:41 +0200 Takashi Iwai <tiwai@suse.de> wrote:
[...]
modules-init-tools に含まれている新しい insmod はモジュール名ではなく、 ファイル名を指定します。また、insmod はモジュール依存も解決しません。 そうなんですか。 ちなみに、insmod は kernel 2.4系などとの互換性のためのコマンドですか?
いえ、ファイル名を指定さえすれば動きますよ。 insmod のコマンドライン書式自体、コンパチじゃないですし。
#insmod.oldというコマンドもあるんですけど... #「使い物にならないなら紛らわしいの外してくれ」と思ってしまいます。
2.6 と 2.4 のモジュール関連には互換性が全くありません。 したがって、ローダなども全く別のプログラムになっていて、insmod.old や modprobe.old などは 2.2/2.4 系列のモジュールを扱うためのバイナリです。 カーネルのバージョンによって自動的に旧式のバイナリを呼び出す仕組になっ ています。 外すことはもちろん可能ですが、その場合、2.4 のカーネルモジュールを使う ことが全くできなくなってしまうのです。 9.1 ではそのまま 2.4 カーネルで動くか、というと、難しいところですが、 多少設定を変更すれば 2.4 カーネルでも基本的には動くはずですので。 -- Takashi Iwai <tiwai@suse.de> ALSA Developer - www.alsa-project.org
M. Takeyamaです。 #レスが遅くなってすみません。 On Mon, 21 Jun 2004 15:03:13 +0200 Takashi Iwai <tiwai@suse.de> wrote: [...]
modules-init-tools に含まれている新しい insmod はモジュール名ではなく、 ファイル名を指定します。また、insmod はモジュール依存も解決しません。 そうなんですか。 ちなみに、insmod は kernel 2.4系などとの互換性のためのコマンドですか?
いえ、ファイル名を指定さえすれば動きますよ。 insmod のコマンドライン書式自体、コンパチじゃないですし。 再度、insmodの動作確認を行ないました。 絶対PATH指定(+ 完全ファイル名)でロードできました。 問題なく動いています。 ありがとうございます。
例) insmod /lib/modules/2.6.5-7.75-default/kernel/drivers/net/eepro100.ko
#insmod.oldというコマンドもあるんですけど... #「使い物にならないなら紛らわしいの外してくれ」と思ってしまいます。 この「・・・外してくれ」というのは撤回します。
2.6 と 2.4 のモジュール関連には互換性が全くありません。 したがって、ローダなども全く別のプログラムになっていて、insmod.old や modprobe.old などは 2.2/2.4 系列のモジュールを扱うためのバイナリです。 カーネルのバージョンによって自動的に旧式のバイナリを呼び出す仕組になっ ています。 今後、Kernelの動作関係を調べてみたいと思います。
外すことはもちろん可能ですが、その場合、2.4 のカーネルモジュールを使う ことが全くできなくなってしまうのです。 9.1 ではそのまま 2.4 カーネルで動くか、というと、難しいところですが、 多少設定を変更すれば 2.4 カーネルでも基本的には動くはずですので。 9.0では、aptのリポジトリをRPMS.kernel-of-the-day(kernel 2.6系のcvs) をKernel 2.4と共存させていました。このときから、ネットワークのドライバ がうまくロードできていないかったので、ローカルで十分な場合は、2.6を ネットワーク接続が必要な場合は、2.4を使っていました。 #rpmのアップデートには、YOUよりaptを使っていました。 #(KDEの最新へのアップデートはaptのリポジトリを利用した方が楽なので。)
grubの方では、問題なくマルチブートできていたのでドライバまわりを うまく調整できれば、GOODな感じでいました。 そうなると、SUSE 9.0のKernel 2.4系のソースを持ってきて、 SUSE 9.1でビルドして手動でファイルをcopy(rpm2cpioで抽出)して、 後は手動でリンクを張ったりして調整してあげることに挑戦した 方が面白そうということになりますね。 #(自己責任でやるので何も問題ありませんし。) ----- M. takayama
participants (2)
-
Takashi Iwai
-
takezou