Para un sistema Linux incorporado, si tengo dos o más interfaces de red, ¿cómo me aseguro de que siempre obtengan los mismos nombres de interfaz en cada arranque?
En otras palabras, quiero, por ejemplo, eth0 para asignar siempre a un puerto Ethernet físico, eth1 al siguiente, etc.
Mi "distribución" de Linux es de cosecha propia, y uso devtmpfs para rellenar / dev. Uso busybox para init (y casi todo lo demás), junto con scripts de inicio personalizados para el inicio y apagado del sistema.
No necesito instalaciones de conexión en caliente de mdev o udev. Me refiero a los puertos Ethernet "fijos".
embedded-systems
Patricio
fuente
fuente
Respuestas:
Esto funciona para mí con Linux 3.9.0 en una arquitectura x86_64.
fuente
man nameif
: "Este programa está obsoleto. Para verificación de reemplazoip link
". También nota que si el sistema está en que hace usoudev
, su estrategia será propenso al fracaso como/sys/class/net/eth[whatever]
puede no existir.Usted mencionó que no necesita udev, pero si no se opone a instalarlo, entonces puede considerar usar biosdevname . Hay una gran página wiki en freedesktop.org que trata este tema. Como se señaló en esa página, si está utilizando udev versión 197 o superior, entonces ni siquiera necesita biosdevname porque udev ya hará lo que necesita.
fuente