Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000382Vine Linux1 バグ公開2006-11-19 22:242006-12-06 22:30
anonymous 
 
不明 
完了却下 
4.0 
 
x86
kernel-devel
0000382: カーネルソースにmodpostを入れてほしい、他
(1) modpostの追加
カーネルモジュールを追加でインストールする場合に、RPMが用意されていない場合
(Vine以外のディストリビューションも含め)は、自前でビルドする必要があります。
(今回ビルドしようとしたのはiscsi enterprise targetの「iscsitarget-0.4.14」です。)
 http://iscsitarget.sourceforge.net/ [^]

その際に/usr/src/linux/scripts/mod/modpostを要求されることが有りますが、
標準では含まれておらず、また生成方法もドキュメント化されていません。
わたしが探せなかっただけかもしれませんが、具体的には「make modules」を実行する必要が有ります。

最初から収録されていれば良いかと思いましたので要望を挙げさせていただきます。

(2) /usr/src/linuxからのリンク追加
あと、最新のカーネルソースのディレクトリに/usr/src/linuxからリンクを張ってほしいです。
こちらは3.2ではリンクが存在してました。

宜しくお願いいたします。
設定されていません。
課題の履歴
2006-11-19 22:24anonymous新規課題
2006-11-21 23:40anonymousコメント追加: 0002051
2006-11-22 21:24anonymousコメント追加: 0002052
2006-11-23 01:39anonymousコメント追加: 0002053
2006-11-23 09:22anonymousパッケージkernel-source => kernel-devel
2006-11-23 09:22anonymousコメント追加: 0002054
2006-11-23 13:08anonymousコメント追加: 0002055
2006-11-23 17:40anonymousコメント追加: 0002056
2006-11-25 14:02anonymousコメント追加: 0002057
2006-11-26 16:45anonymousバージョン4.0beta,4.0 => 4.0
2006-11-26 16:45anonymousコメント追加: 0002058
2006-12-06 22:30kazutaka状態新規 => 完了
2006-12-06 22:30kazutaka解決状況不明 => 却下
2006-12-06 22:30kazutakaコメント追加: 0002059

コメント
(0002051)
anonymous   
2006-11-21 23:40   
> その際に/usr/src/linux/scripts/mod/modpostを要求されることが有り
> ますが、
> 標準では含まれておらず、また生成方法もドキュメント化されていませ
> ん。

kernel-devel パッケージに入っているものは違うのでしょうか。
kernel モジュールをビルドするような場合には、kernel-devel を入れておくものだと思います。
kernel 2.4 時代の kernel-headers の代わりみたいなものでしょうか。

Seed 環境ですが、以下の通り。
$ ls -l /usr/src/kernels/2.6.16-0vl60-i686/scripts/mod/modpost
-rwxr-xr-x 1 root root 28265 10月27日 03:59 /usr/src/kernels/2.6.16-0vl60-i686/scripts/mod/modpost*
$ rpm -qf /usr/src/kernels/2.6.16-0vl60-i686/scripts/mod/modpost
kernel-devel-2.6.16-0vl60
$ rpm -qi kernel-devel
Name : kernel-devel Relocations: (not relocatable)
Version : 2.6.16 Vendor: (none)
Release : 0vl60 Build Date: 2006年10月27日 04時00分13秒
Install Date: 2006年10月27日 22時31分32秒 Build Host: windy.local.dicey.org
Group : System Environment/Kernel Source RPM: kernel-2.6.16-0vl60.src.rpm
Size : 13222163 License: GPLv2
Signature : DSA/SHA1, 2006年10月27日 04時00分37秒, Key ID 90bf4c0974322cb0
Packager : Daisuke SUZUKI <daisuke@linux.or.jp>
Summary : 特定のバージョンのカーネル用のモジュールを構築するための開発パッケージ
Description :
This package provides kernel headers and makefiles sufficient to build modules
against the kernel package.
(0002052)
anonymous   
2006-11-22 21:24   
> > その際に/usr/src/linux/scripts/mod/modpostを要求されることが有り
> > ますが、
> > 標準では含まれておらず、また生成方法もドキュメント化されていませ
> > ん。
>
> kernel-devel パッケージに入っているものは違うのでしょうか。
> kernel モジュールをビルドするような場合には、kernel-devel を入れ
> ておくものだと思います。
> kernel 2.4 時代の kernel-headers の代わりみたいなものでしょうか。
>
>
> Seed 環境ですが、以下の通り。
> $ ls -l /usr/src/kernels/2.6.16-0vl60-i686/scripts/mod/modpost
> -rwxr-xr-x 1 root root 28265 10月27日 03:59 /usr/src/kernels/2.6.16-0vl60-i686/scripts/mod/modpost*
> $ rpm -qf /usr/src/kernels/2.6.16-0vl60-
> i686/scripts/mod/modpost
> kernel-devel-2.6.16-0vl60
> $ rpm -qi kernel-devel
> Name : kernel-devel Relocations: (not
> relocatable)
> Version : 2.6.16 Vendor: (none)
> Release : 0vl60 Build Date: 2006年
> 10月27日 04時00分13秒
> Install Date: 2006年10月27日 22時31分32秒 Build Host:
> windy.local.dicey.org
> Group : System Environment/Kernel Source RPM: kernel-
> 2.6.16-0vl60.src.rpm
> Size : 13222163 License: GPLv2
> Signature : DSA/SHA1, 2006年10月27日 04時00分37秒, Key ID
> 90bf4c0974322cb0
> Packager : Daisuke SUZUKI <daisuke@linux.or.jp>
> Summary : 特定のバージョンのカーネル用のモジュールを構築する
> ための開発パッケージ
> Description :
> This package provides kernel headers and makefiles sufficient to
> build modules
> against the kernel package.

