Arquitectura
RedderOS usa el kernel de la distribución base y apila varias capas encima. Ninguna escribe en el disco del equipo.
Las capas
- Kernel endurecido. El kernel Linux de la base, arrancado con parámetros restrictivos y ajustado con sysctl, módulos bloqueados y AppArmor. Ver Endurecimiento.
- initramfs live. GRUB (BIOS o UEFI) carga el kernel y el initramfs, que monta el sistema comprimido (squashfs) desde el USB y lo copia a la RAM.
- Sistema en RAM. La raíz es un overlay en memoria: todo lo que cambia durante la sesión vive en la RAM y desaparece al apagar. Sin swap, logs solo en memoria y sin volcados.
- Red Tor o nada. El cortafuegos se carga antes que cualquier aplicación y solo deja salir a Tor. Ver Red y Tor.
- Entrada y perfiles. Una pantalla de entrada propia abre la sesión amnésica o un perfil cifrado de conocimiento cero. Ver Perfiles.
- Escritorio. Xfce con Tor Browser, terminal y el estado del sistema. Hay un modo texto sin escritorio.
Secuencia de arranque
- GRUB muestra el menú (pantalla y puerto serie) y arranca el kernel con los parámetros de endurecimiento.
- El initramfs (
casperen Ubuntu,live-booten Debian) monta el squashfs y, contoram, lo copia a la RAM. No activa ninguna swap. - systemd levanta la red (
systemd-networkd, con MAC aleatoria), el cortafuegos (nftables), Tor y AppArmor. redderos-admindecide sianontienesudoen esta sesión.- Según la entrada de GRUB:
- normal:
redder-greeterabre la pantalla de entrada gráfica en un servidor X propio; - modo texto:
redder-loginpide nombre y frase entty1; - autotest:
redderos-selftestejecuta las comprobaciones y apaga.
- normal:
- Al entrar, la pantalla de entrada se cierra y el escritorio del usuario arranca como una sesión
normal de
logind, sin X con privilegios de root. Al cerrar sesión, se cierra el perfil (o se vacía la sesión amnésica) y vuelve la pantalla de entrada.
Base y kernel del build
La ISO construida con BASE=ubuntu usa Linux 6.8, el kernel de Ubuntu 24.04 (noble), en la
variante linux-image-virtual. Está pensada para máquinas virtuales: arranca bien en QEMU, pero le
faltan drivers de hardware real, como los de Wi-Fi y algunas tarjetas gráficas.
El script de build admite dos bases:
| Base | Kernel | Paquete | Hardware real |
|---|---|---|---|
| Ubuntu 24.04 (noble), la que se ha probado | 6.8 | linux-image-virtual | No: solo máquinas virtuales. |
| Ubuntu 24.04 (noble) | 6.8 | KERNEL_PKG=linux-image-generic | Sí: añade drivers y firmware, pero la ISO crece bastante. |
| Debian bookworm (por defecto en el script) | 6.1 LTS | linux-image-amd64 | Sí: ya incluye drivers de hardware real. |
Para usar RedderOS en un portátil hay que construir la ISO con una de las dos últimas opciones. Cómo hacerlo, en Construir la ISO.
Dónde está cada cosa
| Pieza | Fichero en el código del SO |
|---|---|
| Build completo | build.sh |
| Paquetes, usuarios, servicios | hooks/chroot.sh, config/packages.list |
| Menú de arranque | config/grub.cfg |
| Cortafuegos | overlay/etc/nftables.conf |
| Tor | overlay/etc/tor/torrc |
| Endurecimiento | overlay/etc/sysctl.d/, overlay/etc/modprobe.d/, overlay/etc/systemd/ |
| Perfiles | overlay/usr/local/sbin/redder-profile |
| Pantalla de entrada | overlay/usr/local/lib/redderos/greeter.py |
| Autotest | overlay/usr/local/sbin/redder-selftest, tests/ |