Frage:
Slow Boot: Ethernet Warten
NULL
2016-04-07 19:17:45 UTC
view on stackexchange narkive permalink

Ich verwende Minibian (leichte Version von Raspbian) und wenn der Pi nicht mit einem Netzwerk verbunden ist, wartet er eine ganze Minute, bevor er den Startvorgang beendet.

Ich habe festgestellt, dass der Pi in normaler Zeit booten würde, wenn ich die Zeilen 3 und 4 in / etc / network / interfaces auskommentiere. Allerdings habe ich dann die Fähigkeit zu SSH in meinen Pi verloren. Wenn ich schnell booten möchte, sieht meine Datei / etc / network / interfaces folgendermaßen aus:

  auto loiface lo inet loopback # auto eth0 # iface eth0 inet dhcp  

Jetzt bin ich in einer unangenehmen Situation, in der ich diese Datei bearbeiten muss, um zwischen schnellen Starts und der Möglichkeit, SSH mit meinem Pi zu verwenden, zu wechseln.

Weiß jemand, wie ich das beheben kann, um beide Bedingungen zu erfüllen?

Ich habe nicht bekommen; Wartet Ihr RPi auf eine Ethernet-Verbindung?
Ja, es sagt etwas darüber aus, dass ein Startprozess für LSB ausgeführt wird: Warten auf das Netzwerk. Es wird 1 Minute warten und dann den Startvorgang beenden.
Sechs antworten:
#1
+9
Evgeniy Chukanov
2016-09-02 00:54:51 UTC
view on stackexchange narkive permalink

Datei (mit Unterverzeichnissen) erstellen

  /etc/systemd/system/networking.service.d/reduce-timeout.conf  

mit Inhalt :

  [Service] TimeoutStartSec = 1  

Auf meinem Pi-Modell B (mit Minibian) hat diese Lösung das Problem behoben. Die Pi-Startzeit wurde auf 15 Sekunden reduziert und Netzwerk funktioniert.

Bestätigt macht großen Unterschied auf rpi3 raspbian letzten August 2017
#2
+3
Huczu
2016-04-07 19:27:09 UTC
view on stackexchange narkive permalink

Führen Sie sudo raspi-config aus und deaktivieren Sie die vierte Option: Warten Sie beim Booten auf das Netzwerk .

Ich habe vergessen zu erwähnen, dass ich das bei meiner frühen Fehlerbehebung getan habe und es nicht hilft.
Ich habe im Skript ** raspi-config ** nachgesehen und wenn Sie Fast boot-no wait auswählen, wird die Datei entfernt: `/etc/systemd/system/dhcpcd.service.d`/wait.conf. Ich habe überprüft, ob sich diese Datei nicht auf meinem System befindet. Was auch immer raspi-config für das Netzwerk tut, spielt keine Rolle, da die zum Warten verwendete Datei nicht mehr vorhanden ist.
#3
+2
AnyDev
2018-07-24 08:32:09 UTC
view on stackexchange narkive permalink

Ich hatte keinen Erfolg damit, die vielen anderen guten Lösungen auf mein Setup anzuwenden, bei denen eine Macvlan-Schnittstelle über eth0 vorhanden ist. Die Installation basiert auf 2018-06-27-raspbian-strip- lite .Was funktioniert gut für mich:

Deaktivieren Sie den dhcpcd -Dienst.

  systemctl deaktivieren Sie dhcpcd  

Zeitüberschreitung in /etc/dhcp/dhclient.conf reduzieren.

  # Halten Sie den Start nicht für 60 Sekunden gedrückt, geben Sie schneller auf, aber nicht zu schnell, sehen Sie, was mit Ihrem DHCP-Servertimeout 10 funktioniert; # Wiederholen Sie es schneller # Dies ist nach dem ersten Aufgeben und dhclient ging in den Hintergrund und der Startvorgang wurde ohne Lease fortgesetzt. # Standard 5 Minuten sind zu langwierig. 20; # Berücksichtigen Sie auch die Backoff-Cutoff-Einstellung  

Jetzt, da beim Booten bis zu 10 Sekunden gewartet wird und keine DHCP-Lease vorhanden ist, tritt der dhclient in den Hintergrund und der Start wird ohne Lease fortgesetzt.

Ohne dhcpcd habe ich den zusätzlichen Vorteil, dass ich wlan0 cod manuell stoppen / starten / neu starten kann e> ohne wpa_supplicant suchen zu müssen, der vermutlich von dhcpcd gestartet wurde und sich weigerte, mit ifdown wlan0 zu stoppen. Hinweis: Dies könnte bedeuten, dass Sie dies möglicherweise tun Sie können rapsi-config nicht zum Konfigurieren Ihres WLANs verwenden und müssen config in / etc / network / interfaces schreiben, was für mich sowieso bevorzugt wird.

Die ansonsten saubere Lösung von Evgeniy Chukanov unter Verwendung von /etc/systemd/system/networking.service.d/reduce-timeout.conf zur Reduzierung des Timeouts führt dazu, dass dhcpcd zu Rufen Sie meine Macvlan-Schnittstelle NICHT auf, wenn das Lease-Timeout für eth0 beim Booten erreicht wird.

