-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
kernel-devel package have broken gcc plugin #2844
Comments
This is ringing a bell, but I think it was a while ago so I can't remember. It might be a missing dependency. When does this get triggered so I can try to replicate? Compiling u2mfn somewhere? I think I had to install elfutils-libelf-devel to fix it, and if that was the case, it'd need to be a Buildrequires for that kernel option but I might have forgotten to add it to kernel.spec. Can you try installing that package and try again? |
And on Debian, I think it's called something different. libelf-dev, I believe. |
Steps to reproduce:
I've tried elfutils-libelf-devel but it doesn't help, neither gcc-plugins-devel. |
This is on my dev machine (Fedora 23-based template). Is this the expected output?
If so, it probably is a dependency, but I'm not sure which one yet. I'll start a fresh template and try to find out. My bash history cuts off so I'm not sure if I've caught everything I've installed in this template, but in the meantime, could it be one of these?
|
I've re-checked template version and it looks like this is the problem: gcc plugin built on fc24 do work on fc24 and fc25 VM. But the one built on fc23 do not work on fc24+. |
Thanks; I just finished spinning up an FC25 template and was able to replicate your results. Just throwing this out there: Would it work the opposite way? As in, compile all kernel related stuff in FC25 and then install that into FC23? As long as everything related to the kernel is compiled in FC25 and nothing gets recompiled in FC23, that should work as the kernel stuff should be able to work independently from the rest of the system. The only major issues would be if anyone had a need to compile their own kernel module (ex. custom driver) after the fact as there might be some issues with mismatched symbols due to the different versions of the compilers. But if no one needed to do that, maybe that could be an option? Other options (maybe undesirable) are to update the FC23 gcc to match the one being used in FC25, although that may require other things to be recompiled too. Or another one could be to create a cross-compile toolchain in a Docker image that does only the kernel stuff and its output is what gets packaged as kernel updates for all the other templates. And if anyone needed to compile their own custom kernel module, they could look up how to build that image for themselves and do it there and then copy it over to where they need it. So everything regardless of distro would work off the same baseline. Or another option that combines the two is ship a different compiler that only gets called for kernel work so whenever anything needs to be compiled against the running kernel, it uses that compiler rather than the system one. |
And just thinking out loud some more, if the issue is u2mfn getting recompiled at install time with a different compiler than the rest of the kernel was compiled through dracut or whatnot, I think you might be able to get around that by creating a new kernel-qubes-modules package that has u2mfn and any other custom modules compiled with the same compiler and ensure those two packages get installed together (i.e. kernel and kernel-qubes-modules). That might be another option. |
u2mfn was just a convenient example - this is about other modules - for example if someone need out-of-tree wifi driver. Doing |
As for compiling the dom0 kernel under fc25 - I don't want to mix distributions/build environments that much. If anything, build it again just for kernel-devel package - maybe we could skip actual build in that case. |
For now, the workflow for building kernel modules, with kernel headers included in modules.img is:
This isn't exactly what I'd expect from provided kernel headers... |
This bug is literally preventing me from doing work at my workplace — and it's remained like this for what, three months now? I'm trying to get a template's VMs to boot with an in-template kernel, and of course this doesn't work without the damn
That is actually the very set of instructions which this fails upon. Sigh. |
Be sure to compile it for that you compile u2mfn for that in-template kernel version - not for the one provided by dom0 - which fails because of this bug. |
I gave up trying to compile the u2mfn module, because the module automagically appears in /lib/modules/$kernel of appvm based on template (after setting the appvm to prgrub2). Now I have a different problem, when I try to start any GUI app in the booted appvm, the GUI app simply does not start. Quite disappointed that these simple things do not work at all. |
qubes-gui-agent.service dies with journal error Error while vchan send hdr, terminating. Absolutely nothing on Google about that. No matches on qubes-gui-* github repos either. The dom0 side just hangs with "Waiting for qubes-session". I am stuck. |
And now (after a VM reboot) it doesn't hang anymore, but no xterm window appears when I qvm-run the xterm on the app VM. |
Those are exact symptoms of missing u2mfn module. |
But module is loaded. It loads right after the login prompt in xl console of the VM, and lsmod confirms it is loaded. |
When are we abandoning the kernels in dom0 model in favor of a supported and well tested in-VM kernel support?
…On August 28, 2017 4:31:51 PM GMT+02:00, Rudd-O ***@***.***> wrote:
But module is loaded. It loads right after the login prompt in xl
console of the VM, and lsmod confirms it is loaded.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
#2844 (comment)
--
Rudd-O
http://rudd-o.com/
|
If it's of any use to someone: I wanted to install the wireguard module via dkms (thus the naming). The following script creates an rw overlay and is called via my /rw/config/rc.local:
For each new kernel, I do |
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
Qubes OS version (e.g.,
R3.2
):R3.2
Affected TemplateVMs (e.g.,
fedora-23
, if applicable):fedora-*
Since enabling gcc plugins, building kernel modules using kernel-devel package is broken:
This happen even if the kernel-devel package is built in exactly the same distribution, the same gcc version etc.
Kernel options responsible:
Those options were enabled in >=4.9.28-14, package now in current-testing:
QubesOS/updates-status#55
/cc @rtiangha
The text was updated successfully, but these errors were encountered: