Construir a ISO
Toda a ISO sai de um único script, build.sh, que produz uma imagem híbrida (BIOS + UEFI) pronta
a gravar numa pen USB.
Requisitos
- Um Linux com root: Ubuntu 24.04 ou Debian 12. No Windows, use o WSL2 ou uma máquina virtual.
- Ligação à Internet para transferir os pacotes.
- Vários GB livres para o sistema de trabalho (
work/).
sudo apt install debootstrap squashfs-tools xorriso grub-pc-bin grub-efi-amd64-bin mtoolsConstruir
A partir da pasta do SO:
sudo ./build.sh # base Debian bookworm (por defecto)
sudo BASE=ubuntu ./build.sh # base Ubuntu noble (la que se ha probado)Resultado em out/:
redderos-<base>-amd64.iso: a imagem.redderos-<base>-amd64.iso.sha256: o respetivo SHA-256.
O que o script faz
- Sistema base. O
debootstrapcria um sistema mínimo (--variant=minbase) emwork/rootfs. Se já existir, é reutilizado. - Overlay. Copia
overlay/sobre a raiz: firewall, Tor, sysctl, systemd e os scripts próprios. - Chroot. O
hooks/chroot.shinstala o kernel, o sistema live e os pacotes deconfig/packages.list; configura o idioma e o teclado (espanhol), o ambiente de trabalho, os utilizadores e os serviços, e regenera o initramfs. - squashfs. Comprime a raiz com xz.
- GRUB. Preenche
config/grub.cfgcom os parâmetros de reforço e gera as somasmd5sum.txtesha256sum.txtde cada ficheiro. - ISO. O
grub-mkrescuecria a imagem (etiquetaREDDEROS) e o respetivo SHA-256.
Variáveis
| Variável | Predefinição | Para quê |
|---|---|---|
BASE | debian | debian ou ubuntu. |
SUITE | bookworm / noble | Versão da distribuição base. |
MIRROR | deb.debian.org / archive.ubuntu.com | Espelho de pacotes. |
KERNEL_PKG | linux-image-amd64 / linux-image-virtual | Pacote do kernel. Com Ubuntu, linux-image-generic para hardware real. |
WORK | ./work | Pasta de trabalho. |
ISO_NAME | redderos-<base>-amd64 | Nome da ISO, sem extensão. |
GRUB_DEFAULT | 0 | Entrada predefinida do GRUB (3 = autoteste). |
ISO_ONLY | — | Com 1, reutiliza a raiz já configurada e só regenera a imagem. |
Exemplos:
# Ubuntu con drivers de hardware real
sudo BASE=ubuntu KERNEL_PKG=linux-image-generic ./build.sh
# Regenerar solo la imagen tras cambiar grub.cfg
sudo BASE=ubuntu ISO_ONLY=1 ./build.shPersonalizar
- Pacotes: acrescente ou retire linhas em
config/packages.list(as que começam por#são ignoradas). - Ficheiros do sistema: tudo o que puser em
overlay/é copiado tal e qual sobre/. - Menu de arranque:
config/grub.cfg.@LIVE@,@BOOT@e@HARDEN@são substituídos pelo script. - Perfis: o número de ranhuras e o custo do Argon2id estão em
overlay/etc/redderos/profiles.conf.
Gravar e testar
sudo dd if=out/redderos-ubuntu-amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync
qemu-system-x86_64 -m 3G -enable-kvm -cdrom out/redderos-ubuntu-amd64.isoAntes de publicar uma ISO, passe o autoteste: ver Autoteste.