Gitリポジトリのソースコードからコンパイルされたカーネルイメージを実行するLinuxシステムがあります。 Linuxを実行するときに、特定のNI機器用のドライバをインストールしたいと思います。インストーラを実行しようとすると、ドライバに必要なLinuxカーネルソースを検出できないというメッセージが表示されます。
利用可能なソースがあるため問題ありません。しかし、そのソースをこのインストーラで使用できるようにする方法はわかりません。カーネルソースは伝統的に特定のディレクトリに保存されていますか?それとも場所を知らせる環境変数はありますか?
そして、カーネルソースコードはどのように構成されていますか?私がインポートしたGitリポジトリには多数のファイルがありましたが、その多くは他のプラットフォーム用に構築または作成されたようです。カーネルモジュールには正確に何が必要ですか?
答え1
モジュールビルドシステムでは.config
。/lib/modules/$(uname -r)/build
最も簡単な方法は、ソースディレクトリを指すシンボリックリンクを作成することです。
sudo ln -s /path/to/kernel/source /lib/modules/$(uname -r)/build
答え2
伝統的に、カーネルソースは/usr/src/linuxにあります。ディストリビューションにLinuxソースパッケージがある場合は、おそらくそのパッケージがあります。linux-source
Debianベースのディストリビューションまたはkernel-devel
RedHatベースのディストリビューションにパッケージをインストールしてみてください。