当方の環境は、RC2をCDから新規インストールした環境で、kernel-develをインストールしてありますが、
modpostはkernel-develのファイルとして存在していませんでした。
(kernel-develをCDから導入したかネットワークから導入したかは失念しました。)

[root@localhost root]# rpm -qf /usr/src/linux-2.6.16/scripts/mod/modpost
ファイル /usr/src/linux-2.6.16/scripts/mod/modpost はどのパッケージにも属していません。
(上記は自分で生成したファイル)

いったん、kernel-develを削除後、aptで再導入してみますと、下記の結果となりやはり導入されません。
(導入時はVine4.0正式版)
[root@localhost root]# apt-get install kernel-devel パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
'kernel-devel' として kernel-devel#2.6.16-0vl60 を選択しました
以下のパッケージが新たにインストールされます:
  kernel-devel#2.6.16-0vl60
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
4485kB のアーカイブを取得する必要があります。
展開後に 13.2MB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org [^] 4.0/i386/main kernel-devel#2.6.16-0vl60 2.6.16-0vl60 [4485kB]
4485kB を 10s 秒で取得しました (433kB/s)
変更を適用しています...
準備中... ########################################### [100%]
   1:kernel-devel ########################################### [100%]
完了
[root@localhost root]# rpm -qf /usr/src/linux-2.6.16/scripts/mod/modpost エラー: ファイル /usr/src/linux-2.6.16/scripts/mod/modpost: そのようなファイルやディレクトリはありません

何か必要な手順があるのでしょうか?
(0002053)
anonymous   
2006-11-23 01:39   
> [root@localhost root]# rpm -qf /usr/src/linux-
> 2.6.16/scripts/mod/modpost
> ファイル /usr/src/linux-2.6.16/scripts/mod/modpost はどのパッケー
> ジにも属していません。
> (上記は自分で生成したファイル)

自分で生成したファイルが rpm パッケージに属している、なんてことはあり得ませんよね? ;)

> いったん、kernel-develを削除後、aptで再導入してみますと、下記の結
> 果となりやはり導入されません。

