Skip to content
cllm

// quickstart

From clone to boot in one command.

cllm has no runtime, no interpreter, and no base image to pull. Install a 32-bit toolchain and QEMU, clone the repo, and make run puts a kernel on your terminal.

  1. 01

    Install the toolchain

    You need a gcc that can emit 32-bit code, GNU make, and QEMU for i386. On Debian or Ubuntu that is three packages.

    sudo apt-get install gcc gcc-multilib make qemu-system-x86
  2. 02

    Clone the repository

    The kernel source, headers, linker script, and build scripts all live in one repository.

    git clone https://github.com/cognisoc/cllm.git
    cd cllm
  3. 03

    Boot it in QEMU

    make run builds a release kernel (build/kernel.bin) and boots it in QEMU with serial wired to your terminal. The first serial line appears in well under a second. Exit QEMU with Ctrl-A X.

    make run
  4. 04

    Call the API

    The kernel listens on port 80 and answers the llama.cpp-shaped v1 surface. The routes parse and dispatch today; inference returns a stub until the engine integration lands.

    curl http://localhost:8080/v1/models
    curl -X POST http://localhost:8080/v1/completions \
      -H 'content-type: application/json' \
      -d '{"prompt":"hello","n_predict":16}'

// make targets

Every build path.

CommandWhat it does
make Release build → build/kernel.bin
make debug Debug build with symbols
make run Boot in QEMU, serial on stdio
make run-vga Boot in QEMU with a VGA window
make run-debug Boot paused, waiting for GDB on :1234
make clean Remove build artifacts

// serial output prints to the launching terminal. exact port and log lines depend on build flags.

Next steps

Read how the boot path reaches an HTTP response, or browse the docs for the full reference.