How to compile&install an AppVM custom kernel in Qubes OS? (Fedora 28)
tl;dr: I want to recompile a QubesOS R4.0 AppVM's kernel, compile it inside (the same or different) AppVM (but not inside dom0), and have the AppVM use this new kernel on its next start.
In QubesOS R4.0, using a Fedora28 AppVM, I want to recompile its kernel and change a few .config
options (such as turn off swap). The kernel is Qubes-specific (eg. 4.14.57-1.pvops.qubes.x86_64) so I can't use generic Fedora kernel-building instructions.
After recompiling the kernel, I expect to be able to tell that AppVM which kernel to use on next startup (the old kernel, or the newly recompiled one), so please include instructions on how to do this also.
The following is all the info that I have found so far(but they are for Qubes R3.2 ? instead of R4.0), but haven't yet tested: https://github.com/0spinboson/qubes-d...
Hopefully that gives some idea of the kind of answer that I'm expecting.
Thanks.
EDIT: I'm keeping track of my progress in this github gist
I don't see why Fedora's kernel-building instructions don't apply. Just take Qubes'
.spec
file instead of the Fedora one.Anyway, if you go further these questions are too Qubes-specific to be answered here.
Thanks, I'm able to compile and get 3 rpms, none of which install inside the AppVM due to eg.
That
qubes-core-dom0
is only found in dom0 which is kinda confusing since I'm trying to install the kernel inside the VM only! Even those 0spinboson instructions say I should be doing it inside dom0. There's amake rpms-vm
which is empty(does nothing) inside the Makefile. Which kinda tells me that spec file repo is for dom0 only? I'm confused.wow the vm kernels are actually residing in dom0 - i did not expect that!
So, I guess I'm stuck having to install the rpms in dom0 then, where I get:
Thinking about it, this makes sense: The AppVMs need to get started somewhere. As they should reside in a trustworthy (i.e. signed and encrypted) filesystem, they need to be on the host. Especially if you don't want to introduce another boot manager such as grub.
@genodeftest I'd make this an answer instead of comments; it's pretty comprehensive!