Comment démarrer très rapidement Raspberry Pi sous Linux?


11

J'aimerais que mon pi zero démarre rapidement (moins d'une seconde) en utilisant Linux. Dans ce cas, nous pouvons prétendre qu'il s'agit d'un contrôleur intégré et non d'un ordinateur standard (mais lent).

Avez-vous des conseils (supplémentaires) pour atteindre cet objectif?

Ce que j'ai déjà essayé:

  • diverses options (comme les paramètres du noyau, les noyaux personnalisés sur les distributions standard - arch, raspbian, réglage des trucs systemd, etc.) - tous lents en général
  • J'ai trouvé quelques ressources sur la modification de la chaîne des chargeurs de démarrage, mais actuellement je ne peux pas la modifier à ce niveau
  • les meilleurs résultats que j'ai pu atteindre ont été fournis par buildroot

En utilisant les règles suivantes, je suis en mesure de démarrer dans (environ) 4 secondes, mais tout de même, c'est lent:

  • n'utilisez pas initrd
  • n'utilisez pas de modules (intégrez les pilotes requis dans le noyau)
  • n'utilisez pas plusieurs appareils (lvm)
  • n'utilisez pas le raid
  • n'utilisez pas le débogage
    • debugfs
    • débogage du noyau (dans les hacks du noyau)
  • n'utilisez pas PCI / PCMCIA
  • n'utilisez pas SATA / ATA
  • n'utilisez pas le logo de démarrage
  • n'utilisez pas la bibliothèque C complète comme glibc
  • n'utilisez pas d'optimisation pour la taille
  • configuration
    • cmdline.txt
      • n'utilisez pas la console série:
        • supprimer console=xxx, où xxx est le port série
        • modifier /etc/inittab(Gawn spawn)
      • configuration du type fs racine: rootfstype=ext4
    • config.txt
      • n'utilisez pas le délai de démarrage: boot_delay=0
      • n'utilisez pas arc-en-ciel: disable_splash=1
      • ne se soucient pas du mode sans échec: avoid_safe_mode=1

Je doute que vous obtiendrez jamais le Pi pour démarrer n'importe où près de 1 seconde.
Steve Robillard

Je pense que le meilleur que vous puissiez obtenir est inférieur à 1 minute. Si vous avez vraiment besoin d'un démarrage rapide pour que votre application initialise quelque chose, vous pouvez essayer d'interfacer tous les capteurs à un microcontrôleur et de le faire configurer, mais demandez au Pi de commencer à contrôler le microcontrôleur (via série?) Une fois qu'il démarre.
anonymoose

2
piCore (fabriqué par Tiny Core Linux) peut aller un peu plus vite.
lights0123

Réponses:


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.