Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v5.11.16-1 Kconfig missing from headers package #93

Closed
amoiseiev opened this issue Apr 25, 2021 · 9 comments
Closed

v5.11.16-1 Kconfig missing from headers package #93

amoiseiev opened this issue Apr 25, 2021 · 9 comments
Assignees
Labels
bug Something isn't working

Comments

@amoiseiev
Copy link
Contributor

Hi,

I'm trying to compile aqc111u driver and it looks like Kconfig is missing from v5.11.16-1

:~/aqc111u/Linux# make
make -C /lib/modules/5.11.16-1-edge/build SUBDIRS=/root/aqc111u/Linux modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.16-1-edge'
SYNC include/config/auto.conf.cmd
can't find file Kconfig
make[3]: *** [scripts/kconfig/Makefile:71: syncconfig] Error 1
make[2]: *** [Makefile:602: syncconfig] Error 2
make[1]: *** [Makefile:710: include/config/auto.conf.cmd] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.11.16-1-edge'
make: *** [Makefile:26: default] Error 2

@fabianishere fabianishere self-assigned this Apr 26, 2021
@fabianishere fabianishere added the bug Something isn't working label Apr 26, 2021
@fabianishere
Copy link
Owner

I suggest downgrading to 5.11.15-1 for now. In the meantime, I’ll fix this issue.

@ghost
Copy link

ghost commented Apr 26, 2021

Is this the reason why there is no Zen2 version of the 5.11-16? I only see "Edge" versions, whatever that is.
And thanks for this repository!

@fabianishere
Copy link
Owner

@thalix1337 See #59 (comment).

@fabianishere
Copy link
Owner

This should be fixed from v5.10.34-1 and v5.11.18-1 onwards (since 888e5a6)

@amoiseiev
Copy link
Contributor Author

Hi Fabian,

thank you for updating it.

It's now failing on missing Kconfig under Documentation folder. May have something to do with your "prune" for said directory.

lib/Kconfig.debug:2494: can't open file "Documentation/Kconfig"
make[3]: *** [scripts/kconfig/Makefile:71: syncconfig] Error 1
make[2]: *** [Makefile:602: syncconfig] Error 2
make[1]: *** [Makefile:710: include/config/auto.conf.cmd] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.11.18-1-edge'
make: *** [Makefile:26: default] Error 2

@amoiseiev
Copy link
Contributor Author

If I switch the driver to use "M" instead of "SUBDIRS", it complains:

ERROR: Kernel configuration is invalid.
include/generated/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.

make[1]: *** [Makefile:718: include/config/auto.conf] Error 1
make[1]: Leaving directory '/usr/src/linux-headers-5.11.18-1-edge'
make: *** [Makefile:26: default] Error 2

If I run make oldconfig in /usr/src/linux-headers-5.11.18-1-edge# , I'm getting the same Documentation/Kconfig issue:

/usr/src/linux-headers-5.11.18-1-edge# make oldconfig
lib/Kconfig.debug:2494: can't open file "Documentation/Kconfig"
make[1]: *** [scripts/kconfig/Makefile:71: oldconfig] Error 1
make: *** [Makefile:602: oldconfig] Error 2

Hope it helps

@fabianishere fabianishere reopened this May 2, 2021
@fabianishere
Copy link
Owner

Could you share the sources of the module you are trying to build? That would help with me reproducing the issue.

@amoiseiev
Copy link
Contributor Author

Sure, the driver is: https://www.marvell.com/content/dam/marvell/en/drivers/AQ_USBDongle_LinuxDriver_1.3.3.0.zip . It has private flags that are missing from stock driver bundled with the kernel.

A couple of things to note:

  1. It builds fine on stock 10.9 buster "as-is" with stock kernel
  2. On 5.4/5.11 PVE kernels it complains about Kconfigs

One of the issues with the driver is using "SUBDIRS", which I tried to changed to "M" but it wouldn't get past "Kernel Configuration is invalid" as I described in my post above. So, I rebuilt headers package to not exclude "Documentation" directory and in "M" mode, the driver started to build.

Then, I patched the driver source and changed "usbnet_get_stats64" to "dev_get_tstats64" to make it 5.11 compatible,

So, all in all, I believe the only thing that needs to change to make kernel config "valid" is to remove that Documentation directory from the prune in find command. The simple way to validate it is to make sure "make oldconfig" runs fine in the headers directory and not fails on Kconfig.

@fabianishere
Copy link
Owner

Thanks for the investigation! This should be now fixed with e1a0974. New releases will include the fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants