Como o Sagui Linux foi feito
🤖 Criado 100% por IA · Claude Opus 5.5
Um sistema operacional inteiro compilado do código-fonte, em duas fases, por um agente de IA (Claude Opus 5.5) seguindo os livros do Linux From Scratch — com cada passo, erro e correção registrado.
Vídeo do processo em breve
Acompanhe o canal: youtube.com/@EliRigobeliAI
Os livros
A ideia
Distribuições como Ubuntu ou Fedora entregam milhares de pacotes já compilados. O Linux From Scratch (LFS) faz o caminho contrário: é um livro que ensina a construir um sistema Linux a partir do código-fonte, começando por um compilador temporário e terminando num sistema completo e independente. O Beyond Linux From Scratch (BLFS) continua de onde o LFS para: rede, servidor gráfico, desktops, navegadores.
O desafio deste projeto foi entregar o trabalho inteiro a um agente de IA — o Claude Opus 5.5 (Anthropic), rodando no Claude Code num servidor virtual Linux — e acompanhar tudo de fora, por documentação e por um painel de progresso. Eli Rigobeli escreveu o documento de requisitos da primeira fase, tomou as decisões de produto e testou o resultado em hardware real.
Como o trabalho foi organizado
- PRD (documento de requisitos). Define o objetivo, o ambiente, as regras (seguir o livro, nenhum binário copiado do sistema hospedeiro, documentar tudo) e os critérios de aceite. Na Fase 1 foi escrito pelo Eli; na Fase 2, pelo próprio agente, a partir de uma conversa.
- Histórias (marcos). O trabalho foi dividido em 13 histórias por fase, cada uma com objetivo, passos, critério de aceite, peso no progresso e link para os logs.
- Scripts a partir do livro. O agente extraiu os comandos do HTML do livro para scripts, revisou cada um, e montou "planos" de build. Um driver idempotente compila um pacote por vez, guarda o log completo e marca o que já terminou — se algo quebra, retoma dali.
- Loops. Um loop de execução avança pelos planos; um loop de monitoramento só verifica a cada minuto se o build terminou (sem ler a saída do compilador); um loop de correção lê só o trecho do log com o erro, corrige, registra e tenta de novo.
- Documentação contínua. Diário cronológico, registro de erros (sintoma, causa, correção), decisões técnicas,
STATUS.mde um painel HTML atualizado a cada pacote. - Testes automáticos. Cada ISO foi ligada em máquinas virtuais (QEMU) em BIOS, UEFI e como pendrive USB; um script faz login, roda comandos e, na Fase 2, tira capturas de tela do desktop e do Firefox, que o agente analisa.
- Teste humano. O único passo manual: gravar o pendrive e ligar num notebook de verdade.
Linha do tempo
Início da Fase 1. O agente lê o PRD, prepara o servidor, baixa o livro LFS 12.4 e os 94 pacotes (um espelho estava fora do ar; usou o espelho oficial do LFS).
Toolchain cruzada e ferramentas temporárias (capítulos 5 a 7): compilador e biblioteca C construídos em etapas até o sistema poder compilar a si mesmo, dentro do chroot.
Sistema base (capítulo 8): 80 pacotes, com as suítes de teste críticas da glibc, binutils e GCC — só os testes do GCC levaram mais de 2 horas.
Configuração, kernel, live e ISO. Kernel 6.16 com drivers embutidos, initramfs próprio, squashfs e ISO híbrida. Testes em QEMU: BIOS, UEFI e pendrive.
Eli confirma o boot num notebook real. Gravado com o Rufus, não funcionou; com o balenaEtcher, sim. Fase 1 em 100%.
Início da Fase 2. Eli pede interface gráfica XFCE, Firefox, nome "Sagui Linux" e arte com as cores do Brasil. O agente escreve o PRD, lê as 857 páginas do BLFS e calcula a árvore de dependências.
Identidade visual gerada com o Higgsfield (Recraft V4.1): mascote, logotipo e papel de parede — cerca de 18 créditos.
Pilha gráfica: Xorg, LLVM e Mesa, GTK 3, XFCE, som, Node.js, Rust e Firefox — 133 passos de build.
Kernel com o logo do Sagui no boot, integração e ISO. No primeiro teste o XFCE não abriu (captura de tela mostrou o motivo); corrigido, os três testes passaram com desktop e Firefox.
Eli confirma o Sagui Linux 2.0 em hardware real. Fase 2 em 100%.
Fase 1 — edição de terminal 1.0 (LFS)
Histórias
"Tempo de compilação" soma a duração registrada nos logs de cada passo. Histórias de preparação, testes e entrega não têm passos de build.
Os passos mais demorados
Erros encontrados e como foram corrigidos
Semente Linux 1.0 (LFS 12.4) - ttyS0 semente login: root -bash-5.3# uname -a Linux semente 6.16.1-semente #1 SMP PREEMPT_DYNAMIC x86_64 GNU/Linux -bash-5.3# gcc --version gcc (GCC) 15.2.0 -bash-5.3# cat /etc/os-release NAME="Semente Linux" VERSION="1.0 (fase1)" PRETTY_NAME="Semente Linux 1.0 (LFS 12.4, live)"
Fase 2 — Sagui Linux 2.0 (BLFS + XFCE)
Histórias
Os passos mais demorados
Erros encontrados e como foram corrigidos

Decisões que valem a pena conhecer
Hardware genérico
O servidor de build tinha um processador AMD EPYC moderno. Bibliotecas como GMP e libffi, por padrão, se otimizam para a CPU onde são compiladas — e o sistema travaria num PC antigo. O agente usou as opções genéricas que o próprio livro indica.
Recomendadas sob medida
Seguir todas as dependências "recomendadas" do BLFS puxaria 281 pacotes (LibreOffice, Qt 6, GTK 4…). O agente escolheu à mão as que importam para um desktop leve: ~120 pacotes.
Firefox sem a marca oficial
O livro avisa que o Firefox compilado com a marca oficial não pode ser redistribuído. Como a ISO é distribuída, ele foi compilado com a marca genérica do código-fonte (aparece como "Nightly").
Live em RAM
Um initramfs próprio, feito só com programas do próprio sistema, procura o pendrive, monta o sistema compactado e cria uma camada gravável na memória. Funciona tanto como CD quanto gravado byte a byte num pendrive.
Sem drivers que exigem firmware
Placas AMD modernas precisam de firmware proprietário; sem ele a tela fica preta. Nesta versão elas usam o vídeo genérico, que sempre funciona.
Arte com IA, com parcimônia
Mascote, logo e wallpaper foram gerados no Higgsfield com 5 imagens no total. O logo virou também o logo de boot do kernel (no lugar do pinguim) e o fundo do menu do GRUB.
Arte do projeto


O que aprender com isso
- Um sistema Linux é, no fundo, um conjunto de programas independentes que se encaixam: o kernel, a biblioteca C, as ferramentas GNU, o sistema de inicialização — e, por cima, o servidor gráfico e o desktop.
- A ordem importa: muitos erros vieram de um pacote compilado antes de uma dependência opcional que outro pacote, mais adiante, considerava obrigatória.
- Documentar cada erro transforma tentativa e erro em conhecimento — está tudo nesta página.
Quer tentar? Comece pelo livro Linux From Scratch — ele é gratuito e muito bem explicado.