Plataformas diversas#
Plataformas além de Debian/Ubuntu são sujeitas a suporte futuro. Abra uma issue no github para coordenação com a equipe SIMET, ou envie email para medicoes@simet.nic.br com as suas dúvidas.
Em equipamentos maiores, utilize o empacotamento debian como base. Lá estão todos os scripts necessários para os cronjobs e para iniciar os serviços simet-ma e simet-lmapd.
Para equipamentos embarcados menores (FLASH menor que 256MiB, RAM menor que 1GiB), é melhor basear-se no empacotamento OpenWRT.
Pontos chave para portar o motor de medição para outras plataformas#
-
Utilizar Busybox recente ou GNU coreutils e BASH.
O motor de medição não é compatível com a versão BSD de utilitários como sed, awk, grep, sort, e precisa do bash ou do shell do Busybox. Uma verificação simples de funcionamento pode não detectar o tipo de problema sutil que emerge do uso de versões muito antigas do busybox, etc.
-
Para versões antigas do OpenWRT (anterior ao OpenWRT 20) DEVE-SE aplicar os patches disponíveis no repositório github do SIMET, que são backports de correções críticas em diversos componentes do OpenWRT.
-
Verificar no empacotamento OpenWRT as configurações extras necessárias para o Busybox:
- SUID root (com suporte a SUID ligado no Busybox para que ele desative permissões desnecessárias);
- traceroute com ICMP;
- sha256sum e md5sum habilitados;
- long-options e opções de compatibilide ligadas, ativar vários utilitários não-padrão como o "start-stop-daemon", etc.
-
Kernel Linux LTS que não esteja em situação end-of-life. O motor de medição funciona com versões de kernel mais antigas, mas de forma degradada.
-
Compilar o simet-ma e o simet-lmapd com as opções necessárias, particularmente no caso do simet-lmapd, em que as opções padrão não são funcionais.
Exemplos de como compilar o simet-lmapd e simet-ma estão disponíveis tanto no empacotameno Debian deles (no arquivo debian/rules), quanto no empacotamento OpenwWRT (verificar os Makefile em simetbox-openwrt-feed / simetbox-openwrt-simet-ma e simetbox-openwrt-simet-lmapd).
-
Portar os scripts de inicialização e cronjob, baseado nos que existem no empacotamento Debian ou no empacotamento OpenWRT.
-
Parametrizar corretamente o motor de medição.
-
O NIC.br exige que qualquer plataforma que embarque um motor de medição SIMET possua sistema funcional de atualização remota não-assistida, tanto para o sistema operacional quanto para o motor de medição, e que a atualização automática do motor de medição seja habilitada caso o motor de medição esteja habilitado.