Construir la ISO
Toda la ISO sale de un solo script, build.sh, que produce una imagen híbrida (BIOS + UEFI) lista
para grabar en un USB.
Requisitos
- Un Linux con root: Ubuntu 24.04 o Debian 12. En Windows, usa WSL2 o una máquina virtual.
- Conexión a Internet para descargar los paquetes.
- Varios GB libres para el sistema de trabajo (
work/).
sudo apt install debootstrap squashfs-tools xorriso grub-pc-bin grub-efi-amd64-bin mtoolsConstruir
Desde la carpeta del SO:
sudo ./build.sh # base Debian bookworm (por defecto)
sudo BASE=ubuntu ./build.sh # base Ubuntu noble (la que se ha probado)Resultado en out/:
redderos-<base>-amd64.iso: la imagen.redderos-<base>-amd64.iso.sha256: su SHA-256.
Qué hace el script
- Sistema base.
debootstrapcrea un sistema mínimo (--variant=minbase) enwork/rootfs. Si ya existe, se reutiliza. - Overlay. Copia
overlay/sobre la raíz: cortafuegos, Tor, sysctl, systemd y los scripts propios. - Chroot.
hooks/chroot.shinstala el kernel, el sistema live y los paquetes deconfig/packages.list; configura idioma y teclado (español), el escritorio, los usuarios y los servicios, y regenera el initramfs. - squashfs. Comprime la raíz con xz.
- GRUB. Rellena
config/grub.cfgcon los parámetros de endurecimiento y genera las sumasmd5sum.txtysha256sum.txtde cada fichero. - ISO.
grub-mkrescuecrea la imagen (etiquetaREDDEROS) y su SHA-256.
Variables
| Variable | Por defecto | Para qué |
|---|---|---|
BASE | debian | debian o ubuntu. |
SUITE | bookworm / noble | Versión de la distribución base. |
MIRROR | deb.debian.org / archive.ubuntu.com | Réplica de paquetes. |
KERNEL_PKG | linux-image-amd64 / linux-image-virtual | Paquete del kernel. Con Ubuntu, linux-image-generic para hardware real. |
WORK | ./work | Carpeta de trabajo. |
ISO_NAME | redderos-<base>-amd64 | Nombre de la ISO, sin extensión. |
GRUB_DEFAULT | 0 | Entrada de GRUB por defecto (3 = autotest). |
ISO_ONLY | — | Con 1, reutiliza la raíz ya configurada y solo regenera la imagen. |
Ejemplos:
# 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
- Paquetes: añade o quita líneas en
config/packages.list(las que empiezan por#se ignoran). - Ficheros del sistema: todo lo que pongas en
overlay/se copia tal cual sobre/. - Menú de arranque:
config/grub.cfg.@LIVE@,@BOOT@y@HARDEN@los sustituye el script. - Perfiles: el número de huecos y el coste de Argon2id están en
overlay/etc/redderos/profiles.conf.
Grabar y probar
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 una ISO, pasa el autotest: ver Autotest.