Mi rendo conto che questa domanda è vecchia ma ho riscontrato questo problema e nessuna delle soluzioni proposte finora in questa pagina ha risolto il mio problema. Per me il trucco della cartella rules.d non sembra fare nulla.
La mia soluzione era semplicemente scrivere uno script che si trova nella cartella init.d per assegnare DHCP alla porta Ethernet cablata indipendentemente dal nome. Questo è importante perché ho diverse unità Raspberry Pi e tutte hanno riscontrato lo stesso problema. (molto frustrante)
Il mio problema è aggravato perché ho una cartella di archiviazione di rete che deve essere montata durante il processo di avvio. Poiché l'interfaccia non è stata creata, questo montaggio è fallito e le cose sono andate di male in peggio per me.
Ecco la mia soluzione Spero che questo possa aiutare chiunque non riesca a trovare unirsi usando le risposte sopra.
Crea il file /etc/init.d/raspi-init-network usando il tuo editor di testo preferito. Mi piace usare vi.
cd /etc/init.d
sudo vi raspi-init-network
Questo è il codice che appartiene al file
#!/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
Assicurarsi che lo script sia eseguibile
sudo chmod 755 raspi-init-network
Attiva il codice in modo che venga eseguito durante il processo di avvio eseguendo il comando update-rc.d.
sudo update-rc.d raspi-init-network defaults 90
Dopo questo, non ho avuto un singolo problema e sono stato in grado di copiare il codice su tutte le mie unità Pi con gli stessi risultati costanti.
NOTA: se non si montano unità, è possibile tralasciare la riga "mount -a".
TWEAKS: Se stai usando il tuo wifi puoi cambiare la linea che inizia "interfaccia =" e modificare il primo segmento "grep". Questo primo grep prende l'intera linea dell'interfaccia che si desidera utilizzare. Il secondo grep prende quella linea e restituisce solo il nome dell'interfaccia.