Estou projetando um sistema operacional Buildroot personalizado mínimo para o RPi0w. Minha iteração atual leva muito tempo para inicializar completamente - vários minutos com um 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 faminto por entropia - ele tem que esperar muito tempo para obter ruído suficiente antes de inicializar.
Eu gostaria de instalar rng-tools
para fornecer a entropia extra necessária, mas não tenho certeza de como configurá-la no Buildroot.
Procurando por alguém que 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 gerador aleatório embutido do Raspberry Pi, etc.
Simplesmente selecionando
rng-tools
(em Target Packages -> Hardware Handling no menu Buildroot menuconfig) e executandomake
o problema completamente corrigido. Buildroot adicionou automaticamente umS21rngd
arquivo/etc/init.d/
. Meu sistema agora inicia em cerca de 4 segundos sem dispositivos de entrada conectados.