Debian 12: ソースからビルドされたカーネルをインストールできないのはなぜですか?

Debian 12: ソースからビルドされたカーネルをインストールできないのはなぜですか?

以前は定期的にLinuxカーネルをビルドしてインストールしていましたが、今は難しすぎて見えて驚きました。

ストーリー:Debian 12用のLustreクライアントを構築しようとしています。最初のステップはconfigureスクリプトを実行することですが、次の理由で失敗します。

checking if Linux kernel was built with CONFIG_FHANDLE in or as module... no
configure: error: 

Lustre fid handling requires that CONFIG_FHANDLE is enabled in your kernel.

これが新しいカーネルをコンパイルする必要がある理由です。make deb-pkg;これはすべてうまくいき、生成されたパッケージをエラーなくインストールしました。しかし、システムはまだ元のカーネルで起動します。さまざまな Debian ドキュメントに見られるように、私はすでに必要なものすべてを持っているので、何か間違っていることは明らかです。しかし、何ですか?

Stephen Kittのコメントに対する編集者の回答

root@debian12:~# grep FHANDLE /boot/config-$(uname -r)
CONFIG_FHANDLE=y

configureスクリプトでこのコードを確認しているようです。

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <linux/kernel.h>
#include <linux/module.h>

#if defined(NEED_LOCKDEP_IS_HELD_DISCARD_CONST) \
 && defined(CONFIG_LOCKDEP) \ 
 && defined(lockdep_is_held)
#undef lockdep_is_held
        #define lockdep_is_held(lock) \
                lock_is_held((struct lockdep_map *)&(lock)->dep_map)
#endif


        #include <$AUTOCONF_HDIR/autoconf.h>

int
main (void)
{
  
        #if !(defined(CONFIG_FHANDLE) || defined(CONFIG_FHANDLE_MODULE))
        #error CONFIG_FHANDLE and CONFIG_FHANDLE_MODULE not #defined
        #endif

  ;
  return 0;
};

ベストアンサー1

おすすめ記事