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

Używam Minibian (lekka wersja Raspbian) i jeśli Pi nie jest podłączone do sieci, odczeka całą minutę przed zakończeniem bootowania.

Zauważyłem, że jeśli wykomentowałem linie 3 i 4 w / etc / network / interfaces , Pi uruchomi się w normalnym czasie. Jednak straciłem wtedy możliwość SSH do mojego Pi. Kiedy chcę szybkiego uruchamiania, tak wygląda mój plik / etc / network / interfaces :

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

Więc teraz jestem w tej niezręcznej sytuacji, w której muszę edytować ten plik, aby przełączać się między szybkimi rozruchami i możliwością używania SSH z moim Pi.

Czy ktoś wie, jak mogę to naprawić, aby spełnić oba warunki?

Nie dostałem; czy twoje RPi czeka na połączenie Ethernet?
Tak, mówi coś o skutku, trwa proces uruchamiania LSB: oczekiwanie na sieć. Poczeka 1 minutę, a następnie zakończy ładowanie.
Sześć odpowiedzi:
Evgeniy Chukanov
2016-09-02 00:54:51 UTC
view on stackexchange narkive permalink

Utwórz plik (z podkatalogami)

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

z zawartością :

  [Service] TimeoutStartSec = 1  

Na moim modelu Pi B (z Minibianem) to rozwiązanie rozwiązało problem.Pi bootowanie skrócono do 15 sekund i sieć działa.

Potwierdzony robi ogromne różnice w rpi3 raspbian w najnowszym sierpniu 2017 r
Huczu
2016-04-07 19:27:09 UTC
view on stackexchange narkive permalink

Uruchom sudo raspi-config i wyłącz czwartą opcję: Wait for Network at Boot .

Zapomniałem wspomnieć, że zrobiłem to na początku rozwiązywania problemów i to nie pomaga.
Zajrzałem do skryptu ** raspi-config ** i po wybraniu opcji Fast boot-no wait, usuwa on plik: `/etc/systemd/system/dhcpcd.service.d`/wait.conf. Sprawdziłem i tego pliku nie ma w moim systemie, więc cokolwiek raspi-config robi dla sieci, nie ma znaczenia, ponieważ plik, którego używa do oczekiwania, zniknął.
AnyDev
2018-07-24 08:32:09 UTC
view on stackexchange narkive permalink

Nie udało mi się zastosować wielu innych dobrych rozwiązań do mojej konfiguracji, które obejmują interfejs macvlan na górze eth0 .Instalacja oparta na 2018-06-27-raspbian-stretch- lite . Co działa dobrze:

Wyłącz usługę dhcpcd .

  systemctl wyłącz dhcpcd  

Zmniejsz limit czasu w /etc/dhcp/dhclient.conf.

  # Nie wstrzymuj rozruchu przez domyślne 60 sekund, zrezygnuj szybciej #, ale nie za bardzo szybko, zobacz, co działa z twoim serwerem DHCP. limit czasu 10; # Ponów szybciej # To jest po początkowej rezygnacji i dhclient przeszedł w tło i uruchomił się bez dzierżawy # Domyślnie 5 minut to zbyt długoretry 20; # Rozważ również ustawienie ograniczenia cofania  

Teraz, gdy czeka na rozruch do 10 sekund i jeśli nie ma dzierżawy DHCP, dhclient przechodzi w tło, a rozruch jest kontynuowany bez dzierżawy.

Bez dhcpcd dodatkową zaletą jest ręczne zatrzymywanie / uruchamianie / restartowanie wlan0 cod e> bez konieczności szukania wpa_supplicant rozpoczętego prawdopodobnie przez dhcpcd i który odmawiał zatrzymania za pomocą ifdown wlan0 . Uwaga: może to oznaczać, że możesz nie mogę użyć rapsi-config do skonfigurowania twojego Wi-Fi i muszę zapisać config w / etc / network / interfaces , co i tak jest dla mnie preferowane.

Sprytne rozwiązanie Evgeniya Chukanova za pomocą /etc/systemd/system/networking.service.d/reduce-timeout.conf w celu skrócenia czasu oczekiwania powoduje, że dhcpcd NIE wyświetlaj mojego interfejsu macvlan, JEŚLI przekroczono limit czasu dzierżawy na eth0 podczas rozruchu.

Nie to, że moja konfiguracja macvlan ma znaczenie dla OP, ale to był powód, aby wymyślić to rozwiązanie więc dla kompletności: w /etc/network/interfaces.d/macvlan1

  auto macvlan1iface macvlan1 inet adres statyczny ..... maska ​​sieci ..... pre-up ip link add macvlan1 link eth0 type macvlan post-down ip link del macvlan1

