| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Isos | 2026-06-24 | ||
| Packages | 2026-06-21 | ||
| AppImage | 2026-03-21 | ||
| README.md | 2026-06-21 | 4.1 kB | |
| CHANGELOG.pdf | 2026-06-21 | 814.2 kB | |
| Totals: 5 Items | 818.4 kB | 196 |
See AI context: https://penguins-eggs.net/llms.txt
⚡ REBRANDING NOTICE
oa-tools becomes the new penguins-eggs
| Past | Present |
|---|---|
oa-tools (C/Go) |
→ penguins-eggs stable |
penguins-eggs (TypeScript) |
→ penguins-eggs (legacy) maintained |
Existing users: The legacy penguins-eggs remains supported.
Note: Package names remain unchanged for now to ensure a seamless transition.
The rebranding is officially underway.
— Piero Proietti
🥚 penguins-eggs
After years of passionate work on penguins-eggs, I am now undertaking its next evolution: oa-tools. penguins-eggs is built on oa, a high-performance C-native remastering engine, and coa, its intelligent Go orchestrator. This new architecture replaces fragile bash scripts with native Linux kernel syscalls and strict zero-copy principles — delivering a significant leap in speed and reliability. The goal is ambitious: a truly universal approach to Linux remastering. Every distribution is different, yet they all share common roots. oa-tools already supports Alpine, Arch, Debian, Fedora, Manjaro and openSUSE — and aims to prove that a single, unified engine can handle them all.
🏗 penguins-eggs (oa edition) Architecture
We have transitioned to a monorepo structure to ensure perfect synchronization between the workhorse (oa) and the orchestrator (coa).
🧠 coa (brooding in my dialect) - The Mind
It manages the full lifecycle: from laying the ISO to the final installation.
The name derives from the dialect word coa, referring to the act of brooding or incubating eggs until they are ready to hatch.
Language: Go
For coa commands, see coa command Reference.
🦾 oa (eggs in my dialect) - The Workhorse
Language: C
oa is the low-level engine. It handles the "heavy lifting" of the system:
- Managing OverlayFS and mount points.
- Executing SquashFS compression.
- Remove and create users and groups via yocto_style functions.
- Interacting directly with the Linux Kernel and system binaries.
- Philosophy: Performance, stability, and zero-dependency execution.
🚀 Getting Started
Coming from penguins-eggs? The binary is installed as both
coaandeggs— your existing commands (eggs produce,eggs kill, …) work unchanged. See the Quick Start for the full compatibility table.
Prerequisites
- A Linux system (Debian-based, Arch-based, Fedora-based or Manjaro-based).
gccandmake(foroa).golang1.25+ (forcoa).
Build Everything
From this root directory, simply run:
make
This will compile both binaries:
./oa/oa(The Engine)./coa/coa(The Orchestrator)
TIP: Actually you can get native packages, simply using
make clean package
📜 Philosophy
The penguins-eggs (oa edition) project aims to provide a "Passepartout" for Linux remastering. By separating the Mind (Go) from the Workhorse (C), we achieve a clean, maintainable, and incredibly fast workflow that can adapt to any distribution without changing the user experience.
Documentation can be found on DOCS. See also the Manifestum for the founding vision and origins.
The article eggs-bananas philosophy can be read on my blog.
Star History
This project collects stars, look to the sky... contribute!
Created with passion by Piero Proietti.
