fix kernel module build for 5.x kernels#6772
Conversation
- enhance kernel source preparation for module build - update .config - patch tools/lib/subcmd/Makefile to avoid gcc warnings as error - disable build of objtool (build still fails, even when libelf-dev is available) - adjust build parameters - remove parameter "M=module" (seems backwards compatible) - add parameter OBJECT_FILES_NON_STANDARD=y to avoid the need of objtool - enable build of kernel modules for epyc7002 and rtd1619b (cdrom and usbserial) REMARKS: - the build of linux 5.x kernel modules requires libelf-dev installed (not yet available in spksrc dev env)
|
@th0ma7 as expected the build for rtd1619b and epyc7002 failed, since libelf-dev is not installed yet. But the build jobs (aarch64-7.1 and x64-7.1) didn't fail, despite the make errors like; Is this by intention? (I guess not) PS it is not related to the latest framework update (#6738) |
Indeed no, this should have failed, I'll look into that. Here's my previous attempt at building newer kernel modules: #6772 Last I played with that it was working fine but some other issue had came up that I don't recall, will have to revisit. One interesting twist to bring to your attention is this which solved a lot of issues found: https://github.com/SynoCommunity/spksrc/pull/6646/files#diff-5d2e26de07a41a9035f64ce717493e723f7cfbeed8863ca4f4e7badea2f647db Something else worth mentioning are (and probably worth separating in its own PR?):
|
I guess this is the same issue I fixed in #6772 with |
|
I was hoping to reproduce your build error but as I was using debian-13 image instead I got this, nice job 🚀 |
|
@hgy59 took me two attempts to get this right but fixes merged to master and should now exit on error AND provide relevant error msg related to the right sub-kernel build. |
…for_kernel5_modules
…for_kernel5_modules
|
Looking good! |
|
@th0ma7 Have you ever considered to strip the kernel modules? A full strip is not supported, but we can strip the debug info from *.ko files to make those much smaller. |
|
@hgy59 I did back when I added this kernel module functionality but didn't know how to do so and modules failed to work with a full strip so I left it there. Unsure where but there must be a hook somewhere to skip the strip part for kernel modules. Would indeed be nice to figure that out. |
|
@th0ma7 some background to strip debug symbols in *.ko files: https://stackoverflow.com/questions/2895816/how-do-i-strip-local-symbols-from-linux-kernel-module-without-breaking-it |
|
Please do, i prefer this pr. I might port back some of my previous code but yours is much simpler, i like that :) |
|
@hgy59 will you publish updated synokernel-* packages while at it? otherwise let me know and I'll look at that later this week. |
I didn't plan to publish new releases. |
Description
REMARKS:
Fixes #
Checklist
all-supportedcompleted successfullyType of change