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.
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)
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.
make oldconfig
only configures and does not do the build as well
– code_fodder
Feb 28 '17 at 18:22
silentoldconfig
does that too, and better since dependencies are taken care of automatically. – Stephen Kitt Feb 28 '17 at 19:47