// faq
Questions engineers ask first.
Straight answers about what cllm is, what it ships today, and where the roadmap begins. We do not overstate the inference story.
+ What is cllm?
cllm is a bare-metal C unikernel for serving large language model inference over HTTP. It is Multiboot-compliant, boots in QEMU or on bare-metal x86, and exposes an HTTP/1.1 server with a llama.cpp-shaped REST API. There is no host operating system — the kernel and the application are one ELF binary.
+ What is actually running today?
A Multiboot ELF that boots, brings up serial and VGA, walks the PCI bus, drives an Intel e1000 NIC, and answers HTTP/1.1 requests through a llama.cpp-shaped v1 API. The inference engine itself is on the roadmap; the kernel and the network stack ship now.
+ Can cllm actually run a model yet?
Not end to end. The v1 endpoints exist, parse requests, and route to handlers, but inference returns a stub until the llama.cpp engine is integrated into the kernel. Treat cllm today as a working substrate that the inference path will land on.
+ Which models will cllm support?
The API surface mirrors llama.cpp, so the natural target is anything llama.cpp loads — GGUF-format weights for Llama-family architectures, Mistral, Qwen, Gemma, Phi, and so on. Until the llama.cpp inference path is wired in, no specific model has been benchmarked end to end.
+ Which hypervisors are supported?
QEMU is the development and primary supported target. The kernel is Multiboot-compliant, so any Multiboot loader will boot it — including GRUB on bare metal. Other hypervisors are unverified.
+ What about GPUs?
GPU support is roadmap, not shipped. The documentation includes an analysis of how a CUDA ggml backend could be integrated into a unikernel — PCIe access, PTX kernel embedding, host/device memory management — but that work is not yet in the build.
+ What is the network stack?
Raw Ethernet frames over the e1000 driver, with a minimal IPv4 + TCP implementation and an HTTP/1.1 subset on top — enough to route the v1 endpoints. There is no socket API in the traditional sense; the server is the packet-processing loop.
+ What architectures does cllm target?
Only x86 (i386, 32-bit Multiboot) is wired up today. The kernel boots as a 32-bit Multiboot ELF in QEMU or on bare-metal x86. x86_64, ARM64, and RISC-V are noted as future considerations but are not implemented.
+ How do I build and run it?
Install gcc with -m32 support, make, and qemu-system-i386. Clone the repo and run make run — serial output appears on your terminal in under a second. Ctrl-A X exits QEMU. There are debug, VGA, and GDB-attached variants as well.
+ Is it production-ready?
No. The infrastructure scaffolding — kernel, drivers, HTTP — is in place; the inference engine is not. cllm is a research-grade substrate, not a production serving stack.
+ Why a unikernel instead of just a small Linux?
A unikernel removes the kernel/userspace boundary, the scheduler, and every page of the host OS that is not part of the inference path. The target is a single tens-of-kilobytes ELF that boots in milliseconds and spends every cycle on math.
+ What license is cllm under?
cllm is open source under the GPL. The canonical source and LICENSE file live at github.com/cognisoc/cllm.
+ How does cllm relate to Cognisoc?
Cognisoc is the organization developing cllm. It is one of several open-source LLM inference projects under Cognisoc, each targeting a different language or device profile. The full portfolio and documentation live at cognisoc.com and docs.cognisoc.com.
Still have a question about the kernel, the driver, or the v1 API?