Nicht, dass meine Macvlan-Konfiguration für OP von Bedeutung ist, aber es war der Grund, diese Lösungen zu entwickeln der Vollständigkeit halber: In /etc/network/interfaces.d/macvlan1

  auto macvlan1iface macvlan1 inet statische Adresse ..... Netzmaske ..... Pre-Up-IP-Link Macvlan1-Link hinzufügen eth0-Typ Macvlan Post-Down-IP-Link del Macvlan1
 

Ich habe seitdem eth0 und mavclan1 ausgetauscht und mache statisches IPv4 auf eth0 und DHCP-Client Auf macvlan1 , was mich sogar mit dhcpcd weiter bringt, wird eine Schnittstelle erstellt, aber nach dem ersten Timeout wird immer noch nicht versucht, einen Lease zu erhalten weil meine Lösung ohne dhcpcd für mich sehr gut funktioniert.

#4
+1
goldilocks
2016-04-07 20:30:52 UTC
view on stackexchange narkive permalink

Weiß jemand, wie ich das beheben kann, um beide Bedingungen zu erfüllen?

Vielleicht, aber nicht auf kanonische Weise ("richtige Praxis"), ohne das System zu untersuchen (Ich habe noch nie Minibian verwendet) und mehr darüber zu erfahren, wie die Netzwerkkonfiguration unter GNU / Linux im Allgemeinen funktionieren soll, weil sie es nie richtig verwendet hat.

Alle meine Maschinen im Debian-Stil, einschließlich pis, haben einen / etc / network / interfaces , der Ihrer auskommentierten Version ähnelt.

  auto loiface lo inet loopback  

Nicht-Debian-Distributionen haben diese Datei überhaupt nicht - obwohl sie ungefähr gleichwertig sind, was ich auch grob deaktivieren werde. Ich mache das, weil das gesamte Autokonfigurationssystem if-up / down meiner Meinung nach mehr Probleme verursacht als löst. Ein Teil meiner Perspektive beinhaltet jedoch die Tatsache, dass ich Linux-Netzwerke auf einer niedrigeren Ebene gut genug verstehe und dass ich Skripte für solche Dinge und / oder das Hinzufügen von etwas zum Init-System selbst ziemlich einfach finde . Aber diese Perspektive hat einige Jahre gedauert.

Meine Empfehlung hier wäre, diese Datei so zu belassen, wie Sie sie haben (mit Ausnahme der ersten beiden Zeilen, die auskommentiert oder entfernt wurden) ) und fügen Sie dies zu / etc / rc.local :

  hinzu (IP-Link-Set eth0 up dhclient -v eth0) &> /var/log/ethernet.log  

Stellen Sie zunächst sicher, dass dhclient installiert ist ( dhclient --version ), und installieren Sie es, falls nicht.

Überprüfen Sie das System auch auf ifplugd: ps -C ifplugd . Wenn es verwendet wird, deaktivieren Sie es.

Dies hat einige Nachteile:

  • Es wird davon ausgegangen, dass Sie nur das verwenden pi auf einem Draht, dh Sie möchten nicht, dass es WLAN bevorzugt oder auf WLAN zurückgreift.

  • Wenn Sie die Verbindung trennen, müssen Sie diese Befehle erneut ausführen oder Neustart.

Wenn es nicht funktioniert, schauen Sie in /var/log/ethernet.log nach.

Danke ... aber ich bin immer noch neugierig, warum dies ein Problem sein würde? ... Raspbian selbst hat dieses Problem nicht. Gibt es weitere Informationen, die ich geben könnte, um herauszufinden, ob dies die Ursache ist?
Das entspricht dem Versuch, jemandem zu helfen, seine Motorprobleme telefonisch zu diagnostizieren - nicht unbedingt unmöglich, aber wahrscheinlich auch nicht lohnenswert. Fragen Sie das Maul des Pferdes (d. H. Den Schöpfer des Minibian) danach. Dies bedeutet wahrscheinlich eine E-Mail.
Richtig. Ich hatte gehofft, dass hier jemand Minibian verwendet und dieses Problem behoben hat.
Wir haben nicht einmal einen Tag, aber ich habe einen hinzugefügt ...
#5
+1
regisin
2018-03-10 01:02:07 UTC
view on stackexchange narkive permalink

Ich habe noch nicht den Ruf, die akzeptierte Antwort zu kommentieren. Aber nur ein kurzes Update der Antwort für das neueste Raspbian Linux raspberrypi 4.9.59-v7 + # 1047 SMP So 29.10. 12:19:23 GMT 2017 armv7l GNU / Linux

Die Datei, die Sie bearbeiten möchten, lautet:

  /etc/systemd/system/network-online.target.wants/networking.service  

Es ist bereits vorhanden existiert, und Sie sollten den Abschnitt bearbeiten, der bereits in der Antwort erwähnt wurde. In meinem Fall hat TimeoutStartSec = 5min bis TimeoutStartSec = 1 den Trick gemacht.

Es ist nicht notwendig, diese Datei zu verwenden. Die Methode in der akzeptierten Antwort ist wahrscheinlich eine "Best Practice" -Lösung, da Sie keine Konfiguration bearbeiten, die beim Upgrade möglicherweise ersetzt wird.
#6
  0
G3z
2018-02-11 07:52:05 UTC
view on stackexchange narkive permalink

Ich entferne die statische IP aus /boot/cmdline.txt und das funktioniert.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...