Building & Development: Compilare e sviluppare Eggs
La natura ibrida di penguins-eggs — divisa tra il motore di orchestrazione in Go (coa / ell) e il sottosistema nativo a basso livello in C (oa) — richiede un ambiente di sviluppo pulito e strutturato.
Questa guida descrive i prerequisiti e le procedure per clonare, compilare e testare il codice sorgente direttamente dai repository ufficiali.
1. Prerequisiti di sistema
Per compilare l'intera catena di montaggio (coa e oa), assicurati di avere installati sul tuo sistema di sviluppo i seguenti strumenti:
- Go (versione recente, raccomandata 1.21 o superiore)
- Build-essential (compilatore GCC, Make e librerie di sviluppo C)
- Git per il controllo versione
- Librerie di sviluppo per la gestione dei file system e delle compressioni (es.
squashfs-tools,genisoimageoxorriso)
Su una base Debian/Ubuntu, puoi predisporre l'ambiente con:
sudo apt update
sudo apt install build-essential golang git squashfs-tools xorriso
2. Clonazione dei repository
Il progetto è suddiviso nei moduli principali dell'ecosistema. Clona il repository principale di eggs:
git clone [https://github.com/pieroproietti/penguins-eggs.git](https://github.com/pieroproietti/penguins-eggs.git)
cd penguins-eggs
3. Compilazione dei componenti (Go + C)
L'architettura richiede la compilazione sia della parte in Go (coa) che del modulo nativo in C (oa):
-
Compilazione del sottosistema in C (
oa): Entra nella directory dedicata al modulo C e compila il binario nativo:cd src/oamakesudo make installcd ../.. -
Compilazione dell'orchestratore in Go (
coa): Utilizza i comandi Go standard per compilare l'esecutore principale:go build -o eggs main.go
4. Test e installazione locale
Una volta compilati i binari, puoi testare il corretto funzionamento dell'ambiente di sviluppo richiamando direttamente lo status locale:
sudo ./eggs
Per installare la versione di sviluppo nel sistema (sostituendo o affiancando quella di produzione per i test sul campo):
sudo make install
Questa procedura assicura che la Mente (coa) e il Braccio (oa) siano perfettamente sincronizzati e pronti per eseguire la remastering chain.