Analysis updated 2026-05-18
Provide the guest kernel needed by libkrun to run lightweight, containerlike virtual machines.
Build a Windows-compatible kernel bundle for libkrun using the cross-compilation workflow.
Build a memory-encrypted SEV variant of the kernel bundle for confidential computing setups.
| torkbot/libkrunfw | ac000/find-flv | acc4github/kdenlive-omnifade | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | C | C | C |
| Last pushed | — | 2013-04-05 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 2/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Requires a full Linux kernel build toolchain plus Python and pyelftools, macOS builds need krunvm.
libkrunfw is a low level library that packages a Linux kernel inside a dynamic library file, so it can be used easily by another project called libkrun. libkrun is a tool for running lightweight virtual machines, and it needs a kernel to boot inside those virtual machines. The reason for bundling the kernel this way is technical convenience. Because the kernel lives inside a normal dynamic library, the operating system's own linker can handle loading its pieces into memory, and libkrun can then hand those memory mappings directly to the virtual machine without extra processing steps. Building libkrunfw requires the same toolchain your Linux distribution uses to compile its own kernel, plus Python 3 and a Python package called pyelftools. There is a standard Linux build, along with a special variant for SEV, which is a hardware based memory encryption feature used to protect virtual machines. On macOS, building the Linux kernel directly is not practical, so the README recommends using a helper virtual machine tool called krunvm to do the build inside a small Linux environment instead. There is also a way to cross compile a Windows version of the library from a Linux machine, using the MinGW-w64 compiler, which produces a DLL file tuned to work with Windows' own virtualization platform. One limitation noted in the README is that the bundled kernel is configured to support a maximum of 8 CPUs to save memory, so it will not use more than that even if the host machine has more available. Licensing is a bit layered. The Linux kernel itself and the patch files are under the GPL 2.0 license, while the library code that wraps it is under the LGPL 2.1 license. Programs that simply link against this library are not required to adopt either of those licenses themselves.
libkrunfw packages a Linux kernel inside a dynamic library so the libkrun microVM tool can boot lightweight virtual machines from it.
Mainly C. The stack also includes C, Linux kernel, Python.
The bundled Linux kernel is GPL-2.0, the library code is LGPL-2.1, programs that merely link against the library are not required to adopt either license.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.