ISO, pacote e instalador gráfico
Escolhido: base Void glibc. Proposta de implementação do instalador: Calamares personalizado (não aprovado como definitivo); void-installer como fallback. Calamares roda na sessão Live, não precisa ficar instalado no sistema final.
Pipeline reproduzível
- Definir lista de pacotes versionada e proveniência/autenticidade.
- Construir pacotes próprios com
xbps-srce repositório XBPS assinado/validado. - Criar filesystem/ISO com
void-mklive(mkiso.shrecomendado para imagem instalável). Pacotes-p, arquivos via-I, serviços específicos via-Se script de pós-setup via-x, conforme versão. - Integrar live desktop e launcher Calamares se compatibilidade XBPS comprovada.
- Testar boot Legacy + UEFI, menu recovery, sessões com/sem rede, instalação limpa e dual-boot.
- Validar checksums, versão, manifesto de dependências, SBOM/licenças e smoke test após boot.
Instalador em 6 telas
- Boas-vindas / idioma e região.
- Teclado / layout / acessibilidade.
- Disco e partições (detectar EFI/Legacy, criptografia como recurso condicional testado).
- Usuário, hostname, senha, fuso horário; nenhum login automático sem escolha explícita.
- Perfil
minimal/desktop/developer/complete; componentes offline vs downloads pós-instalação claramente identificados. - Resumo incluindo cada partição a formatar, confirmar operação destrutiva, instalação e relatório.
Precauções de particionamento
- Listar dispositivos pelo tamanho/modelo, explicar diferença entre discos; não assumir
/dev/sdae não formatar automaticamente. - Marcar explicitamente partição de boot vs dados, mostrar preview de mudanças irreversíveis e confirmações independentes.
- Durante instalação: bloquear suspensão e monitorar alimentação; permitir cancelamento somente em pontos seguros.
- Btrfs/swap/LUKS só após confirmar compatibilidade no instalador selecionado; nunca dizer que suporta opções só por aparecerem no Calamares.
- Erros de disco exigem halt, logs redigidos e instruções de recuperação.
Calamares + Void
Calamares não deve ser tratado como drop-in universal. Precisamos conferir modules, integração XBPS, bootloader, geração de fstab, usuário, fuso horário, initramfs, locales, chroot e runit. Scripts de terceiros não substituem testes de segurança.
QA da ISO
| Cenário | Esperado |
|---|---|
| QEMU BIOS | inicia live e instala em disco de teste |
| QEMU UEFI | idem com ESP correta |
| Sem internet | instala o que está incluído; não oculta downloads |
| Com internet | valida URL, checksum, erros de download |
| Falha no meio | não inicia em estado falsamente ‘instalado’ |
| Reboot pós instalação | login, Swirl, áudio/rede e XBPS OK |
| Dual boot | respeita outras partições e não apaga dados sem consentimento |
| ThinkPad E430 | boot/graphics/ACPI reais com report |
Atualizações
Atualizações da distro por XBPS, com módulo da Central para mostrar diffs e operações; não inventar sistema de auto-update paralelo. Flatpak/AppImage e binários upstream têm políticas específicas. Sem daemon geral de updates em background inicialmente.