マイコンピュータに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"
あまりにも多くの誤検出を提供しないでください。
コンパイルが必要な場合は、ソースコードをマシンに転送し、組み込み.config
(CONFIG_IKCONFIG
オプション)を使用してコンパイルする場合は、最初から始めることができます。/proc/config.gz
カーネルがサポートしている場合 - オプションを参照CONFIG_IKCONFIG_PROC
)から抽出するか、scripts/extract-ikconfig
カーネルソースディレクトリのスクリプトを使用して抽出できます。
それ以外は仲間に聞くのは全く不可能なことでしょうか?