Я понимаю, что этот вопрос старый, но я столкнулся с этой проблемой, и ни одно из предложенных решений на этой странице до сих пор не решило мою проблему. Мне кажется, что трюк с правилами rules.d ничего не делает.
Мое решение состояло в том, чтобы просто написать сценарий, который идет в папке init.d, чтобы назначить DHCP для проводного порта Ethernet независимо от имени. Это важно, потому что у меня есть несколько блоков Raspberry Pi, и все они столкнулись с этой же проблемой. (очень расстраивает)
Моя проблема усложняется, потому что у меня есть папка сетевого хранилища, которую нужно смонтировать во время процесса загрузки. Из-за того, что интерфейс не подошел, это монтирование не удалось, и все стало для меня все хуже и хуже.
Вот мое решение. Я надеюсь, что это поможет кому-то еще, кто не может найти присоединение, используя ответы выше
Создайте файл /etc/init.d/raspi-init-network, используя ваш любимый текстовый редактор. Мне нравится использовать vi.
cd /etc/init.d
sudo vi raspi-init-network
Это код, который принадлежит в файле
#!/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
Убедитесь, что скрипт исполняемый
sudo chmod 755 raspi-init-network
Активируйте код, чтобы он выполнялся во время загрузки, выполнив команду update-rc.d.
sudo update-rc.d raspi-init-network defaults 90
После этого у меня не было ни одной проблемы, и я смог скопировать код на все мои устройства Pi с одинаковыми устойчивыми результатами.
ПРИМЕЧАНИЕ. Если вы не монтируете диски, вы можете пропустить строку «mount -a».
TWEAKS: Если вы используете свой Wi-Fi, вы можете изменить строку, которая начинается с «interface =», и отредактировать первый сегмент «grep». Этот первый grep захватывает всю строку интерфейса, который вы хотите использовать. Второй grep берет эту строку и возвращает только имя интерфейса.