Для встроенной системы Linux, если у меня есть два или более сетевых интерфейса, как я могу гарантировать, что они всегда получают одинаковые имена интерфейсов при каждой загрузке
Другими словами, я хочу, чтобы eth0 всегда отображался на один физический порт Ethernet, eth1 на другой и т. Д.
Мой Linux-дистрибутив самодельный, и я использую devtmpfs для заполнения / dev. Я использую busybox для инициализации (и большинство всего остального), а также пользовательские скрипты инициализации для запуска и завершения работы системы.
Мне не нужны средства горячего подключения mdev или udev - я имею в виду «фиксированные» порты Ethernet.
embedded-systems
Патрик
источник
источник
Ответы:
Это работает для меня с Linux 3.9.0 на архитектуре x86_64.
источник
man nameif
: «Эта программа устарела. Для проверки заменыip link
.» Также обратите внимание, что если используемая вами система действительно используетсяudev
, ваша стратегия будет подвержена сбоям, так как/sys/class/net/eth[whatever]
может не существовать.Вы упомянули, что вам не нужен udev, но если вы не против его установки, вы можете рассмотреть возможность использования biosdevname . Существует большая вики - странице на freedesktop.org , что этот вопрос обсуждается. Как отмечалось на этой странице, если вы используете udev версии 197 или выше, вам даже не нужно biosdevname, потому что udev уже сделает то, что вам нужно.
источник