Refer to docker instruction guide: Add Reference Link
- Install Python
sudo apt install python3 python3-pip
sudo pip3 install distro jsonschema kconfiglib PyYAML- Install Docker
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
apt-cache madison docker-ce- Install a specific version using version string from second column
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
sudo apt-get install docker-ce= 5:20.10.17~3-0~ubuntu-focal docker-ce-cli= 5:20.10.17~3-0~ubuntu-focal containerd.io docker-compose-plugin- Check if docker installation successfull
sudo docker run hello-world
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker- Verify if we can run docker command without sudo
docker run hello-worldsudo systemctl enable docker.service
sudo systemctl enable containerd.service
echo $USER
sudo usermod -aG docker $USER
sudo systemctl restart docker
docker ps- Cargo
sudo apt-get -y install cargo
cargo install cargo-bitbake
cargo install cargo-bitbake --force
sudo apt-get install build-essential gcc bv bison flex libssl-dev libncurses5-dev libelf-dev
sudo apt-get install build-essential libncurses5-devgit clone https://github.com/siemens/kasThis repository contains the script that we will be using to build images, sdk and access the yocto development environment. The key script we will be using is kas-container.
Use this command from meta-panomic repo to build the image.
Download the meta-panomic repo and then use the below commands to compile the OS.
$PATH_TO_KAS_DIR/kas-container build scratchgap.yaml$PATH_TO_KAS_DIR/kas-container shell scratchgap.yaml- Build file can be found at
/build/tmp/deploy/images/raspberrypi4
Refer the documentation for more info. This approach comes from this blog by Embedded Use.
These changes need to be revisited. They are changes between qemu and rpi variant.
- python3-orjson (custom recipe, not in standard Yocto)
- module-init-tools (deprecated, replaced by kmod)
- dhcpcd (might not be available)
- docker and docker-compose (can add back if needed via meta-virtualization)
- libseccomp (can add back if needed)
