Arquitectura
RedderOS utilitza el nucli de la distribució base i hi apila diverses capes a sobre. Cap no escriu al disc de l'ordinador.
Les capes
- Nucli enfortit. El nucli Linux de la base, arrencat amb paràmetres restrictius i ajustat amb sysctl, mòduls bloquejats i AppArmor. Vegeu Enfortiment.
- initramfs live. GRUB (BIOS o UEFI) carrega el nucli i l'initramfs, que munta el sistema comprimit (squashfs) des del USB i el copia a la RAM.
- Sistema a la RAM. L'arrel és un overlay en memòria: tot el que canvia durant la sessió viu a la RAM i desapareix en apagar. Sense swap, registres només en memòria i sense bolcats.
- Xarxa Tor o res. El tallafoc es carrega abans que qualsevol aplicació i només deixa sortir Tor. Vegeu Xarxa i Tor.
- Entrada i perfils. Una pantalla d'entrada pròpia obre la sessió amnèsica o un perfil xifrat de coneixement zero. Vegeu Perfils.
- Escriptori. Xfce amb Tor Browser, terminal i l'estat del sistema. Hi ha un mode text sense escriptori.
Seqüència d'arrencada
- GRUB mostra el menú (pantalla i port sèrie) i arrenca el nucli amb els paràmetres d'enfortiment.
- L'initramfs (
caspera Ubuntu,live-boota Debian) munta el squashfs i, ambtoram, el copia a la RAM. No activa cap swap. - systemd aixeca la xarxa (
systemd-networkd, amb MAC aleatòria), el tallafoc (nftables), Tor i AppArmor. redderos-admindecideix sianontésudoen aquesta sessió.- Segons l'entrada de GRUB:
- normal:
redder-greeterobre la pantalla d'entrada gràfica en un servidor X propi; - mode text:
redder-logindemana el nom i la frase atty1; - autotest:
redderos-selftestexecuta les comprovacions i apaga.
- normal:
- En entrar, la pantalla d'entrada es tanca i l'escriptori de l'usuari arrenca com una sessió normal
de
logind, sense X amb privilegis de root. En tancar la sessió, es tanca el perfil (o es buida la sessió amnèsica) i torna la pantalla d'entrada.
Base i nucli de la compilació
La ISO construïda amb BASE=ubuntu utilitza Linux 6.8, el nucli d'Ubuntu 24.04 (noble), en la
variant linux-image-virtual. Està pensada per a màquines virtuals: arrenca bé a QEMU, però li falten
controladors de maquinari real, com els de la wifi i algunes targetes gràfiques.
L'script de compilació admet dues bases:
| Base | Nucli | Paquet | Maquinari real |
|---|---|---|---|
| Ubuntu 24.04 (noble), la que s'ha provat | 6.8 | linux-image-virtual | No: només màquines virtuals. |
| Ubuntu 24.04 (noble) | 6.8 | KERNEL_PKG=linux-image-generic | Sí: afegeix controladors i microprogramari, però la ISO creix força. |
| Debian bookworm (per defecte a l'script) | 6.1 LTS | linux-image-amd64 | Sí: ja inclou controladors de maquinari real. |
Per a utilitzar RedderOS en un portàtil cal construir la ISO amb una de les dues últimes opcions. Com fer-ho, a Construir la ISO.
On és cada cosa
| Peça | Fitxer al codi del SO |
|---|---|
| Compilació completa | build.sh |
| Paquets, usuaris, serveis | hooks/chroot.sh, config/packages.list |
| Menú d'arrencada | config/grub.cfg |
| Tallafoc | overlay/etc/nftables.conf |
| Tor | overlay/etc/tor/torrc |
| Enfortiment | overlay/etc/sysctl.d/, overlay/etc/modprobe.d/, overlay/etc/systemd/ |
| Perfils | overlay/usr/local/sbin/redder-profile |
| Pantalla d'entrada | overlay/usr/local/lib/redderos/greeter.py |
| Autotest | overlay/usr/local/sbin/redder-selftest, tests/ |