Je me rends compte que cette question est ancienne mais j'ai rencontré ce problème et aucune des solutions proposées jusqu'à présent sur cette page n'a résolu mon problème. Pour moi, l'astuce du dossier rules.d ne semble rien faire.
Ma solution était d'écrire simplement un script qui va dans le dossier init.d pour affecter DHCP au port Ethernet filaire quel que soit le nom. Ceci est important car j'ai plusieurs unités Raspberry Pi et elles ont toutes rencontré le même problème. (Très frustrant)
Mon problème est aggravé car j'ai un dossier de stockage réseau qui doit être monté pendant le processus de démarrage. Parce que l'interface n'est pas apparue, cette monture a échoué et les choses sont allées de mal en pis pour moi.
Voici ma solution. J'espère que cela aidera toute autre personne qui ne peut pas se joindre à vous en utilisant les réponses ci-dessus.
Créez le fichier /etc/init.d/raspi-init-network à l'aide de votre éditeur de texte préféré. J'aime utiliser vi.
cd /etc/init.d
sudo vi raspi-init-network
Ceci est le code qui appartient au fichier
#!/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
Assurez-vous que le script est exécutable
sudo chmod 755 raspi-init-network
Activez le code pour qu'il s'exécute pendant le processus de démarrage en exécutant la commande update-rc.d.
sudo update-rc.d raspi-init-network defaults 90
Après cela, je n'ai pas eu un seul problème et j'ai pu copier le code sur toutes mes unités Pi avec les mêmes résultats stables.
REMARQUE: Si vous ne montez pas de disques, vous pouvez laisser de côté la ligne "mount -a".
TWEAKS: Si vous utilisez votre wifi, vous pouvez changer la ligne qui commence "interface =" et modifier le premier segment "grep". Ce premier grep saisit toute la ligne de l'interface que vous souhaitez utiliser. Le deuxième grep prend cette ligne et ne renvoie que le nom de l'interface.