Running system on armv7a9-zynq7000-qemu

These instructions describe how to run a Phoenix-RTOS system image for the armv7a9-zynq7000-qemu target architecture using docker.

Note that, the build artifacts, including the system image, should be first provided in the _boot directory.

If you haven’t run the build.sh script yet, run it for armv7a9-zynq7000-qemu target.

See Building chapter.

Running the system image

Firstly, you need to have the docker installed.

How to get docker (Ubuntu 22.04)
  • Install required packages

    sudo apt-get update && \
    sudo apt-get install curl \
    ca-certificates \
    gnupg \
    lsb-release
    
  • Make docker packages available

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  • Install docker packages

    sudo apt-get update && \
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  • Check if Docker is properly installed (version can be different):

    sudo docker --version
    

    Image

  • To make calling docker command without sudo possible type:

    sudo groupadd docker
    

    Even if group docker already exists type then:

    sudo usermod -aG docker $USER && \
    newgrp docker
    
  • Check if running docker images without sudo works properly:

    docker run hello-world
    

    Image

    For more details and other instructions see

    docker.com

Now, with docker installed you can run Phoenix-RTOS using the following command:

./docker-devel.sh scripts/armv7a9-zynq7000-qemu.sh

As a result, you should see psh (Phoenix-RTOS shell).

  • Note: It may take a while.

Image

Why there is no need to install qemu?

All necessary tools including QEMU are provided in phoenix-rtos/devel docker image (run by docker-devel.sh script)

If you want, you can read more about docker containerization on https://www.docker.com/resources/what-container

Using Phoenix-RTOS

To get the available command list please type:

help

Image

If you want to get the list of working processes please type:

ps

Image

To get the table of processes please type:

top

Image

If you want to quit, you should click on the terminal window, press ctrl + a, release it, and next press the x key.

Image