結論から言うと、一度カーネルそのものをビルドする必要があると思います。
modpost の実行ファイルは、同じディレクトリに入っている modpost.c などから生成されるものです。しかしながら、私はカーネルのビルド過程について明るいわけではありませんので、どこまでビルドすれば生成されるかは定かではありません。もしこのへんの事情に明るい方が見ていらっしゃいましたら補足をお願いします。(^^;
(0002054)
anonymous   
2006-11-23 09:22   
> 結論から言うと、一度カーネルそのものをビルドする必要があると思い
> ます。

ここで最初の投稿に戻るのですが、必要な操作は「make modules」です。
で、そんなことをしなくても使えるように、最初から生成して配布出来
ないかという事です。
2番目の投稿のようにkernel-develに含まれるのであればそれでいいと
思うのですが、当方の環境では含まれませんでした。

関連パッケージをkernel-sourceではなくkernel-develに修正します。
(0002055)
anonymous   
2006-11-23 13:08   
2の投稿者です。

> 2番目の投稿のようにkernel-develに含まれるのであればそれでいいと
> 思うのですが、当方の環境では含まれませんでした。

探している場所が違うと思います。
rpm -ql kernel-devel | grep modpost をやるとわかりますが、/usr/src/kernels/ の中にあります。
(0002056)
anonymous   
2006-11-23 17:40   
> 2の投稿者です。
>
> > 2番目の投稿のようにkernel-develに含まれるのであればそれでいいと
> > 思うのですが、当方の環境では含まれませんでした。
>
> 探している場所が違うと思います。
> rpm -ql kernel-devel | grep modpost をやるとわかりますが、
> /usr/src/kernels/ の中にあります。

kernel-sourceから先に導入したため、kernel-develの展開先が
違うことに気がついていませんでした。
kernel-develの展開先で作業することでとりあえずビルドもうまくいきました。
(いちどクリーンな環境で再度ビルドの実験する必要はあるかと思いますが。)

バイナリは提供されていることがわかりましたので、
あとは/usr/src/linux/のリンクのお願いということになります。
kernel-develの展開先が別ならば、kernel-source内にもリンクが欲しいと思います。
(0002057)
anonymous   
2006-11-25 14:02   
2の投稿者です。

> (いちどクリーンな環境で再度ビルドの実験する必要はあるかと思いますが。)

Vine 4.0 リリース版で試してみました。
arch は i686 です。
CD ブートのグラフィカルインストーラでインストールクラスはデスクトップを選択。
パッケージ選択はカスタマイズなし。
kernel-devel は入っていて、kernel-source は入っていない状態。
# apt-get update
# apt-get install openssl-devel
$ tar xzf iscsitarget-0.4.14.tar.gz
$ cd iscsitarget-0.4.14
$ make
で make 出来たみたいですけど。
これのビルドに関しては kernel-source 不要ではないでしょうか。
(0002058)
anonymous   
2006-11-26 16:45   
> 2の投稿者です。
>
> > (いちどクリーンな環境で再度ビルドの実験する必要はあるかと思いますが。)
>
> Vine 4.0 リリース版で試してみました。
> arch は i686 です。
> CD ブートのグラフィカルインストーラでインストールクラスはデスクトップを選
> 択。
> パッケージ選択はカスタマイズなし。
> kernel-devel は入っていて、kernel-source は入っていない状態。
> # apt-get update
> # apt-get install openssl-devel
> $ tar xzf iscsitarget-0.4.14.tar.gz
> $ cd iscsitarget-0.4.14
> $ make
> で make 出来たみたいですけど。
> これのビルドに関しては kernel-source 不要ではないでしょうか。

こちらでも確認しました。
今回のiscsitargetに関しては/usr/src/kernel内で出来るようですね。

結局、せっかく提供されているのにその事実がわかりにくい、という
のが問題かと思います。
ですので私や投稿4の様に、必要ないのにカーネルビルドが必要
という誤解になるのかと。
と、言うことでリンクがあるだけでこの辺の無駄は防げるかと思います。
(0002059)
kazutaka   
2006-12-06 22:30   
> > # apt-get update
> > # apt-get install openssl-devel
> > $ tar xzf iscsitarget-0.4.14.tar.gz
> > $ cd iscsitarget-0.4.14
> > $ make
> > で make 出来たみたいですけど。
> > これのビルドに関しては kernel-source 不要ではないでしょうか。
>
> こちらでも確認しました。
> 今回のiscsitargetに関しては/usr/src/kernel内で出来るようですね。

とのことですので、当初の要望の(1)「カーネルソースにmodpostを入れてほしい」
という件は却下とします。

尚、

> 結局、せっかく提供されているのにその事実がわかりにくい、という
> のが問題かと思います。
> ですので私や投稿4の様に、必要ないのにカーネルビルドが必要
> という誤解になるのかと。
> と、言うことでリンクがあるだけでこの辺の無駄は防げるかと思います。

については、新たに<BTS:wishes:22>として登録しました。