Container images for LiteX FPGA development, published to ghcr.io/meriac/litex-dev.
| Image | Description |
|---|---|
litex-dev:<arch> |
Base LiteX development environment with Python, LiteX and standard config |
litex-dev-riscv:<arch> |
Extends litex-dev with RISC-V cross-compiler (gcc-riscv64-unknown-elf), meson and ninja |
Supported architectures: amd64, arm64
- Podman installed
- For publishing: a GitHub personal access token (see Publishing)
Pull and run the pre-built image directly:
podman run --rm -it ghcr.io/meriac/litex-dev:latestOr with a persistent workspace mounted from your host:
mkdir -p workspaces
podman run \
-h litex-dev \
--rm \
-v $PWD/workspaces:/workspaces \
-it ghcr.io/meriac/litex-dev:latestFor the RISC-V variant (includes cross-compiler, meson and ninja):
podman run \
-h litex-dev \
--rm \
-v $PWD/workspaces:/workspaces \
-it ghcr.io/meriac/litex-dev-riscv:latestNote:
make runlaunches a locally built image. You must runmake buildfirst, or usemake rebuildto build and run in one step.
Build both container images for your host architecture:
make buildLaunch an interactive shell in the locally built base container:
make runOr clean, build and run in one step:
make rebuildThe workspaces/ directory is bind-mounted into the container at /workspaces.
The build produces two images:
ghcr.io/meriac/litex-dev:<arch>fromContainerfileghcr.io/meriac/litex-dev-riscv:<arch>fromContainerfile.RISCV
To rebuild from scratch and launch:
make rebuildYou need a GitHub personal access token (classic) with the following scopes:
write:packages— push container images to GitHub Container Registryread:packages— pull private container imagesdelete:packages— (optional) remove old image versions
Generate one at github.com/settings/tokens and add it to ~/.bashrc to avoid passing it on every login:
export CR_PAT=<your-token>Then login to the GitHub Container Registry:
make loginPush the images:
make publishAfter building and publishing images on both amd64 and arm64 hosts, create and push a multi-arch manifest:
make manifestThis creates a latest tag that resolves to the correct architecture automatically.
| Target | Description |
|---|---|
make status |
Show image layer tree |
make version |
Print the full image name |
make clean |
Remove built images |
make clean_all |
Remove all containers and prune podman storage |
Apache 2.0 - see LICENSE