Pi 3 Bootzeit optimieren

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich habe ein Pi3 mit Rasbian und einem 5" Touch-Display am laufen und möchte dieses System als Bedieneinheit für eine Antennenanlage betreiben.
    Auf dem System läuft lediglich auf der GUI ein Programm das ein paar UDP Pakete über LAN hin und her schiebt. :)

    Als Grundlage habe ich Rasbian installiert, das Display eingerichtet incl touch und alle nicht benötigten Programme deinstalliert.
    Des weiteren habe ich BT und WLAN deaktiviert - so dass deren Treiber nicht geladen werden.

    Momentan benötigt das System ca 24sec zum Boot bis in die GUI.
    Wo könnte noch Optimierungspotential bezüglich Bootzeit sein ?

    Als Display verwende ich das Display [Anzeige]

    Es funktioniert recht gut - aber der Blickwinkel ist nicht so toll - kennt jemand was besseres in 5" ?
    7" ist zu groß - dann Passt es nicht mehr in meinen 19"-Einschub.

    Gruß Frank


  • Momentan benötigt das System ca 24sec zum Boot bis in die GUI.
    Wo könnte noch Optimierungspotential bezüglich Bootzeit sein ?

    Siehe z. B. im Terminal, die Ausgaben von:

    Code
    systemd-analyze time


    und von:

    Code
    systemd-analyze blame

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • ... danke für den Tip.

    lightdm.service ist mit 4,6 sec mit Abstand der größte Zeitabschnitt - alles andere nur im ms Bereich.

    Kann man am Desktopmanager noch was rausquetschen ?

    Gruß Frank

  • ... hmm Frage(n)

    1. wenn ich lightdm ganz rausnehme funst dann noch die GUI ?
    2. wie heißt das Paket von lightdm - kann ich das einfach so apt-get remove machen ?
    3. wei heißt das paket für nodm ?

    Danke

    Gruß Frank

  • In umgekehrter Reihenfolge:

    3. Überraschenderweise: nodm ;) Tip: "apt-cache search <Name>" findet Pakete, die zu einer Software gehören.
    2. Findest Du per "apt-cache search lightdm" ;) Du kannst das sicherlich per "apt-get remove" deinstallieren, musst Du aber nicht. Wenn Du nodm konfiguriert hast, startet der statt lightdm.
    1. Jein. Ich hatte Dich so verstanden, daß Du große Teile der GUI (Desktop, Taskbar, etc.) gar nicht brauchst, sondern nur Dein Programm starten willst. Das geht mit nodm, dafür ist es gedacht und so nutze ich es auch. Wenn ich Dich da falsch verstanden habe, ignorier einfach meinen Vorschlag.


  • ....
    mindestens 70 MB/s sollte sie lesen können.
    ....

    Wozu ?? Damit kann der RasPi eh nix anfangen. 30 MB/s ist die Grenze, mehr wäre nur sinnvoll, wenn man die SD regelmäßig für das externe Backup am PC rausnimmt.

    Bei meinem Pi 3 habe ich beim testweisen Booten am Bildschirm gesehen, dass da irgend ein System einige Zeit auf was wartet. Ich habs nicht weiter verfolgt, da ich eh per Putty darauf zugreife und Zeit habe.

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Rente) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) / 2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (mal so, mal so) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (BW Lite (Webserver)) / Pi 400 (BW) / 1x Pi 5 (BW) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Hallo,

    bin nun bei ca 14 sec Bootzeit angekommen - dass ist außreichend schnell für meine Anwendung.

    Nun habe ich allerdings ein anderes Problem :s

    Der Pi wird NIE herunter gefahren sondern hard von der Versorgung getrennt.
    Nach dem erneutem boot sagt er mir dass er gesperrt ist. :daumendreh2:

    Wie kann ich den Pi konfigurieren dass er ein hartes switch OFF unbeschadet übersteht und danach normal bootet ?

    Gruß Frank

  • Hallo Frank,


    Der Pi wird NIE herunter gefahren sondern hard von der Versorgung getrennt.


    Das ist eine saublöde Idee - außer Du sorgst dafür, dass zu keinem Zeitpunkt auf die SD-Karte geschrieben wird
    - ReadOnly-OS
    - Auslagerung aller Logfiles in RAMDisk
    - Taster, der im Hintergrund abgefragt wird und das System sauber herunterfährt, wenn da mal draufgedrückt werden sollte
    - USV


    Nach dem erneutem boot sagt er mir dass er gesperrt ist. :daumendreh2:


    Wie säuselt er Dir das ins Ohr?


    Wie kann ich den Pi konfigurieren dass er ein hartes switch OFF unbeschadet übersteht und danach normal bootet ?

    Stichworte siehe oben...

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (10. Juni 2016 um 20:46)


  • Wie kann ich den Pi konfigurieren dass er ein hartes switch OFF unbeschadet übersteht und danach normal bootet ?


    Soweit ich das mitbekommen habe, ist das ganze Betriebssystem nicht so ausgelegt, dass das (immer) funktioniert. Wenn das System gerade auf die SD-KArte schreibt, was sich wohl nicht verhindern lässt, kannst Du Dir Dein System zerschießen. Ein ordentliches Herunterfahren ist meines Wissens notwendig, wenn Du das System nicht irgendwann zerschießen möchtest...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Soweit ich das mitbekommen habe, ist das ganze Betriebssystem nicht so ausgelegt, dass das (immer) funktioniert. Wenn das System gerade auf die SD-KArte schreibt, was sich wohl nicht verhindern lässt, kannst Du Dir Dein System zerschießen. Ein ordentliches Herunterfahren ist meines Wissens notwendig, wenn Du das System nicht irgendwann zerschießen möchtest...

    Das ist so nicht richtig, dazu gibts mehrere Möglichkeiten:

    • Das gesamte System Readonly mounten und die Verzeichnisse, in denen viel geschrieben wird, ins RAM auslagern (habe ich unter Raspbian jedoch nicht hinbekommen; dafür hab ich immer Archlinux genutzt)
    • Was auch geht, übers komplette Dateisystem sowas wie UnionFS drüberlegen. Damit werden sämtliche Änderungen ebenfalls im RAM ausgelagert.

    Ich fahre selbst so eine Konfiguration (halt die erste Variante unter Archlinux, hab aber auch die zweite Variante ausprobiert gehabt), diverse Anleitungen dazu findet man im Internet. Also ja, es ist umsetzbar ;) , allerdings erfordert das auch schon etwas bessere Linuxkenntnisse...


  • Auf dem System läuft lediglich auf der GUI ein Programm das ein paar UDP Pakete über LAN hin und her schiebt. :)

    Welche GUI ? Es gibt so viele... Ein Programm? Selbst geschrieben? Zeigen


    Momentan benötigt das System ca 24sec zum Boot bis in die GUI.

    Was für eine SD Karte? Exakte Daten!
    Was für ein Raspbian? Normal oder Lite?
    Was wird sonst noch so gestartet?



    Das gesamte System Readonly mounten und die Verzeichnisse, in denen viel geschrieben wird, ins RAM auslagern (habe ich unter Raspbian jedoch nicht hinbekommen; dafür hab ich immer Archlinux genutzt)

    Das ist eigentlich nicht allzu schwer - allerdings gibt es keine Garantie das nur /var/log/ beschrieben wird... (stichwort: varlog) und genau deshalb ist es sicherer das gesamte System auf read-only zu setzen.

    Vielleicht wär das auch ne Hilfe: Betriebssystem im Arbeitsspeicher ausführen

  • Hallo,

    es läuft das aktuelle normale Rasbian - alles was nicht benötigt wurde ist deinstalliert.
    BT und WLAN deinstalliert bzw deaktiviert.

    Speicherkarte ist eine SanDisk Ultra micro HC I 16GB
    schreiben ca 18MB/sec
    lesen ca 55MB/sec

    Als Anwendung läuft ein mit Lazarus PFC geschriebenes Programm - Hat ne normale GUI erstellt mit dem Formdesigner der Lazarus IDE.
    Diese Anwendung läuft auf fast jeder HW und fast jedem OS ;)

    Der Raspi kommt mit dem 5" Touchdisplay in eine Frontplatte meines 19" Systemes.
    Wenn ich funken will - schalte ich das 19" System ein und die einzelnen Funktionsblöcke fahren hoch - wie auch der Raspi.
    Wenn ich fertig bin das schalte ich aus.
    Das Gesamtsystem besteht z.Z aus 9 verteilter AVR µC und dann einem PI3
    Die AVR µC kommunizieren per RS485 miteinander - ein Gateway setzt auf LAN TCP/IP um - somit kann ich von jedem PC auf die Anlage zugreifen.
    Nun will ich aber nicht jedesmal wenn ich Funken will den PC hoch fahren - deshalb soll der PI zur Steuerung der Antennenanlage dienen.
    Sicherlich könnte ich die Steuerung auch mit einem größeren AVR µC realisieren - aber dass wäre sehr Komplex.

    In der Antennenanlage werden mehrere Schrittmotore gesteuert (5 Stück), 2 Antennen Rotoren und diverse Relaisumschalter verteilt auf einem größeren Areal.

    Dass mal als kleiner Überblick

    So, nun muss ich nur noch den PI "hard switch off" fähig machen. :)

    Gruß Frank


  • es läuft das aktuelle normale Rasbian - alles was nicht benötigt wurde ist deinstalliert.

    Wieso nimmst du dann nicht einfach Raspbian LITE oder noch besser MINIbian? :-/

    Speicherkarte ist eine SanDisk Ultra micro HC I 16GB
    schreiben ca 18MB/sec
    lesen ca 55MB/sec

    Die Schreibraten passen nicht zu deinem Einsatz. Siehe dazu die Erklärung hier: Liste kompatibler SD-Karten
    Aber Oke, es handelt sich also um eine Class10 Karte.

    Als Anwendung läuft ein mit Lazarus PFC geschriebenes Programm - Hat ne normale GUI erstellt mit dem Formdesigner der Lazarus IDE.

    Die Frage war mehrteilig. Der Erste Teil bezog sich auf die angebliche GUI, der Zweite Teil auf dein Programm. Du sprichst hier davon das du eine GUI hast um dein Programm zu nutzen. Ich glaube aber das du keine zusätzliche GUI für dein Programm benötigst. Verstehst du worauf ich hinaus will? :fies:

    Lazarus ist Free Pascal. Du hättest also die Möglichkeit in dein Programm einzubauen das es Framebuffer nutzen soll. Dann könntest du vollständig auf das starten einer Desktopumgebung wie LXDE verzichten.

    Die zweite Möglichkeit wäre ebenfalls auf eine vollständige Desktop-Umgebung zu verzichten und für dein eines Programm nur einen Window-Manager zu starten. Das reicht für ein einziges Programm i.d.R. völlig aus und startet dann selbstverständlich auch weitaus schneller als eine Desktopumgebung. Siehe dazu auch FAQ => Nützliche Links / Linksammlung => Raspberry as a pure Surfstation (Kiosk Mode) (ich weiß du willst keine Surfstation! trotzdem lesen!)

  • Hallo,

    vielen Dank für deine Hilfe :thumbs1:
    jaaa, ich meinte dass mein Programm eine GUI zum bedienen hat. ;)

    Die zweite von dir vorgeschlagene Lösung scheint die richtige für mich zu sein.
    Ich hoffe das eine touch-Bedienung dann auch noch möglich ist.
    Werde mir mal eine SD mir Rasbian lite fertig machen.

    Wichtiger ist die Frage mit den "hard switch off" - wie bekomme ich dass in den griff ?

    Gruß Frank

  • Hallo Frank,

    im Beitrag #10 befindet sich eine Liste der möglichen und bewährten Ansätze. Ein "Hard Switch Off" durch Stecker-Ziehen bleibt weiterhin keine empfehlenswerte Lösung.
    Ein Taster mit einem 4Zeiler-Programm, das per Autostart im Hintergrund vor sich hindümpelt und keinerlei Ressourcen fordert, ist sicherlich die beste und stabilste Lösung. So ein Taster kostet je nach Ausführung wenige 10 ct bis wenige €. Der 4-Zeiler ist schnell geschrieben und in den Autostart gebracht.

    Bei allem anderen ist der Einrichtungsaufwand oder die Anschaffungskosten unnötig hoch.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!