Od tego czasu zamieniłem eth0 i mavclan1 i wykonuję statyczny IPv4 na eth0 i kliencie DHCP na macvlan1 , co prowadzi mnie dalej, nawet przy użyciu dhcpcd , interfejs zostaje utworzony, ale nadal nie próbuje ponownie uzyskać dzierżawy po początkowym przekroczeniu limitu czasu. ponieważ moje rozwiązanie bez dhcpcd działa dla mnie bardzo dobrze.

goldilocks
2016-04-07 20:30:52 UTC
view on stackexchange narkive permalink

Czy ktoś wie, jak mogę to naprawić, aby spełnić oba warunki?

Być może, ale nie w sposób kanoniczny („właściwa praktyka”) bez badania systemu (Nigdy nie korzystałem z minibianów) i dowiedziałem się więcej o tym, jak ogólnie konfiguracja sieci w systemie GNU / Linux powinna działać, ponieważ nigdy nie korzystałem z niej poprawnie.

Wszystkie moje maszyny w stylu Debiana, w tym pis, mają / etc / network / interfaces , który wygląda jak twoja skomentowana wersja.

  auto loiface lo inet loopback  

Dystrybucje inne niż „w stylu debianowym” w ogóle nie mają tego pliku - chociaż będą miały coś z grubsza równoważnego, co również prymitywnie wyłączę. Robię to, ponieważ cały system autokonfiguracji if-up / down w mojej opinii powoduje więcej problemów niż rozwiązuje. Jednak część mojej perspektywy obejmuje fakt, że wystarczająco dobrze rozumiem sieci linuxowe na niższym poziomie i że uważam, że tworzenie skryptów dla tego rodzaju rzeczy i / lub dodawanie czegoś do systemu inicjującego jest dość proste . Ale taka perspektywa zajęła kilka lat.

Moją rekomendacją byłoby pozostawienie tego pliku tak, jak go masz (ze wszystkim oprócz pierwszych dwóch wierszy zostało zakomentowanych lub usuniętych ) i spróbuj dodać to do /etc/rc.local:

  (ip link set eth0 up dhclient -v eth0) &> /var/log/ethernet.log 

Najpierw upewnij się, że dhclient jest zainstalowany ( dhclient --version ), a jeśli nie, zainstaluj go.

Sprawdź także system pod kątem ifplugd: ps -C ifplugd . Jeśli jest używany, wyłącz go.

Ma to kilka wad:

  • Zakłada się, że używasz tylko pi na kablu, tj. nie chcesz, aby preferowało Wi-Fi lub rezerwowe.

  • Jeśli się rozłączysz, będziesz musiał ponownie uruchomić te polecenia lub uruchom ponownie.

Jeśli to nie zadziała, zajrzyj do /var/log/ethernet.log .

Dzięki ... ale nadal jestem ciekawy, dlaczego miałby to być problem? ... Raspbian właściwy nie ma tego problemu. Czy mogę podać więcej informacji, aby dowiedzieć się, jaka jest tego przyczyna?
Jest to trochę na równi z próbą pomocy komuś w zdiagnozowaniu problemów z silnikiem przez telefon - niekoniecznie niemożliwe, ale prawdopodobnie też nie warto. Zapytaj o to pysk konia (czyli twórcę minibiana), co prawdopodobnie będzie oznaczało e-mail.
To prawda ... Miałem nadzieję, że ktoś tutaj może używać Minibiana i rozwiązał ten problem.
Nie mamy nawet tagu, ale dodałem jeden ...
regisin
2018-03-10 01:02:07 UTC
view on stackexchange narkive permalink

Nie mam jeszcze reputacji, aby komentować zaakceptowaną odpowiedź. Ale tylko szybka aktualizacja odpowiedzi, dla najnowszego Raspbian Linux raspberrypi 4.9.59-v7 + # 1047 SMP Niedziela 29 października 12:19:23 GMT 2017 armv7l GNU / Linux

Plik, który chcesz edytować to:

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

Już istnieje i powinieneś edytować sekcję wspomnianą już w odpowiedzi. W moim przypadku od TimeoutStartSec = 5min do TimeoutStartSec = 1 załatwiło sprawę.

Nie ma potrzeby używania tego pliku. Metoda w zaakceptowanej odpowiedzi jest prawdopodobnie rozwiązaniem bardziej „sprawdzonym”, ponieważ nie edytujesz konfiguracji, która może zostać zastąpiona podczas aktualizacji.
G3z
2018-02-11 07:52:05 UTC
view on stackexchange narkive permalink

Usuwam statyczne IP z /boot/cmdline.txt i to działa.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...