# Kerno on ArchLinux (btw)

This page explains how to configure your development environment on Arch Linux to run Kerno end-to-end tests. Kerno relies on Docker to build and run a custom `docker-compose.yml` that mirrors your codebase locally and allows automated E2E testing.

### Docker Desktop on ArchLinux

Docker Desktop is not officially supported on ArchLinux. It may fail with errors such as:

```
qemu: process terminated unexpectedly: signal: aborted (core dumped)
```

These issues are commonly related to kernel updates, QEMU integration, or unsupported system configurations. For ArchLinux, Docker Engine installed directly from the distribution repositories is the recommended and supported approach.&#x20;

{% hint style="info" %}
We highly recommend uninstalling Docker Desktop and install the deamon directly instead.
{% endhint %}

### Docker installation on ArchLinux

Docker must be installed using the official Arch Linux packages. Following the Arch [Wiki documentation](https://wiki.archlinux.org/title/Docker):

```bash
sudo pacman -Syu
sudo pacman -S docker
sudo systemctl enable --now docker
```

You can verify the installation with:

```bash
docker info
```

### Docker Compose

Kerno requires Docker Compose v2, which uses the following syntax:

```bash
docker compose
```

The legacy `docker-compose` command is deprecated and should not be used. Installation instructions for the `docker compose` plugin are available in the official [Docker documentation](https://docs.docker.com/compose/install/linux/), follow the manual installation, since ArchLinux distro isn't supported.

After installation, verify with:

```bash
docker compose version
```

### Verification checklist

Before using Kerno, ensure the following commands work without `sudo`:

```bash
docker info
docker run hello-world
docker compose version
```

If these commands succeed, your system is correctly configured to run Kerno end-to-end tests.

{% hint style="info" %}
If you encounter issues or have questions, [message us on Discord](https://discord.gg/k8yA9tZdP9), and we’ll gladly help.
{% endhint %}


---

# 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://kerno.gitbook.io/docs/troubleshooting/kerno-on-archlinux-btw.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.
