Este repositório contém um pipeline de infraestrutura como código (IaC) em Bash projetado para automatizar a compilação, otimização e auditoria do Zen Kernel em sistemas Fedora Linux.
O projeto é focado em extrair a performance máxima de processadores AMD Ryzen (arquitetura Zen) através de otimizações de compilador e ajustes finos no subsistema de rede e memória.
O diretório está organizado de forma modular para facilitar a manutenção e o rollback:
-
pipeline.sh: O motor principal. Realiza o check de dependências, detecção dinâmica de hardware via gcc -march=native, configuração de flags de performance (BBR, Preempt, ZRAM) e compilação RPM.
-
check.sh: Auditoria de saúde pós-instalação. Verifica se o BBR está ativo, se o scheduler de rede é o FQ e se o driver amd-pstate e o ZRAM de 12GB foram carregados corretamente.
-
rollback.sh: Script de segurança para reverter as alterações de sysctl, limits e zram-generator para o estado padrão do sistema.
-
logs/: Diretório centralizado para rastreamento de erros e monitoramento do processo de build.
- Preparação
Clone o repositório em sua máquina local e garanta as permissões de execução:
git clone https://github.com/ettory-automation/zen-pipeline.git
cd zen-pipeline
chmod +x *.sh- Execução do Pipeline
Execute o script principal. Ele gerenciará a elevação de privilégios (sudo) automaticamente:
./pipeline.sh- Auditoria de Performance
Após o reboot, valide se as otimizações foram aplicadas com sucesso:
./check.sh| Recurso | Descrição |
|---|---|
| Compiler | Tuning Otimização -O3 com -march=native para a microarquitetura detectada. |
| Networking | Implementação de TCP BBR + FQ (Fair Queuing) para baixa latência. |
| Memory | Configuração de 12GB ZRAM com algoritmo zstd para swap eficiente. |
| CPU Scaling | Configuração do driver amd-pstate para melhor eficiência energética e clock. |
| Scheduling | Modelo de preempção Full Preempt (Low-Latency Desktop). |