近藤と申します。下記の件ですが、自己解決しました。 アドバイスいただいた、森山様、まちの様、ありがとうございます。 1. mkkpkg --enable-smp --target=i686 kernel-2.4.27-0vl7.3.src.rpm で作ると、kernel-headers が作成されない。 kernel-2.4.27-i686-smp.config をベースにしたsmpカーネルができあがる。 mkkpkg kernel-2.4.27-0vl7.3.src.rpm で作ると、 kernel-headers が作成されるが、smp 関係の header file が含まれない。 (menuconfig で SMP を有効にしているにもかかわらず) 2. alsa のバージョンチェックで、ひっかかる。次のようにして対処。 2-1. cd /usr/src/linux/include/linux/ 2-2. cp version-up.h version-smp.h 2-3. version-smp.h を編集。 < #define UTS_RELEASE "2.4.27-0vl7.31smp" --- > #define UTS_RELEASE "2.4.27-0vl7.31" 2-4. cp modversionus-up.h modversions-smp.h 3. rpm --rebuild --define multiple:1 alsa-driver-1.0.5a-0vl2.src.rpm > 3. vmlinuz-2.4.27-0vl7smp は、poweroff コマンドが使えないので、 > kernel-2.4.27-0vl7.3.src.rpm から APM を有効にした > SMP カーネルを作り直すことにする。 > mkkpkg --enable-smp --target=i686 kernel-2.4.27-0vl7.3.src.rpm > とすると、kernel-2.4.27-0vl7.3k1.i686.rpm と > kernel-smp-2.4.27-0vl7.3k1.i686.rpm ができたので、smp カーネルの方を > インストール。poweroff コマンドは正常に働いた。 > (0vl7.3k1 は、自作カーネルのリリース名) > kernel-headers などができていなかったので、 > mkkpkg --enable-smp --target=i686 kernel-2.4.27-0vl7.3.src.rpm > を再度実行して作られた kernel-headers-2.4.27-0vl7.3k1.i386.rpm > をインストール。 ようやく、SMP(HyperThreading) で、poweroff ができて、 i865 内蔵サウンドで音が鳴り、i686 enhanced な環境が手に入りました。 (中身はよくわかっていませんが、i386,i486,i586,i686で -smp.config の内容 がかなり違っており、せっかくなので i686-smp.config を使いたかったのです。 本当はどれがいいのでしょうか????) ※注: まちの様ご指摘のとおり、 REL を 7.31 として試してみましたが、 同様に無理でした。試してみた名残で、以前のメールで 7.3k1 としていた REL が 上の説明では 7.31 になっています。 > 森山です。 > kernel-source-2.4.27-0vl7.3k1.i386.rpm も出来るハズなのですが、 > これもいれてますでしょうか? 入れても入れなくても同様でした。 > /lib/modules/2.4.27-0vl7.3k1smp/build/include/linux/version.h 自体は > あるのでしょうか? ファイル自体はありました。 そこから読み込んでいる version-smp.h が無かったのでした。 > まちの です。 > > checking for kernel version... expr: syntax error > > expr: syntax error > > expr: syntax error > > failed (probably missing /lib/modules/2.4.27-0vl7.3k1smp/build/include/linux/version.h) > > エラー: /var/tmp/rpm-tmp.23295 の不正な終了ステータス (%build) > > kernelのversionチェックがうまくいっていない様です。 rpm/BUILD/alsa-.../configure を実行してみると、 checking for kernel version のところで、 小さな C プログラムをコンパイルして、カーネルバージョンを調べているので すが、<linux/version-smp.h>が読めないのでコンパイルエラーになっていまし た。そのため、configure が失敗していました。 また、version-smp.h を作成して configure 通過後にコンパイルしていたら、 modversionus-up.h が無いため、途中で make が止っていました。 -- 近藤靖浩 <nkon@xxxxxxxxxxxxx>