Skip to content

Environment setup

IMPORTANT: These instructions are meant for advanced users and are not necessary for the basic get-started guide. These dependencies will be needed for installing containers and building Pantavisor. They are prepared for any apt based system such as Ubuntu, but can be adapted for your favorite distro.

The following packages are needed for building:


sudo apt update
sudo apt install curl

Try curl --help to check curl is installed.


sudo apt update
sudo apt install squashfs-tools

Try mksquashfs --help to check squashfs is installed.


sudo apt update
sudo apt install git

Before you use git, remember to configure your name and email globally:

git config --global "Your Name"
git config --global "your@email.tld"


We use the repo tool used by Android project to maintain our source distribution for pantavisor.

To install repo:

mkdir -p ~/bin
curl > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin/:$PATH

If you run into any problem with repo installation, further documentation can be found in the Android Project.


sudo apt update
sudo apt install

Alternatively, you can follow the instructions released by docker team for various Linux Distributions here:

Once installed you need to grant rights to use docker to the user you are using. To do so you can run the following commands and re-login:

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

After installing docker, check that you can actually use docker echo container using your normal user:

docker run hello-world

Expected output of that command should be similar to:

docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:

For more examples and ideas, visit:

If that fails, find instructions on how to setup docker online.