With regard to this question: How to script make menuconfig, what is the difference between running make and make oldconfig?

I assume that if you run make, it uses the old .config anyway.


make oldconfig is used to apply your old .config file to the newer kernel.

For exapmle, you have .config file of your current kernel and you downloaded new kernel and want to build your new kernel. Since very likely new kernel will have some new configuration options, you will need to update your config. The easiest way to do this is to run make oldconfig, which will prompt you questions about the new configuration options. (that is the ones your current .config file doesn't have)

  • 2
    silentoldconfig does that too, and better since dependencies are taken care of automatically. – Stephen Kitt Feb 28 '17 at 19:47

In the Linux kernel, make defaults to silentoldconfig, which does the same as oldconfig, and additionally automatically updates dependent configuration entries (configuration entries which depend on other values, i.e. depends on entries in Kconfig files).

Of course make then builds the kernel, whereas make oldconfig only updates the configuration.

  • Thanks for that, I hadn't noticed that make oldconfig only configures and does not do the build as well – code_fodder Feb 28 '17 at 18:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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