> ## Documentation Index
> Fetch the complete documentation index at: https://kernel.mvhcloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MVH Kernel — Bare-Metal x86_64 Kernel Documentation

> Official documentation for MVH Kernel — an independent x86_64 ELF64 bare-metal kernel with memory management, VFS, interrupts, and full API reference.

MVH Kernel is an independent, bare-metal ELF64 kernel for x86\_64, developed by MVH Cloud. It provides physical and virtual memory management, a virtual filesystem, a hardware abstraction layer, interrupt handling, and an interactive shell — everything you need as a foundation for custom OS development. You integrate MVH Kernel directly with your own bootloader and run it on real hardware or a compatible emulator.

<CardGroup cols={2}>
  <Card title="Introduction" icon="book-open" href="/introduction">
    Learn what MVH Kernel is, what it provides, its current limitations, and how to understand its architecture before you begin integrating.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Build and boot MVH Kernel from source in three steps. Get to an interactive shell prompt as fast as possible.
  </Card>

  <Card title="Memory API" icon="microchip" href="/api/pmm">
    Reference documentation for the physical memory manager — allocating and freeing 4 KiB pages, reading allocation statistics, and understanding page protections.
  </Card>

  <Card title="Shell Overview" icon="terminal" href="/shell/overview">
    Browse the full list of built-in shell commands, their syntax, and what each one reports about the running kernel.
  </Card>
</CardGroup>

## How to get started

Follow these four steps to go from source code to a running kernel with an interactive shell.

<Steps>
  <Step title="Build the kernel">
    Clone the repository and run `make`. The build system compiles all kernel modules with GCC and links them into a single `build/kernel.elf` ELF64 binary.
  </Step>

  <Step title="Integrate your bootloader">
    Configure your bootloader to identity-map the first GiB of physical memory, pass the available memory size in KiB via the `boot-memory-size-kib` convention, and jump to the `_kernel64_start` entry point in x86\_64 Long Mode.
  </Step>

  <Step title="Boot the kernel">
    Load `build/kernel.elf` using your bootloader. The kernel initialises the HAL, memory manager, VFS, interrupt layer, PCI bus, and all built-in drivers before dropping into the interactive shell.
  </Step>

  <Step title="Use the shell">
    Interact with the running kernel at the `mvh>` prompt. Run `help` for a full command list, `meminfo` for memory statistics, `uname` for version information, and `ls` to browse the volatile RAM filesystem.
  </Step>
</Steps>
