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
Respuestas:
Puede construir Linux desde cero en el pi ( http://www.intestinate.com/pilfs/guide.html ). Con un kernel personalizado, puede iniciar en systemd en <1s.
fuente