On 9/24/2010 at 16:24, Uwe Gansert <ug@suse.de> wrote: on Friday 24 September 2010 Andreas Taschner wrote:
Trying to work around this they have developed as script that will be run after the SLESinstallation. The script will replace the /etc/udev/rules.d/70-persistent-net.rules file with new rules that * Splits the name space of eth into "drivername" with individual enumeration, for each driver. * Uses busid instead of MAC to facilitate easy swap of broken cards. Also pci bus-id naming seems to follow the physical port assignment on the ports, which MAC address does not.
Michal Zugec wrote in his blog about that a while ago. The example is for MAC addresses but I hope you can change it to your customers needs: http://mzugec.blogspot.com/2008/07/autoyast-network-device-names.html
Thank you for that hint, Uwe. I have created and tested a udev rule like this : SUBSYSTEM=="net", ACTION=="add", BUS=="pci", ID=="0000:04:04.0", KERNEL=="eth*", NAME="eth3" Applying that to an autoyast profile (which is using probably buggy syntax - I do not really understand the <rule> elements : ... <net-udev config:type="list"> <rule> <name>eth0</name> <rule>BUS</rule> <value>PCI</value> <rule>ID</rule> <value>0000:04:04.0</value> </rule> <rule> <name>eth1</name> <rule>BUS</rule> <value>PCI</value> <rule>ID</rule> <value>0000:04:01.0</value>0000:04:04.0 </rule> </net-udev> ... Although it works for eth0 (which is really great), the rest does not get picked up correctly and udev ends up setting its default rules for the remaining interfaces, resulting in this /etc/udev/rules.d/70-persistent-net.rules file : SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ID=="0000:04:04.0", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", =="", NAME="" <<<<?????? # PCI device 0x8086:0x107c (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0e:0c:d7:f7:79", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device 0x8086:0x107c (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:21:2e:70:a4", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2" Any tips ? Sorry if I am missing really, really basic knowledge in this area ... Thanks. //Andreas -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-autoinstall+help@opensuse.org