¿Cómo iniciar Raspberry Pi muy rápidamente en Linux?

11

Me gustaría que mi pi zero se inicie rápidamente (menos de 1 segundo) usando Linux. En ese caso, podemos pretender que es un controlador integrado y no una computadora estándar completa (pero lenta).

¿Tiene algún consejo (adicional) sobre cómo lograr este objetivo?

Lo que ya he probado:

  • varias opciones (como parámetros del kernel, kernels personalizados en distribuciones estándar - arch, raspbian, ajuste de las cosas del sistema, etc.) - todo es lento en general
  • He encontrado algunos recursos para alterar la cadena de cargadores de arranque, pero actualmente no puedo modificarlo a este nivel
  • buildroot me proporcionó los mejores resultados que pude alcanzar

Usando las siguientes reglas, puedo arrancar en (aproximadamente) 4 segundos, pero aún así, es lento:

  • no uses initrd
  • no use módulos (incrustar los controladores necesarios en el núcleo)
  • no use múltiples dispositivos (lvm)
  • no uses incursiones
  • no uses depuración
    • debugfs
    • depuración de kernel (en hacks de kernel)
  • no use PCI / PCMCIA
  • no use SATA / ATA
  • no uses el logo de arranque
  • no use la biblioteca C completa como glibc
  • no use la optimización para el tamaño
  • configuración
    • cmdline.txt
      • no use la consola en serie:
        • eliminar console=xxx, donde xxx es el puerto serie
        • editar /etc/inittab(engendrar getty)
      • configurar el tipo de raíz fs: rootfstype=ext4
    • config.txt
      • no use el retraso de arranque: boot_delay=0
      • no uses el arcoiris: disable_splash=1
      • no me importa el modo seguro: avoid_safe_mode=1
sacapuntas
fuente
Dudo que alguna vez consigas que el Pi arranque en cualquier lugar cerca de 1 segundo.
Steve Robillard
Creo que lo mejor que puedes obtener es menos de 1 minuto. Si realmente necesita un inicio rápido para que su aplicación inicialice algo, puede intentar conectar cualquier sensor a un microcontrolador y hacer que haga la configuración, pero luego haga que Pi comience a controlar el microcontrolador (¿en serie?) Una vez que se inicie.
anonymoose
2
piCore (hecho por Tiny Core Linux) puede ir un poco más rápido.
lights0123

Respuestas: