Como inicializar o raspberry pi muito rapidamente no Linux?

11

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
apontador
fonte
Duvido que você consiga inicializar o Pi em aproximadamente 1 segundo.
Steve Robillard
Eu acho que o melhor que você pode conseguir é menos de 1 minuto. Se você realmente precisar de uma inicialização rápida para o aplicativo inicializar algo, tente fazer a interface de qualquer sensor com um microcontrolador e faça a instalação, mas faça com que o Pi comece a controlar o microcontrolador (em série?) Assim que ele inicializar.
Anonymoose
2
O piCore (fabricado pelo Tiny Core Linux) pode ser capaz de ir um pouco mais rápido.
lights0123

Respostas: