Caution
Cessate d'uccidere i morti,
Non gridate più, non gridate
Se li volete ancora udire,
Se sperate di non perire.
Hanno l'impercettibile sussurro,
Non fanno più rumore
Del crescere dell'erba,
Lieta dove non passa l'uomo.
— Giuseppe Ungaretti
Millennial civilizations and sovereign nations are being razed to the ground by the same logic of dominance that has stained human history for centuries. From the Middle East to Ukraine, we are witnessing the destruction of our common heritage. No modern ideology or national interest can justify these crimes.
Silence is complicity. Stop the massacre.
Welcome to oa-tools, born from penguins-eggs experience. This monorepo hosts a split-responsibility system designed for high-performance Linux remastering, following the "Universal Strategy" of absolute portability.
The project is divided into two distinct entities: oa (The Workhorse) and coa (The Mind).
We have transitioned to a monorepo structure to ensure perfect synchronization between the engine (oa) and the orchestrator (coa).
🦾 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.
- Building the ISO structures (ISOLINUX/UEFI).
- Interacting directly with the Linux Kernel and system binaries.
- Philosophy: Performance, stability, and zero-dependency execution.
🧠 coa (brooding in my dialect) - The brain
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.
- A Linux system (Debian-based, Arch, or Fedora).
gccandmake(foroa).golang1.21+ (forcoa).
From this root directory, simply run:
makeThis will compile both binaries:
./oa/oa(The Engine)./coa/coa(The Orchestrator)
TIP: You can create native package .deb/PKGBUILD using
coa/coa build
The oa-tools 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.
Created with passion by Piero Proietti.