Percebo que essa pergunta é antiga, mas resolvi esse problema e nenhuma das soluções propostas até agora nesta página resolveu meu problema. Para mim, o truque da pasta rules.d parece não fazer nada.
Minha solução foi simplesmente escrever um script que vá na pasta init.d para atribuir DHCP à porta Ethernet com fio, independentemente do nome. Isso é importante porque eu tenho várias unidades Raspberry Pi e todas elas vieram com esse mesmo problema. (muito frustrante)
Meu problema foi agravado porque tenho uma pasta de armazenamento em rede que precisa ser montada durante o processo de inicialização. Como a interface não surgiu, essa montagem falhou e as coisas foram de mal a pior para mim.
Aqui está a minha solução. Espero que isso ajude qualquer pessoa que não encontre a associação usando as respostas acima.
Crie o arquivo /etc/init.d/raspi-init-network usando seu editor de texto favorito. Eu gosto de usar vi.
cd /etc/init.d
sudo vi raspi-init-network
Este é o código que pertence ao arquivo
#!/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
Verifique se o script é executável
sudo chmod 755 raspi-init-network
Ative o código para que ele seja executado durante o processo de inicialização executando o comando update-rc.d.
sudo update-rc.d raspi-init-network defaults 90
Depois disso, não tive um único problema e consegui copiar o código para todas as minhas unidades Pi com os mesmos resultados constantes.
NOTA: Se você não estiver montando unidades, poderá deixar de fora a linha "mount -a".
JOGOS: Se você estiver usando seu wifi, você pode alterar a linha que inicia "interface =" e editar o primeiro segmento "grep". Este primeiro grep captura toda a linha da interface que você deseja usar. O segundo grep pega essa linha e retorna apenas o nome da interface.