Is there any way to actually compile a kernel from kernel.org on any release of OpenMandriva at all?

While I’ve fixed the problems I was having before by converting to “rolling” and getting a far more recent kernel, I’ve been trying to actually build a kernel myself just for a learning experience. But no matter which version I download, it just will not build on OpenMandriva at all. I really don’t understand why I’m still unable to build a kernel, since my LLVM/Clang version is now at version 11. I’ve tried to build kernel 5.10-rc7 and 5.10.1 and both fail with the same error:

SORTTAB vmlinux inconsistent ORC unwind table entries in file: vmlinux Failed to sort kernel tables make: *** [Makefile:1170: vmlinux] Error 1

Which is exactly the same error I got with OpenMandriva Lx 4.1 I’ve tried changing the kernel config to the frame pointer unwinder and I get a different error, but it stills fails to build all the same. I’ve tried the link below adding the arguments listed within, and it still fails the same as if I just run “make” without any arguments.

https://www.kernel.org/doc/html/latest/kbuild/llvm.html

According to the link below, the kernel should be able to be built with Clang 9.0, and clearly OpenMandriva’s kernel has been built with LLVM/Clang. So it must be possible to do it.

https://unix.stackexchange.com/questions/544690/how-do-i-compile-the-linux-kernel-with-clang

How on earth do the OpenMandriva dev’s do it? Exactly how and what do they use to build the kernel for OpenMandriva? As I just don’t understand why it’s still failing to build.

James

Talk to OpenMandriva developers on Freenode IRC @ oepnmandriva-cooker.

Maybe this help kernel-release/kernel-release.spec at d2556af8d45dc6953a2c101be39003a06312c7e2 · OpenMandrivaAssociation/kernel-release · GitHub

1 Like

What exactly should I be looking for? As other than downloading a few sources from github and using whatever makefiles those sources come with to build, I really don’t know much about using github nor reading makefiles, or writing shell scripts (other than very, very basic scripts).

Can someone just tell me exactly what arguments I need to specify after the make command? And if I need any patches, exactly what patches I need to build the kernel with on a desktop PC?

I’ve finally managed to actually build a kernel, although it was guesswork and reading other info from elsewhere that really helped. As I’m just not used to reading makefiles, or long spec files.

The trick was to use the GNU linker to link it.

So,

make CC=clang LD=ld.bfd -j2

(you could omit the -j2 argument, as I just wanted to speed it up a bit)

1 Like