Bug 15820

Summary: make linux-menuconfig does not modify correct .config file when LINUX_KERNEL_CUSTOM_CONFIG_FILE set
Product: buildroot Reporter: GaryI <gary.isliefson>
Component: OtherAssignee: unassigned
Status: RESOLVED INVALID    
Severity: normal CC: buildroot, yann.morin.1998
Priority: P5    
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:

Description GaryI 2023-10-24 16:54:21 UTC
I want to have the linux source files in an alternate tree from where buildroot places them after the download. I've successfully done this by using the local.mk file with an entry LINUX_OVERRIDE_SRCDIR=/home/me/some-path.

make linux-rebuild then correctly builds from the source files in the new path. 

However, if I run make linux-menuconfig, it modifies the .config file in its build directory (which is under buildroot at output/build/linux-custom/.config)

I found the variable BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE in buildroot's make menuconfig, and I thought this would do what I want (ie, modify the .config in my linux source directory), so I set this var to BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=/home/me/some-path/.config

Then make linux-reconfigure, it rebuilds linux, but appeared to again use the wrong .config file, then make linux-menuconfig still modifies the .config in output/build/linux-custom, rather than modifying the one in my source directory (/home/me/some-path/.config).

Correct me if I'm wrong, but setting BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE shouldn't buildroot make linux-menuconfig modify the one pointed to by this variable? So far, I've had to run make linux-menuconfig, then manually copy the output/target/linux-custom/.config to my actual linux source directory in order to preserve the changes.
Comment 1 Yann E. MORIN 2023-10-24 19:50:40 UTC
Garyl, All,

Thanks for your report.

> Correct me if I'm wrong, but setting BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
> shouldn't buildroot make linux-menuconfig modify the one pointed to by
> this variable?

No, BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE is used as the "source" for the
configuration, it is not meant to be the "working copy", so the behaviour
you report is the expected one.

> So far, I've had to run make linux-menuconfig, then manually copy the
> output/target/linux-custom/.config to my actual linux source directory
> in order to preserve the changes.

You want to run:  make linux-update-defconfig   (or: linux-update-config)
See help, with:   make help

Regards,
Yann E. MORIN.