現在私のコンピュータで実行されているカーネルのソースコードをどのように見つけることができますか?

現在私のコンピュータで実行されているカーネルのソースコードをどのように見つけることができますか?

マイコンピュータにLinux 3.14.0 kernel(CentOS 6.2)実行中のプログラムがありますが、ソースコードはありません/usr/src/

どこでコンパイルされたかを知る方法はありますか?

ソースコードはコンピュータのどこかにある必要があり、同僚の1人がコンパイルしたものです。また、これはインターネットに接続されていない研究室のコンピュータなので、ソースコードを手動でコピーしてインストールする必要があります。

現在のカーネルイメージに基づいてターゲットを指定するだけです。

ベストアンサー1

/lib/modules/$(uname -r)/sourceカーネルソースツリーへのシンボリックリンクでなければなりません(合理的な方法でインストールされている場合)。

しかも

find / -type d -name "linux-3.14.0"

3.14.0 Linuxカーネルの配布ディレクトリを探します。これはtarballを解凍したときに得ることができるディレクトリです。失敗した場合、

find / -type d -name "linux-*"
find / -type f -name "Kbuild"

あまりにも多くの誤検出を提供しないでください。

コンパイルが必要な場合は、ソースコードをマシンに転送し、組み込み.configCONFIG_IKCONFIGオプション)を使用してコンパイルする場合は、最初から始めることができます。/proc/config.gzカーネルがサポートしている場合 - オプションを参照CONFIG_IKCONFIG_PROC)から抽出するか、scripts/extract-ikconfigカーネルソースディレクトリのスクリプトを使用して抽出できます。

それ以外は仲間に聞くのは全く不可能なことでしょうか?

おすすめ記事