Eclipse Atesor™
From source to verified riscv64.
An open-source agentic framework that ports software to RISC-V. Give it a repository URL. It builds the package natively on riscv64, repairs what breaks, checks every binary, and writes a recipe that anyone can replay.
$ atesor-ai --repo https://github.com/madler/zlib --force
→ sandbox alpine-riscv64 · musl · qemu-riscv64
→ cache skipped (--force), running full pipeline
init clone + quick_analysis 0 LLM
analyst build system: autotools (0.94) 1 call
plan heuristic plan accepted 0 LLM
build ./configure && make -j4
✗ relocation truncated to fit: R_RISCV_JAL
↻ retry with -mcmodel=medany heuristic 11/16
build ok 42.6s
verify libz.so.1.3.1
ELF 64-bit LSB · UCB RISC-V · riscv64
✔ verified riscv64 · $0.0007 · recipe written
workspace/output/zlib_recipe.md
How a port runs
From source code to a verified RISC-V build, in three steps.
1Point it at source code
Give it a link to the Git repository.
2It builds and tests on RISC-V
On an emulated or a real riscv64 machine. It fixes what breaks on the way.
3It verifies the result
It checks that every binary is real riscv64 code, and writes the steps into a recipe.
Every port ends in a recipe
Each port gives back a Markdown recipe: the steps that built the package. A person or a CI job can replay it.
- Verified binariesEvery output is riscv64.
- A recipeSteps a CI job can replay.
- The patchesEach fix, as a .patch file.
- A full logEvery model call and its cost.
# zlib on alpine-riscv64
## Executive Summary
Verified riscv64 build of zlib with autotools.
## Prerequisites
apk add build-base autoconf automake libtool
## Build Instructions
./configure --prefix=/usr
make -j4
## Verification
file libz.so.1.3.1
ELF 64-bit LSB shared object, UCB RISC-V
## Known Issues & Recommendations
…Already ported
1,245 packages have riscv64 builds in the monthly releases. 1,167 of them build on both musl and glibc, and 601 ship with a cached recipe.
- zlib
- curl
- openssl
- sqlite
- git
- vim
- tmux
- htop
- jq
- yq
- lua
- zstd
- lz4
- xz
- brotli
- libpng
- libjpeg-turbo
- libwebp
- freetype
- libxml2
- libyaml
- pcre2
- libuv
- libevent
- libsodium
- mbedtls
- libssh2
- nghttp2
- c-ares
- libarchive
- snappy
- leveldb
- opus
- flac
- dav1d
- fftw3
- ripgrep
- fd
- fzf
- hugo
- lazygit
- restic
- rclone
- age
- glow
- gum
- k9s
- cjson
- jansson
- tinyxml2
- and 1,195 more
Install
You need Docker with riscv64 emulation and one LLM API key: Gemini, OpenAI, OpenRouter or Anthropic.
Debian or Ubuntu package
Download atesor-ai_0.2.0_amd64.deb from the v0.2.0 release.
sudo apt-get install ./atesor-ai_0.2.0_amd64.deb
mkdir -p ~/.config/atesor-ai
cp /opt/atesor-ai/app/.env-example ~/.config/atesor-ai/.env
atesor-ai --setup-only
atesor-ai --repo https://github.com/madler/zlib --force
From source
Python 3.10 or later, in a virtual environment.
git clone https://github.com/eclipse-atesor/atesor
cd atesor && pip install -r requirements.txt
cp .env-example .env
python3 main.py --setup-only
python3 main.py --repo https://github.com/madler/zlib --force
Built in the open
Eclipse Atesor™ is an Eclipse Foundation project in incubation, under the OpenHW Group. The code is MIT licensed, and the plans, releases and decisions are public.
- Read the docsFrom the first port to the internals.
- Ask on atesor-devThe project mailing list at the Eclipse Foundation.
- Report a package that failsGitHub issues, with the repository URL and the log.
- ContributeDevelopment setup, tests, platforms and recovery rules.
- Project pageCommitters, governance and releases at the Eclipse Foundation.