Mir ist klar, dass diese Frage alt ist, aber ich bin auf dieses Problem gestoßen, und keine der bisher auf dieser Seite vorgeschlagenen Lösungen hat mein Problem gelöst. Für mich scheint der Ordner "rules.d" nichts zu bewirken.
Meine Lösung bestand darin, einfach ein Skript zu schreiben, das sich im Ordner init.d befindet, um dem kabelgebundenen Ethernet-Port unabhängig vom Namen DHCP zuzuweisen. Dies ist wichtig, da ich mehrere Raspberry Pi-Einheiten habe und sie alle dasselbe Problem hatten. (sehr frustrierend)
Mein Problem tritt auf, weil ich einen Netzwerkspeicherordner habe, der während des Startvorgangs bereitgestellt werden muss. Da das Interface nicht verfügbar war, ist dieses Mount fehlgeschlagen und die Situation hat sich für mich immer weiter verschlechtert.
Hier ist meine Lösung. Ich hoffe, dies wird allen anderen helfen, die mit den obigen Antworten keinen Beitritt finden können.
Erstellen Sie die Datei /etc/init.d/raspi-init-network mit Ihrem bevorzugten Texteditor. Ich benutze gerne vi.
cd /etc/init.d
sudo vi raspi-init-network
Dies ist der Code, der in die Datei gehört
#!/bin/sh
### BEGIN INIT INFO
# Provides: boot-identify-myself
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: identify-myself
# Description: identify this computer to the main server upon
### END INIT INFO
#
# when using predictible network names for the interfaces,
# the pi doesn't seem to activate the interface correctly so
# this script will force the issue.
#
# it works by getting the interface name of the wired network
# device and using that to initialize dhcp
start()
{
interface=`ifconfig -a | grep "encap:Ethernet" | grep -oh -E "^[^ ]+"`
dhclient $interface
mount -a
}
stop()
{
: # do nothing
}
uninstall()
{
: # do nothing
}
case "$1" in
start)
start
;;
stop)
stop
;;
uninstall)
uninstall
;;
retart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|uninstall}"
esac
Stellen Sie sicher, dass das Skript ausführbar ist
sudo chmod 755 raspi-init-network
Aktivieren Sie den Code, damit er während des Startvorgangs ausgeführt wird, indem Sie den Befehl update-rc.d ausführen.
sudo update-rc.d raspi-init-network defaults 90
Danach hatte ich kein einziges Problem mehr und konnte den Code auf alle meine Pi-Einheiten mit den gleichen gleichbleibenden Ergebnissen kopieren.
ANMERKUNG: Wenn Sie keine Laufwerke mounten, können Sie die Zeile "mount -a" weglassen.
TWEAKS: Wenn Sie Ihr WLAN verwenden, können Sie die Zeile ändern, die mit "interface =" beginnt, und das erste "grep" -Segment bearbeiten. Mit diesem ersten Grep wird die gesamte Zeile der Schnittstelle erfasst, die Sie verwenden möchten. Das zweite grep nimmt diese Zeile und gibt nur den Schnittstellennamen zurück.