Estou projetando um sistema operacional incorporado Buildroot personalizado mínimo para o RPi0w. Minha iteração atual leva muito tempo para inicializar completamente - vários minutos com teclado e mouse conectados e dezenas de minutos sem dispositivos de entrada. Ele trava por um longo tempo e finalmente exibe a mensagem:
random: crng init done
É um sistema embarcado sem placa de som ou dispositivos de entrada, então presumo que o gerador de números aleatórios esteja carente de entropia - ele precisa esperar muito tempo para obter ruído suficiente antes de inicializar.
Gostaria de instalar rng-tools
para fornecer a entropia extra necessária, mas não tenho certeza de como configurá-la no Buildroot.
Procurando alguém que já tenha feito isso antes no Buildroot que possa oferecer assistência sobre quais arquivos de configuração são necessários, como/quando iniciar rngd
(estou usando scripts /etc/init.d simples), quais módulos do kernel precisam ser carregados para usar o gerador aleatório integrado do Raspberry Pi, etc.
Responder1
Simplesmente selecionar rng-tools
(em Target Packages -> Hardware Handling no menuconfig Buildroot) e executar make
resolveu completamente o problema. Buildroot adicionou automaticamente um S21rngd
arquivo /etc/init.d/
. Meu sistema agora inicia em cerca de 4 segundos sem nenhum dispositivo de entrada conectado.