web-dev-qa-db-ja.com

カーネルに付属のMakefileで「makeinstall」は何をしますか?

make installがカーネルで何をするのか、そしてコンパイルされた後のカーネルの実際の「インストール」が何を意味するのかを特定しようとしています。

問題は、Makefile

user@user-VirtualBox:~/Downloads/linux-3.14.1$ grep install: Makefile 
firmware_install: FORCE
headers_install: __headers
modules_install: _modinst_ _modinst_post
modules modules_install: FORCE
modules_install: _emodinst_ _emodinst_post

それから何を結論付けるべきですか?

これについてあまり深く掘り下げることなく、ルールの名前headers_installmodules_installはかなり自明のようです-headers_installはカーネルヘッダーをインストールし、modules_installはモジュールをインストールします。

これは、カーネルにコンパイルされていないものをカバーしているため、理にかなっています。多くのディストリビューションでは、カーネルヘッダー用に個別のパッケージが提供されています。これらは通常、カーネルモジュールをビルドする場合にのみ必要になるためです(一部のパッケージは、インストール時に独自にビルドします)。通常、ヘッダーファイルは/usr/srcに移動します。モジュール自体も、システムがモジュールを見つけることができる場所に配置する必要があります。これは、モジュールのインストールが行うことです(通常の場所は/lib/modulesです)。

2
Graeme