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.

2 Answers 2


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)

  • 3
    silentoldconfig does that too, and better since dependencies are taken care of automatically. Commented Feb 28, 2017 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 Commented Feb 28, 2017 at 18:22

You must log in to answer this question.

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