Me doy cuenta de que esta pregunta es antigua, pero he encontrado este problema y ninguna de las soluciones propuestas hasta ahora en esta página resolvió mi problema. Para mí, el truco de la carpeta rules.d no parece hacer nada.
Mi solución fue simplemente escribir un script que vaya en la carpeta init.d para asignar DHCP al puerto ethernet con cable, independientemente del nombre. Esto es importante porque tengo varias unidades Raspberry Pi y todas tuvieron este mismo problema. (Muy frustrante)
Mi problema se agrava porque tengo una carpeta de almacenamiento de red que debe montarse durante el proceso de arranque. Debido a que la interfaz no apareció, este montaje falló y las cosas simplemente fueron de mal en peor para mí.
Aquí está mi solución. Espero que esto ayude a cualquier otra persona que no pueda encontrar unirse usando las respuestas anteriores.
Cree el archivo /etc/init.d/raspi-init-network usando su editor de texto favorito. Me gusta usar vi.
cd /etc/init.d
sudo vi raspi-init-network
Este es el código que pertenece al archivo
#!/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
Asegúrese de que el script sea ejecutable
sudo chmod 755 raspi-init-network
Active el código para que se ejecute durante el proceso de arranque ejecutando el comando update-rc.d.
sudo update-rc.d raspi-init-network defaults 90
Después de esto, no he tenido un solo problema y pude copiar el código a todas mis unidades Pi con los mismos resultados constantes.
NOTA: Si no está montando unidades, puede omitir la línea "mount -a".
TWEAKS: Si está utilizando su wifi, puede cambiar la línea que comienza "interface =" y editar el primer segmento "grep". Este primer grep toma la línea completa de la interfaz que desea utilizar. El segundo grep toma esa línea y solo devuelve el nombre de la interfaz.