W przypadku wbudowanego systemu Linux, jeśli mam dwa lub więcej interfejsów sieciowych, jak zapewnić, aby zawsze otrzymywały te same nazwy interfejsów przy każdym uruchomieniu
Innymi słowy, chcę na przykład, aby eth0 zawsze mapował na jeden fizyczny port Ethernet, eth1 na następny itp.
Moja „dystrybucja” Linuksa jest domowa i używam devtmpfs do zapełniania / dev. Używam busybox do init (i większości innych rzeczy), a także niestandardowych skryptów init do uruchamiania i zamykania systemu.
Nie potrzebuję funkcji hotplug mdev ani udev - mam na myśli „stałe” porty Ethernet.
embedded-systems
Patrick
źródło
źródło
Odpowiedzi:
Działa to dla mnie w Linuksie 3.9.0 na architekturze x86_64.
źródło
man nameif
: „Ten program jest przestarzały. Do sprawdzenia wymianyip link
.” Należy również pamiętać, że jeśli system jesteś na nie stosowanieudev
, strategia będzie podatne na uszkodzenia, jak/sys/class/net/eth[whatever]
nie może istnieć.Wspomniałeś, że nie potrzebujesz udev, ale jeśli nie sprzeciwisz się jego instalacji, możesz rozważyć użycie biosdevname . Istnieje duża strona wiki na freedesktop.org który omawia ten problem. Jak wspomniano na tej stronie, jeśli używasz udev w wersji 197 lub wyższej, to nawet nie potrzebujesz nazwy biosdevname, ponieważ udev już zrobi to, czego potrzebujesz.
źródło