# Using the Minimal Kernel

Xen provides an operating system kernel called [MiniOS ](https://wiki.xenproject.org/wiki/Mini-OS)which has been used for building a number of Unikernel projects including Stardust but these projects have become sophisticated as more features have been introduced over time. In order to assist the teaching activities at the University of St Andrews, we provide a smaller kernel that is used as a reference implementation for developing simple applications that support Xen.

<https://github.com/StardustOS/minimal>

### Instructions

Simply run `Make` in order to build the virtual machine image of the minimal kernel `minimal.gz`. Please note that you need the native header files of the Xen hypervisor present in your build environment. Please refer to this [setup guide](https://stardustos.gitbook.io/stardust/getting-started/setup) to learn more about setting up this environment.

In order to execute the virtual machine run `sudo xl create -c minimal.conf` where `minimal.conf` is the configuration file that specifies the location of the virtual machine image and the virtual memory specification.

### References

Chisnall D. The definitive guide to the xen hypervisor. Pearson Education; 2008.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://stardustos.gitbook.io/stardust/resources/using-the-minimal-kernel.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
