как привязать сетевушку к нужному eth?

подскажите пожалуйста если в системе несколько сетевушек одинаковых - то как их жестко привязать к нужному номеру eth?
спасибо

По почему бы

По почему бы скрипты не привязать к нужным номерам eth?

Одинаковых

Одинаковых сетевушек не бывает. Все сетевушки различаются по мак адресу.
в /etc/conf.d/net.example написано как использовать мак

#mac_config_001122334455=( "dhcp" )
#mac_dhcpcd_001122334455="-t 10"
#mac_dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" )

ЗЫ
1) Файлы инициализации сильно зависят от версии баслэйаут.У меня
baselayout-1.12.0

Полагаю надо

Полагаю надо копать в сторону передачи параметров ядру в загрузчике - по крайней мере с ISA так делал. Хотя может быть действительно проще переткнуть кабели или поменять названия интерфейсов в конфигах

Как вариант,

Как вариант, если сетевухи стоят разные и соответственно юзают разные модули, можно играться порядком загрузки этих модулей в /etc/modules.autoload.d/kernel-2.6.

# INTERFACE RENAMING # There

# INTERFACE RENAMING
# There is no consistent device renaming scheme for Linux.
# The preferred way of naming devices is via the kernel module directly or
# by using udev (http://www.reactivated.net/udevrules.php)

# If you are unable to write udev rules, then we do provide a way of renaming
# the interface based on it's MAC address, but it is not optimal.
# Here is how to rename an interface whose MAC address is 00:11:22:33:44:55
# to foo1
#rename_001122334455="foo1"

# You can also do this based on current device name - although this is not
# recommended. Here we rename eth1 to foo2.
#rename_eth1="foo2"

baselayout 1.12.0-r1

Трудно в net.example заглянуть?

Не умничай,

Не умничай, такой финт доступен начиная только с baselayout-1.12.x.
Раньше подобное нужно было делать через udev, но ведь теперь "there's more than one way to do it"
_________________
Прежде чем задать вопрос, подумай, а не додумались до него раньше?
From Siberia with Love!

Ребята

Ребята проблема не решена драйвера в монолитном ядре подскажите как поменять названия сетевух
с дровми в качестве модулей через удев все прекрасно а как быть с монолитным ядром

Вопервых ядро

Вопервых ядро линукса всегда монолитно. Ненадо путать модульность и микроядра.
Во вторых смотри выше, написан же вариант как основываясь на mac адресе переименовать.

PS: знаки препинания нужно использовать!

Может я чего и

Может я чего и не понимаю. Вы уж тогда объясните что к чему чтобы уже понял раз и навсегда. Я собираю ядро без поддержки модулей. В связи с этим способ через udev не работает. или в последних ядрах и удев есть такая возможность. хотя
# INTERFACE RENAMING
# There is no consistent device renaming scheme for Linux.
# The preferred way of naming devices is via the kernel module directly or
# by using udev (http://www.reactivated.net/udevrules.php)

тут четко написано что через udev для модулей.
и если честно достают отмазки типа смотри ртфм мануал и так далее не хочешь отвечать не отвечай вообще. а если взялса за дело ответь до конца. может я и просматривал эти документы а что то упустил или с первого раза в голове не осело.

чесно говоря

чесно говоря даже промт эту фразу почти нормально перевёл

http://www.translate.ru
Привилегированный способ называть устройства - через ядерный модуль непосредственно или при использовании udev (http: // www.reactivated.net/udevrules.php)

Какие отмазки?

Какие отмазки? Все уже было написано. Про udev тебе уже ответили, нехочешь udev, можно было парой строчек ниже почитать:

# If you are unable to write udev rules, then we do provide a way of renaming
# the interface based on it's MAC address, but it is not optimal.
# Here is how to rename an interface whose MAC address is 00:11:22:33:44:55
# to foo1
#rename_001122334455="foo1"

При

При использовании udev создать фалй /etc/usdev/10-udev.rules с, примерно, таким содержанием

KERNEL=="eth*", SYSFS{address}=="00:60:98:ef:f0:bd", NAME="stream0" ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
KERNEL=="eth*", SYSFS{address}=="00:14:2a:6b:d1:87", NAME="starlink0", ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"

где SYSFS{address}= - MAC-адрес сетевой карты, NAME= произвольное имя сетевого интерфейса.

Такой вариант работает у меня при Gentoo 2006.1, baselayout-1.12.9, udev-104-r1

Достаточно

Достаточно лишь
KERNEL=="eth*", SYSFS{address}=="00:60:98:ef:f0:bd", NAME="stream0"

я вообще хотел

я вообще хотел через прерывания привязать, на другой машине ядро модульное там все ништяк а вот попробовал на этой машине сразу не завелось
сработало только после такой строчки и разместил я ее в стандартном правиле 50 и т.д.
KERNEL=="eth2", SYSFS{irq}=="12", NAME="eth0"
gentoo 2005.1 правда незнаю версию пакетов но думаю надо будет сейчас обновится и попробовать еще раз

вернее вот

вернее вот такая строчка почему заработало сам не пойму
KERNEL=="eth0", SYSFS{irq}=="12", NAME="eth0"

Велосипедисты

Велосипедисты блин... Есть утилита для этого nameif, подробнее читайте тут:

http://www.opennet.ru/tips/info/1335.shtml

у меня так:

у меня так:

cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:04:75:e2:e8:64", NAME="eth0"

# PCI device 0x10b7:0x9050 (3c59x)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:10:4b:ac:ce:42", NAME="eth1"

# PCI device 0x1106:0x3065 (via-rhine)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:04:61:50:74:73", NAME="eth3"

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".