Neonatox

Como o Neonatox foi construído

Não é um tutorial. É a história de como um sistema operacional passou de zero a funcional.

O Neonatox não nasceu de um download. Nasceu de compilar cada pacote, uma vez, à mão, entendendo o que era necessário para o próximo funcionar. Esta é essa história.

O ponto zero

Tudo começou com uma pergunta: o que há dentro do Linux?

Não havia Neonatox. Não havia pacotes. Apenas Linux From Scratch (LFS) como base e a decisão de que systemd seria o init. Sem chroot, sem abstrações. Apenas o livro LFS e horas de compilação.

Toolchain: o compilador que se compila a si mesmo

A primeira coisa construída em LFS é o que constrói tudo o mais.

  • Binutils - montador e linker
  • GCC (apenas C) - compilador mínimo
  • Linux API Headers - interface do kernel
  • Glibc - a biblioteca padrão C
  • GCC completo - agora pode se compilar

No final desta fase, em /tools vivia um compilador capaz de construir qualquer coisa para Linux. Era a semente de tudo.

Sistema base: ferramentas essenciais

Com o toolchain pronto, compilou-se tudo que é preciso para um sistema usável.

  • M4, Ncurses, Bash, Coreutils, Diffutils...
  • GMP, MPFR, MPC (matemática para GCC)
  • Perl, Python3, Findutils, Gawk
  • Gettext, Bison, Flex (ferramentas de desenvolvimento)
  • file, grep, sed, gzip, tar

Cada pacote foi configurado, compilado e instalado à mão. Cada flag, cada opção, foi uma decisão consciente.

Init, rede e bootloader

O sistema que inicia. systemd, kernel, GRUB.

  • Systemd - init, serviços, logging
  • Linux Kernel 6.x - compilação customizada
  • GRUB2 - bootloader BIOS/UEFI
  • dhcpcd ou systemd-networkd

Neste ponto, o sistema iniciava. Você podia fazer login, tinha rede. Tinha um nome: LFS. Agora precisava se tornar Neonatox.

nhopkg: o gerenciador de pacotes próprio

De LFS para Neonatox: precisava de um gerenciador que ensina.

nhopkg não apenas instala pacotes. Cada pacote é um documento. O arquivo nhoid contém metadados, dependências, scripts de build.

O primeiro repositório foi configurado: /var/lib/nhopkg/extra com pacotes base do sistema. A cadeia fechou: agora o sistema podia instalar mais software usando a si mesmo.

O ecossistema: Live Boot + Installer

Um sistema que não pode ser distribuído não serve.

  • neonatox-live-boot - gera ISOs com SquashFS
  • neonatox-installer - instala o sistema em disco

Com o ISO gerado e instalador funcionando, o Neonatox podia viver em um USB e se replicar para outras máquinas.

E os pacotes?

Cada pacote do Neonatox tem duas partes:

.nhoid

Metadados do pacote fonte. Contém script de build (nbuild), instalação (ninstall), dependências e versionamento. É um arquivo de texto que documenta como construir o pacote.

.nho

Pacote binário pronto para instalar. Arquivo comprimido com arquivos + metadados + scripts pós-install. O que realmente é instalado no sistema.

O resultado: Um sistema construído do zero, onde cada pacote foi decisão consciente, onde o gerenciador não esconde mas ensina, onde boot não é magia mas código visível.

Não é o único caminho. Mas é o nosso.