Tor ativoPT
Arquitetura — RedderOSMinimizar (voltar ao ambiente de trabalho)Fechar (voltar ao ambiente de trabalho)
// docs

Arquitetura

O RedderOS usa o kernel da distribuição base e empilha várias camadas por cima. Nenhuma escreve no disco do computador.

As camadas

  1. Kernel reforçado. O kernel Linux da base, arrancado com parâmetros restritivos e ajustado com sysctl, módulos bloqueados e AppArmor. Ver Reforço.
  2. initramfs live. O GRUB (BIOS ou UEFI) carrega o kernel e o initramfs, que monta o sistema comprimido (squashfs) a partir da pen USB e o copia para a RAM.
  3. Sistema na RAM. A raiz é um overlay em memória: tudo o que muda durante a sessão vive na RAM e desaparece ao desligar. Sem swap, registos só em memória e sem dumps.
  4. Rede Tor ou nada. A firewall é carregada antes de qualquer aplicação e só deixa sair o Tor. Ver Rede e Tor.
  5. Entrada e perfis. Um ecrã de entrada próprio abre a sessão amnésica ou um perfil cifrado de conhecimento zero. Ver Perfis.
  6. Ambiente de trabalho. Xfce com Tor Browser, terminal e o estado do sistema. Existe um modo de texto sem ambiente de trabalho.

Sequência de arranque

  1. O GRUB mostra o menu (ecrã e porta série) e arranca o kernel com os parâmetros de reforço.
  2. O initramfs (casper no Ubuntu, live-boot no Debian) monta o squashfs e, com toram, copia-o para a RAM. Não ativa nenhuma swap.
  3. O systemd levanta a rede (systemd-networkd, com MAC aleatório), a firewall (nftables), o Tor e o AppArmor.
  4. O redderos-admin decide se anon tem sudo nesta sessão.
  5. Conforme a entrada do GRUB:
    • normal: o redder-greeter abre o ecrã de entrada gráfico num servidor X próprio;
    • modo de texto: o redder-login pede nome e frase em tty1;
    • autoteste: o redderos-selftest executa as verificações e desliga.
  6. Ao entrar, o ecrã de entrada fecha-se e o ambiente de trabalho do utilizador arranca como uma sessão normal do logind, sem X com privilégios de root. Ao terminar sessão, o perfil é fechado (ou a sessão amnésica é esvaziada) e o ecrã de entrada volta.

Base e kernel do build

A ISO construída com BASE=ubuntu usa Linux 6.8, o kernel do Ubuntu 24.04 (noble), na variante linux-image-virtual. Está pensada para máquinas virtuais: arranca bem no QEMU, mas faltam-lhe controladores de hardware real, como os de Wi-Fi e de algumas placas gráficas.

O script de build admite duas bases:

BaseKernelPacoteHardware real
Ubuntu 24.04 (noble), a que foi testada6.8linux-image-virtualNão: só máquinas virtuais.
Ubuntu 24.04 (noble)6.8KERNEL_PKG=linux-image-genericSim: acrescenta controladores e firmware, mas a ISO cresce bastante.
Debian bookworm (predefinida no script)6.1 LTSlinux-image-amd64Sim: já inclui controladores de hardware real.

Para usar o RedderOS num portátil, é preciso construir a ISO com uma das duas últimas opções. Como fazê-lo, em Construir a ISO.

Onde está cada coisa

PeçaFicheiro no código do SO
Build completobuild.sh
Pacotes, utilizadores, serviçoshooks/chroot.sh, config/packages.list
Menu de arranqueconfig/grub.cfg
Firewalloverlay/etc/nftables.conf
Toroverlay/etc/tor/torrc
Reforçooverlay/etc/sysctl.d/, overlay/etc/modprobe.d/, overlay/etc/systemd/
Perfisoverlay/usr/local/sbin/redder-profile
Ecrã de entradaoverlay/usr/local/lib/redderos/greeter.py
Autotesteoverlay/usr/local/sbin/redder-selftest, tests/