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?

  • 2
    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
    Commented Apr 20, 2014 at 12:13
  • The Makefile is likely spread across multiple files. Take Mat's advice and trying using the -n switch.
    – slm
    Commented Apr 20, 2014 at 12:59

1 Answer 1


Using the -n flag with make install (based on @Mat's comment), I obtained the following output:

make -f ./scripts/Makefile.build obj=arch/x86/boot install
sh ./arch/x86/boot/install.sh 4.19.99 arch/x86/boot/bzImage \
    System.map "/boot"

So, the make install target runs a script based on CPU architecture. I'm using x86, so arch/x86/boot/install.sh was used.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .