Udev net issues

Phil Meyer pmeyer at themeyerfarm.com
Tue Sep 2 19:41:33 UTC 2008


Phil Meyer wrote:
> Joseph L. Casale wrote:
>>> Good question, and yes, udev DOES keep track.
>>>
>>> check in /etc/udev/rules.d for file names with *persistant* in them.
>>> There are several, and one for -- you guessed it -- network/NIC data.
>>>
>>> By removing the persistent file(s), udev will rebuild it with the
>>> correct/current info.
>>>
>>> This is how you install on one platform and put that disk into 
>>> another.:
>>> Remove the udev persistant rules in the post-install.
>>>     
>>
>> Phil,
>> This is exactly what I did, I moved the file out altogether.
>> Should I have simply removed the line in it? It recreated the
>> file next boot with the old mac address only to still cause issues!
>>
>> Thanks,
>> jlc
>>
>>   
>
> Yes, do not move (mv) the file, remove  (rm) it.  Copy it first to 
> some other directory if you wish, but do not leave any trace of the 
> original file anywhere udev can find it. :)
>
> Good Luck!
>

One further clarification:

To make a 'clean' system disk that can be put into another system, 
remove all the /etc/udev/rules.d/*persistant* and 
/etc/sysconfig/network-scripts/*eth? and 
/etc/sysconfig/network-scripts/*wlan? and /etc/X11/xorg.conf files.

I always do this in a post install, and have not tried it on a live 
system.  It may be necessary to do this from a rescue disk.  I do not 
know if a running udev will 'let you' remove that data.

Sorry to not be able to verify the steps on a previously running 
system.  I just don't do those. 

However, every day I use a virtual machine on my desktop to install an 
OS on Compact Flash Cards, and thumb drives, to be used in a variety of 
equipment.  This method works perfectly for that, with the exception 
that I have to also rebuild the initrd image with drivers that anaconda 
did not see during the install.

Here is what I use, for the curious:

My %post section includes this:

#
# fix udev rules for fake interfaces
#
rm -f /etc/udev/rules.d/70-persistent-net.rules
rm -f /etc/X11/xorg.conf
#
cat << _EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
#
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=
IPV6INIT=no
ONBOOT=yes
DHCP_HOSTNAME=skid
TYPE=Ethernet
_EOF
#
# make sure usb-storage is in the initrd image
#
kernel=`ls /boot/vmli* | awk -F\- '{printf("%s-%s\n", $2,$3)}'`
initrd="/boot/initrd-${kernel}.img"
rm $initrd
mkinitrd --preload=ehci-hcd --preload=ahci --preload=libata 
--preload=jbd --preload=ohci-hcd --preload=uhci-hcd 
--preload=scsi_wait_scan --preload=usb-storage --preload=scsi_mod 
--preload=sd_mod --preload=pata_amd --preload=ata_generic 
--preload=pata_cs5536 --preload=pata_acpi $initrd $kernel
#


Good Luck




More information about the fedora-list mailing list