Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to identify what does make install do with the kernel and what does the actual "install" of the kernel once it's been compiled means.

The problem is I can't really identify the target (Makefile reference) for "install" in the 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

What should I conclude from that?

share|improve this question
The -n make option is good for this sort of thing. It prints what it would execute, but does not actually run the commands. Try it out and see if you can figure out what's happening. (Also, Makefiles can include othermakefile, if you feel like tracing it yourself.) – Mat Apr 20 '14 at 12:13
The Makefile is likely spread across multiple files. Take Mat's advice and trying using the -n switch. – slm Apr 20 '14 at 12:59
@Mat if you would post your comment as an answer, i would accept it as correct. – Alan Apr 20 '14 at 18:24

Without delving too much into this the names of the rules headers_install and modules_install seem fairly self explanatory - headers_install installs the kernel headers and modules_install installs the modules.

This makes sense since it covers things that aren't compiled into the kernel. Many distributions provide a separate package for the kernel headers since these are usually only required when a kernel module is to be built (some packages build their own when installed). Generally the header files will go to /usr/src. The modules themselves also have to be put somewhere where the system can find them which is what installing them will do (usual location is /lib/modules).

share|improve this answer
I was aiming for what make install does. The other "installs" were here just the output of grep, and were meant to show that there is no Makefile targer named "install:". – Alan Apr 20 '14 at 18:21
Welcome to 10k! – slm Apr 21 '14 at 14:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.