Gostaria que meu pi zero inicializasse rapidamente (menos de 1 segundo) usando Linux. Nesse caso, podemos fingir que é um controlador incorporado e não um computador completo (mas lento) padrão.
Você tem alguma dica (adicional) de como atingir esse objetivo?
O que eu já tentei:
- várias opções (como parâmetros do kernel, kernels personalizados nas distribuições std. - arch, raspbian, ajustando as coisas do systemd etc.) - tudo lento em geral
- Encontrei alguns recursos para alterar a cadeia de gerenciadores de inicialização, mas atualmente não consigo ajustá-la nesse nível
- os melhores resultados que consegui alcançar foram fornecidos pelo buildroot
Usando as regras a seguir, sou capaz de inicializar em (aproximadamente) 4 segundos, mas ainda assim, é lento:
- não use initrd
- não use módulos (incorpore os drivers necessários ao kernel)
- não use vários dispositivos (lvm)
- não use ataque
- não use debug
- debugfs
- depuração do kernel (em hacks do kernel)
- não use PCI / PCMCIA
- não use SATA / ATA
- não use o logotipo de inicialização
- não use a biblioteca C completa, como
glibc
- não use otimização para tamanho
- configuração
cmdline.txt
- não use o console serial:
- delete
console=xxx
, onde xxx é a porta serial- editar
/etc/inittab
(desova de getty)- raiz do setup fs type:
rootfstype=ext4
config.txt
- não use o atraso de inicialização:
boot_delay=0
- não use arco-íris:
disable_splash=1
- não se preocupe com o modo de segurança:
avoid_safe_mode=1
Respostas:
Você pode construir o linux do zero no pi ( http://www.intestinate.com/pilfs/guide.html ). Com um kernel personalizado, você pode inicializar no systemd em <1s.
fonte