Ich möchte, dass mein Pi Zero unter Linux schnell (unter 1 Sekunde) bootet. In diesem Fall können wir so tun, als wäre es ein eingebetteter Controller und kein vollwertiger (aber langsamer) Standardcomputer.
Haben Sie (zusätzliche) Tipps, wie Sie dieses Ziel erreichen können?
Was ich schon versucht habe:
- Verschiedene Optionen (wie Kernelparameter, benutzerdefinierte Kernel auf Standardverteilungen - Arch, Raspbian, Optimieren des Systemd-Materials usw.) - alle im Allgemeinen langsam
- Ich habe einige Ressourcen zum Ändern der Bootloader-Kette gefunden, kann sie jedoch derzeit auf dieser Ebene nicht optimieren
- Die besten Ergebnisse, die ich erzielen konnte, wurden von buildroot erzielt
Nach folgenden Regeln kann ich innerhalb von (ca.) 4 Sekunden booten, aber es ist trotzdem langsam:
- Verwenden Sie nicht initrd
- Verwenden Sie keine Module (binden Sie die erforderlichen Treiber in den Kernel ein)
- Verwenden Sie nicht mehrere Geräte (lvm)
- benutze keinen Überfall
- Verwenden Sie kein Debug
- debugfs
- Kernel-Debug (in Kernel-Hacks)
- Verwenden Sie kein PCI / PCMCIA
- Verwenden Sie kein SATA / ATA
- Verwenden Sie kein Bootup-Logo
- Verwenden Sie keine vollständige C-Bibliothek wie
glibc
- Verwenden Sie keine Größenoptimierung
- Aufbau
cmdline.txt
- Verwenden Sie keine serielle Konsole:
- löschen
console=xxx
, wobei xxx die serielle Schnittstelle ist- bearbeiten
/etc/inittab
(getty spawn)- Setup root fs Typ:
rootfstype=ext4
config.txt
- Verwenden Sie keine Startverzögerung:
boot_delay=0
- benutze keinen Regenbogen:
disable_splash=1
- Der abgesicherte Modus ist mir egal:
avoid_safe_mode=1
Antworten:
Sie können Linux von Grund auf auf dem Pi erstellen ( http://www.intestinate.com/pilfs/guide.html ). Mit einem benutzerdefinierten Kernel können Sie systemd in <1s starten.
quelle