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
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
piCore (hecho por Tiny Core Linux) puede ir un poco más rápido.
—
lights0123