Tor activoES
Arquitectura — RedderOSMinimizar (volver al escritorio)Cerrar (volver al escritorio)
// docs

Arquitectura

RedderOS usa el kernel de la distribución base y apila varias capas encima. Ninguna escribe en el disco del equipo.

Las capas

  1. Kernel endurecido. El kernel Linux de la base, arrancado con parámetros restrictivos y ajustado con sysctl, módulos bloqueados y AppArmor. Ver Endurecimiento.
  2. 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.
  3. 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.
  4. Red Tor o nada. El cortafuegos se carga antes que cualquier aplicación y solo deja salir a Tor. Ver Red y Tor.
  5. Entrada y perfiles. Una pantalla de entrada propia abre la sesión amnésica o un perfil cifrado de conocimiento cero. Ver Perfiles.
  6. Escritorio. Xfce con Tor Browser, terminal y el estado del sistema. Hay un modo texto sin escritorio.

Secuencia de arranque

  1. GRUB muestra el menú (pantalla y puerto serie) y arranca el kernel con los parámetros de endurecimiento.
  2. El initramfs (casper en Ubuntu, live-boot en Debian) monta el squashfs y, con toram, lo copia a la RAM. No activa ninguna swap.
  3. systemd levanta la red (systemd-networkd, con MAC aleatoria), el cortafuegos (nftables), Tor y AppArmor.
  4. redderos-admin decide si anon tiene sudo en esta sesión.
  5. Según la entrada de GRUB:
    • normal: redder-greeter abre la pantalla de entrada gráfica en un servidor X propio;
    • modo texto: redder-login pide nombre y frase en tty1;
    • autotest: redderos-selftest ejecuta las comprobaciones y apaga.
  6. 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:

BaseKernelPaqueteHardware real
Ubuntu 24.04 (noble), la que se ha probado6.8linux-image-virtualNo: solo máquinas virtuales.
Ubuntu 24.04 (noble)6.8KERNEL_PKG=linux-image-genericSí: añade drivers y firmware, pero la ISO crece bastante.
Debian bookworm (por defecto en el script)6.1 LTSlinux-image-amd64Sí: 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

PiezaFichero en el código del SO
Build completobuild.sh
Paquetes, usuarios, servicioshooks/chroot.sh, config/packages.list
Menú de arranqueconfig/grub.cfg
Cortafuegosoverlay/etc/nftables.conf
Toroverlay/etc/tor/torrc
Endurecimientooverlay/etc/sysctl.d/, overlay/etc/modprobe.d/, overlay/etc/systemd/
Perfilesoverlay/usr/local/sbin/redder-profile
Pantalla de entradaoverlay/usr/local/lib/redderos/greeter.py
Autotestoverlay/usr/local/sbin/redder-selftest, tests/