Re: 70-persistent-net.rules
Mike Johnston schrieb: Hello,I have a LFS system with a read only file system. I have /etc/udev/rules.d a symlink to a read/write partition. The 70-persistent-net.rules file gets generated and keeps on growing for every reboot. If i make the root filesystem read/write, this file does not get re-generated and stays constant. Any ideas as I need the root filesystem r/o and I/m imaging these systems in our lab. Mike look at /lib/udev/write_*_rules my solution is not very 'nice' but suites my needs: insert just an 'exit 0' after the '!/bin/sh -e' i had the problem with booting from an usb-stick which added all found network-cards and cd-drives to the persisten rules. i hope this helps tobias -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules
Mike Johnston schrieb: Thank you. That would work however, I want to make 30 instances for 30 machines. I need to generate the 70-persistent-net.rules file so each machine has fixed interface names. you don't need a 70-persistent-net.rules file. as you are writing in plural, you have more then 1 interface on each machine? if not, just forget about - the single interface will always be eth0. if you have more than 1, but with different chipsets, you can either create specific rules for udev or have 1 interface in the kernel (will be eth0) and the rest as modules, forcing the modules to be loaded in a given sequence resulting in the same order each time you boot. i'm having a board here with 2 onboard nics (realtec, but with abit mac-prefix 00-50-8d). the mac differs by 1 in the very last digit. booting without rules is 50% chance to have the nics the way you want. in this situation you really need to have the 70..rules-file! What I don't understand is that if its a symlink on read/write partition it consistently keeps adding to the file. If it's not a symlink but a real file, it doesn't regenerate and stays a fixed size. How does it know this? im not shure, but i guess it might be a feature (or bug) in the /lib/udev/rule_generator.functions i guess the directory is not writeable, just the linked file is. you can change the write_net_rules to not check for writeable or use another path for the locking-file by copying and renaming the fuctions from rule_generator.function to write_net_rules and modify it to your needs. tobias -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules
On Sunday 22 August 2010 09:20:29 Mike Johnston wrote: Thank you. That would work however, I want to make 30 instances for 30 machines. I need to generate the 70-persistent-net.rules file so each machine has fixed interface names. What I don't understand is that if its a symlink on read/write partition it consistently keeps adding to the file. If it's not a symlink but a real file, it doesn't regenerate and stays a fixed size. How does it know this? Are you saying that the *only* difference in your two scenarios is that 70-persistent-net.rules is a symlink in one and a real file in the other? That there is absolutely no other difference in the content of the two files? You may have to delve into the udevd source code to find the answer. You might try to configure udevd to use your RW partition directly and make /etc/udev a convenience symlink to the (now-correct) location. FWIW, it took me 2-3 months last year to integrate udev into Smoothwall. And only a couple weeks ago I found that my 70.persistent-net.rules wasn't right. It was days more before my install script *finally* generated the correct syntax. Udev now correctly renames my NICs as specified, keeps them that way, and does not add extraneous entries to the net rules file. I chalk this up to udev having less-than-crystal-clear documentation. Be certain your generated rules are absolutely identical in syntax to the rules that udevd generates. Any deviation, and udevd will silently puke out its own rules. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created in section 7.13 of LFS 6.6 Book
On Fri, Apr 9, 2010 at 8:57 PM, jumbophut wrote: After running the code in section 7.13, viz: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done I cannot find the /etc/udev/rules.d/70-persistent-net.rules file that is supposed to have been generated. [snip] On Fri, Apr 9, 2010 at 3:04 AM, Trent Shea wrote: I'm pretty sure I had the same issue. I ran the for command again after switching to the LFS system and the file was generated. Thanks Andy and Trent. I will try the run again after switching to LFS solution first, and the manual rule if that's unsuccessful. Update: the first solution worked; no problems at all. Thanks again. -- Tony (echo 'spend!,pocket awide' | sed 'y/acdeikospntw!, /l...@omcgtjuba.phi/') -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created in section 7.13 of LFS 6.6 Book
On 08/04/10 10:17, jumbophut wrote: After running the code in section 7.13, viz: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done I cannot find the /etc/udev/rules.d/70-persistent-net.rules file that is supposed to have been generated. I have spent some time trying to track down the reason why the file is not created. As far as I can tell /lib/udev/write_net_rules is not being invoked at all, and this is possibly because the following line in /lib/udev/rules.d/75-persistent-net-generator.rules is not generating a match: DRIVERS==?*, IMPORT{program}=write_net_rules The output of /udevadm info --attribute-walk --path=/sys/class/net/eth0 is: looking at device '/class/net/eth0': KERNEL==eth0 SUBSYSTEM==net DRIVER== ATTR{addr_len}==6 ATTR{dev_id}==0x0 ATTR{iflink}==2 ATTR{ifindex}==2 ATTR{features}==0x0 ATTR{type}==1 ATTR{link_mode}==0 ATTR{address}==00:04:xx:xx:xx:xx [MAC address blanked out by me, but first 2 hex bytes are correct] ATTR{broadcast}==ff:ff:ff:ff:ff:ff ATTR{carrier}==1 ATTR{dormant}==0 ATTR{operstate}==up ATTR{mtu}==1500 ATTR{flags}==0x1003 ATTR{tx_queue_len}==1000 looking at parent device '/class/net': KERNELS==net SUBSYSTEMS==subsystem DRIVERS== A problem that may be related to this has been referred to before on this list, but not solved. See: http://www.linuxfromscratch.org/pipermail/lfs-support/2010-January/037398.html Any suggestions for how to fix this would be appreciated (although since I have just the one network card I am hopeful that things will work regardless once I have a full LFS system). I don't know why the file isn't being created, but I would expect the ethernet connection to work anyway. If you want to create the file by hand, something like this should work: echo SUBSYSTEM==\net\, ACTION==\add\, DRIVERS==\?*\, \ ATTR{address}==\00:04:xx:xx:xx:xx\, ATTR{dev_id}==\0x0\, \ ATTR{type}==\1\, KERNEL==\eth*\, NAME=\eth0\ \ /etc/udev/rules.d/70-persistent-net.rules Change 00:04:xx:xx:xx:xx for your actual mac address Andy -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created in section 7.13 of LFS 6.6 Book
On April 8, 2010 03:17:38 am jumbophut wrote: After running the code in section 7.13, viz: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done I cannot find the /etc/udev/rules.d/70-persistent-net.rules file that is supposed to have been generated. FURTHER SETUP/SYSTEM INFORMATION. == I am: * using Version 6.6 of the LFS book (the previous appearance of the problem was in version 6.5). * running Debian Lenny on an ix86 machine (Pentium III). * not deviating from the instructions in the book (not consciously, anyway) I'm pretty sure I had the same issue. I ran the for command again after switching to the LFS system and the file was generated. -- Regards, Trent. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Tue, Jan 12, 2010 at 09:07:07PM -0600, jmsc...@setex.ipcallback.com wrote: On Tue, Jan 12, 2010 at 12:57:25PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: regarding the following code blurb in LFS 6.5, chapter 7.13.1 for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done i've come to the conclusion that something is missing. Yes, there is something wrong, but it's on your system. I was able to do this: i may have found something. i was incorrect about the udev source not containing the word INTERFACE. at line 664 of udev/udev-event.c the value of INTERFACE is being conditionally added to the udev property list, which i'm pretty sure becomes the environment exported to the script. the condition for exporting INTERFACE is that something called syspath contains a '/'. i'm tracing down what syspath is now. never really arrived at a conculsion regarding why the INTERFACE environment variable was not being exported to /lib/udev/write_net_rules. i was able to alleviate the issue by creating a rules file that explicitly exports INTERFACE in /etc/udev/rules.d/69-jmscott.rules. Ths content of that file follows: ENV{INTERFACE}==,ACTION==add, SUBSYSTEM==net, KERNEL==eth0, ENV{INTERFACE}:=/sys/class/net/eth0 this rule exports INTERFACE for eth0, and, hence /etc/udev/rules.d/70-persistent-net.rules appears to be written as the book requires. obviously, is an ugly hack, but it' the one i'm going to stick with for the sake of pushing forward with building a bootable linux, until i get a better understanding if udev. any coments or advice is appreciated-j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Tue, 2010-01-12 at 21:55 -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: by the way, one of the conditions for setting the value of INTERFACE is that udev_device_get_subsystem(dev), net) == 0 That seems like it is looking for /dev. If it errors, the expression is false. I wonder if dev above is a shorthand for /sys/devices? -- Bruce The quoted code is just a fragment of the actual condition, which is: if (strcmp(udev_device_get_subsystem(dev), net) == 0 strcmp(udev_device_get_action(dev), add) == 0) { Which I'd read as if the device's subsystem is 'net' and if the device is being added. The 'dev' is some kind of data structure containing info about the device, nothing to do with /dev. Simon. signature.asc Description: This is a digitally signed message part -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Mon, Jan 11, 2010 at 01:08:35AM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: On Sun, Jan 10, 2010 at 10:37:13PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: the standard output to /lib/udev/write_net_rules is caught and filtered by udevadm, so examining the env list to execve() seemed a bit more direct. Where is standard output caught? I don't see it. After options, udevadm libudev/libudev-util-private.c, util_run_program(), line 238. from a causual reading of the source, looks like udevadm-test() eventually calls util_run_program() We may be running different versions of udev. I'm looking at 145. getting late ... i'm sure it's something simple. mere matter of debugging. I agree. I haven't heard of anyone else having the problem. i apologize for truncating the full conversation. regarding the following code blurb in LFS 6.5, chapter 7.13.1 for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done i've come to the conclusion that something is missing. as best i can tell, the environment variable INTERFACE is not passed unqualified to the dependent script /lib/udev/write_net_rules referenced in the rules file /lib/udev/rules.d/75-persistent-net-generator.rules, causing the error util_run_program: '/lib/udev/write_net_rules' (stderr) 'missing $INTERFACE' so far, my opinion is that either a rule to export INTERFACE needs to be added to some rules file, which escapes me now, or this is just flat out a bug. so, in the name of progress, i like to solict advice on what to do next, before my hacking corrupts the still unbooted lfs filesystem. since i have only one eth0 nic, is it safe to simply ignore the generation of /etc/udev/rules.d/70-persistent-net.rules and move on to chapter 8? won't the single nic be installed as eth0, anyway. again, my apologies for not including the entire conversation. -j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On 1/12/10, jmsc...@setex.ipcallback.com jmsc...@setex.ipcallback.com wrote: so, in the name of progress, i like to solict advice on what to do next, LFS-6.4 and earlier had: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add --subsystem=net $NIC done I wonder why subsystem was later removed. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Tue, Jan 12, 2010 at 10:02:02AM -0500, linux fan wrote: On 1/12/10, jmsc...@setex.ipcallback.com jmsc...@setex.ipcallback.com wrote: so, in the name of progress, i like to solict advice on what to do next, LFS-6.4 and earlier had: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add --subsystem=net $NIC done I wonder why subsystem was later removed. not clear that adding --subsystem would force INTERFACE to be exported to the /lib/udev/write_net_rules call. i dont see a reference to the word INTERFACE in a different text file underneatch /etc/udev, /lib/udev or the udev-145 source tree, so it's not clear to me how INTERFACE ever got exported in the first place, at least for udev-145. udevadm seems concise about what is exported to the rule scripts. right now, i don't even know how to hack a patch. i thought perhaps an export rule could be added to the /etc/udev/rules.d/55-lfs.rules, but it's not clear to me how to write a udev rule to redefine an environment variable using the value of another environment variable. i do see how to define an environment variable as a constant string. unfortunately, i'm uncomforatble making to many changes to the lfs file system until i get my first kernel to boot. this seems more like a udev-145 problem than an lfs problem. clearly /lib/udev/write_net_rules is intended to be run from the rules file, since /lib/udev/rules.d/75-persistent-net-generator.rules references the script. so, i conclude, either another method exists to export variables to scripts or this is just a bug in udev-145. -j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On 1/12/10, jmsc...@setex.ipcallback.com jmsc...@setex.ipcallback.com wrote: not clear that adding --subsystem would force INTERFACE to be exported to Hmm, Output of ls -d /sys/class/net/* /sys/class/net/eth0 /sys/class/net/lo Output of ls -dl /sys/class/net/* lrwxrwxrwx 1 root root 0 2010-01-12 03:44 /sys/class/net/eth0 - ../../devices/pci:00/:00:09.0/net/eth0 lrwxrwxrwx 1 root root 0 2010-01-12 03:44 /sys/class/net/lo - ../../devices/virtual/net/lo I made a quick script and named it fubar: for NIC in /sys/class/net/* ; do echo INTERFACE=${NIC##*/} udevadm test --action=add $NIC done Here is the output of 'sh fubar' INTERFACE=eth0 udevadm test --action=add /sys/class/net/eth0 INTERFACE=lo udevadm test --action=add /sys/class/net/lo I remove the rule in my /etc/udev/rules.d/70-persistent-net.rules pertaining to eth0 (the only rule in the file). I execute the command line: INTERFACE=eth0 udevadm test --action=add /sys/class/net/eth0 And I get the exact same rule put back in and I did see this output which is consistent with the ls -dl import_uevent_var: import into environment: 'INTERFACE=eth0' import_uevent_var: import into environment: 'IFINDEX=2' udevadm_test: looking at device '/devices/pci:00/:00:09.0/net/eth0' from subsystem 'net' Just experimenting ... -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On 1/12/10, linux fan wrote: Just experimenting ... It almost seems like export/import is fouled up. The following block should print: bar .. foo= echo 'echo $foo' fubar chmod 755 fubar foo=bar ./fubar echo .$foo. -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: regarding the following code blurb in LFS 6.5, chapter 7.13.1 for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done i've come to the conclusion that something is missing. Yes, there is something wrong, but it's on your system. I was able to do this: $ for NIC in /sys/class/net/* ; do \ INTERFACE=${NIC##*/}; echo $INTERFACE; done eth0 lo sit0 I then edited /lib/udev/write_net_rules and put the following at the top of the file: echo write_net_rules start xxx env xxx exit I renamed /etc/udev/rules.d/70-persistent-net.rules and ran: # INTERFACE=eth0 /sbin/udevadm test --action=add /sys/class/net/eth0 # cat xxx write_net_rules start SUBSYSTEM=net DEVPATH=/devices/pci:00/:00:19.0/net/eth0 ACTION=add PWD=/etc/udev/rules.d UDEV_LOG=6 COMMENT=PCI device 0x8086:0x10de (e1000e) MATCHADDR=00:25:64:38:ec:dd SHLVL=1 IFINDEX=2 INTERFACE=eth0 MATCHIFTYPE=1 _=/usr/bin/env As you can see, INTERFACE was passed just fine. I removed the edits to write_net_rules and re-ran the udevadm test command and 70-persistent-net.rules was generated just fine. as best i can tell, the environment variable INTERFACE is not passed unqualified to the dependent script /lib/udev/write_net_rules referenced in the rules file /lib/udev/rules.d/75-persistent-net-generator.rules, causing the error util_run_program: '/lib/udev/write_net_rules' (stderr) 'missing $INTERFACE' so far, my opinion is that either a rule to export INTERFACE needs to be added to some rules file, which escapes me now, or this is just flat out a bug. so, in the name of progress, i like to solict advice on what to do next, before my hacking corrupts the still unbooted lfs filesystem. since i have only one eth0 nic, is it safe to simply ignore the generation of /etc/udev/rules.d/70-persistent-net.rules and move on to chapter 8? Yes. won't the single nic be installed as eth0, anyway. Yes. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Tue, Jan 12, 2010 at 12:57:25PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: regarding the following code blurb in LFS 6.5, chapter 7.13.1 for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done i've come to the conclusion that something is missing. Yes, there is something wrong, but it's on your system. I was able to do this: i may have found something. i was incorrect about the udev source not containing the word INTERFACE. at line 664 of udev/udev-event.c the value of INTERFACE is being conditionally added to the udev property list, which i'm pretty sure becomes the environment exported to the script. the condition for exporting INTERFACE is that something called syspath contains a '/'. i'm tracing down what syspath is now. -j $ for NIC in /sys/class/net/* ; do \ INTERFACE=${NIC##*/}; echo $INTERFACE; done eth0 lo sit0 I then edited /lib/udev/write_net_rules and put the following at the top of the file: echo write_net_rules start xxx env xxx exit I renamed /etc/udev/rules.d/70-persistent-net.rules and ran: # INTERFACE=eth0 /sbin/udevadm test --action=add /sys/class/net/eth0 # cat xxx write_net_rules start SUBSYSTEM=net DEVPATH=/devices/pci:00/:00:19.0/net/eth0 ACTION=add PWD=/etc/udev/rules.d UDEV_LOG=6 COMMENT=PCI device 0x8086:0x10de (e1000e) MATCHADDR=00:25:64:38:ec:dd SHLVL=1 IFINDEX=2 INTERFACE=eth0 MATCHIFTYPE=1 _=/usr/bin/env As you can see, INTERFACE was passed just fine. I removed the edits to write_net_rules and re-ran the udevadm test command and 70-persistent-net.rules was generated just fine. as best i can tell, the environment variable INTERFACE is not passed unqualified to the dependent script /lib/udev/write_net_rules referenced in the rules file /lib/udev/rules.d/75-persistent-net-generator.rules, causing the error util_run_program: '/lib/udev/write_net_rules' (stderr) 'missing $INTERFACE' so far, my opinion is that either a rule to export INTERFACE needs to be added to some rules file, which escapes me now, or this is just flat out a bug. so, in the name of progress, i like to solict advice on what to do next, before my hacking corrupts the still unbooted lfs filesystem. since i have only one eth0 nic, is it safe to simply ignore the generation of /etc/udev/rules.d/70-persistent-net.rules and move on to chapter 8? Yes. won't the single nic be installed as eth0, anyway. Yes. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Tue, Jan 12, 2010 at 10:02:02AM -0500, linux fan wrote: On 1/12/10, jmsc...@setex.ipcallback.com jmsc...@setex.ipcallback.com wrote: so, in the name of progress, i like to solict advice on what to do next, LFS-6.4 and earlier had: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add --subsystem=net $NIC done I wonder why subsystem was later removed. the version of udevadm on my 6.5 lfs doesn't appear to support --subsystem for test, despite what the manual says. the test options defined for getopts() in udev/udevadm-test.c, line 45 don't define --subsystem. also, doing udevadm test --help dumps the test specific options. by the way, one of the conditions for setting the value of INTERFACE is that udev_device_get_subsystem(dev), net) == 0 at udev/udev-event.c, line 632. i suspect this is related to my problems with INTERFACE not being exported to /lib/udev/write_net_rules. so many lines, so little time-j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: by the way, one of the conditions for setting the value of INTERFACE is that udev_device_get_subsystem(dev), net) == 0 That seems like it is looking for /dev. If it errors, the expression is false. I wonder if dev above is a shorthand for /sys/devices? -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Mon, Jan 11, 2010 at 01:08:35AM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: On Sun, Jan 10, 2010 at 10:37:13PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: the standard output to /lib/udev/write_net_rules is caught and filtered by udevadm, so examining the env list to execve() seemed a bit more direct. Where is standard output caught? I don't see it. After options, udevadm libudev/libudev-util-private.c, util_run_program(), line 238. from a causual reading of the source, looks like udevadm-test() eventually calls util_run_program() We may be running different versions of udev. I'm looking at 145. bb4a557de1fcef2cbeefea8b8e7cb7938bb54760 udev-145.tar.bz2 7091aa1ec78fdb9247f3813d785bc4e9a03efd2b udev-config-20090523.tar.bz2 getting late ... i'm sure it's something simple. mere matter of debugging. from a casual reading of the udevadm source, to me it appears the construction of the envp list to execve() is anything but simple. so far, the udev source i'm examining is consistent with the behavior i'm seeing, but i haven't hacked too deeply, since i'm trying to keep the lfs fs as pristine as possible. it appears only execve() invokes the script, so the environment would be created explicitly. i don't see any reference to the global **environ list or to any environment passed in main(), so i assume the environment is derived according some interaction with the rules file. before hacking too much further, i ought to readup on udevadm. unfortunately, my linux kernel building knowledge is way pre udev. I agree. I haven't heard of anyone else having the problem. -- Bruce hi-ho, hi-ho ... -j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Sat, Jan 09, 2010 at 12:48:42PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: i see the error util_run_program: 'write_net_rules' util_run_program: '/lib/udev/write_net_rules' (stderr) 'missing $INTERFACE' util_run_program: 'write_net_rules' returned with exitcode 1 amongst the voluminous output. i tried exporting INTERFACE and rerunning the command ... same error output. Try again. 'write_net_rules' is a script. It's erroring out at if [ -z $INTERFACE ]; then echo missing \$INTERFACE 2 exit 1 fi You are doing something wrong with setting the INTERFACE variable. looks like the problem is a bit more subtle. from examining the udevadm source, it appears the environment variable list is rebuilt for the execve call to /lib/udev/write_net_rules. i do see the INTERFACE env variable being passed to udevadm in main(), as expected, but not being included in the envp list passed to the exec call /lib/udev/write_net_rules, hence the error above. in other words, it appears udevadm is not inheriting the exported environent as expected. getting too late tonight for me to continue tracing, but so far this appears to be more than a simple invocation error. -j -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: from examining the udevadm source, it appears the environment variable list is rebuilt for the execve call to /lib/udev/write_net_rules. i do see the INTERFACE env variable being passed to udevadm in main(), as expected, but not being included in the envp list passed to the exec call /lib/udev/write_net_rules, hence the error above. in other words, it appears udevadm is not inheriting the exported environent as expected. Why don't you just run a test and add a 'env' command to the top of /lib/udev/write_net_rules to see what all the environment variables are? If INTERFACE set before you call write_net_rules and not within the script, then we need to solve that problem. You are using bash, right? -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Sun, Jan 10, 2010 at 08:38:09PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: from examining the udevadm source, it appears the environment variable list is rebuilt for the execve call to /lib/udev/write_net_rules. i do see the INTERFACE env variable being passed to udevadm in main(), as expected, but not being included in the envp list passed to the exec call /lib/udev/write_net_rules, hence the error above. in other words, it appears udevadm is not inheriting the exported environent as expected. Why don't you just run a test and add a 'env' command to the top of /lib/udev/write_net_rules to see what all the environment variables are? the standard output to /lib/udev/write_net_rules is caught and filtered by udevadm, so examining the env list to execve() seemed a bit more direct. adding a call to env in /lib/udev/write_net_rules has same result. INTERFACE is not defined. If INTERFACE set before you call write_net_rules and not within the verified with a printf of getenv(INTERFACE) in main() of udevadm. script, then we need to solve that problem. You are using bash, right? yep, /bin/bash, not /tools/bin/bash . up until this problem, i was carefully following the letter of the book, with no problems. -- Bruce ambitious and much needed project, by the way. -j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: the standard output to /lib/udev/write_net_rules is caught and filtered by udevadm, so examining the env list to execve() seemed a bit more direct. Where is standard output caught? I don't see it. After options, udevadm just calls udevadm-test(argc, argv). adding a call to env in /lib/udev/write_net_rules has same result. INTERFACE is not defined. If INTERFACE set before you call write_net_rules and not within the verified with a printf of getenv(INTERFACE) in main() of udevadm. That's your problem, but I don't know how to fix it. Can you try: char* e = *environ; while ( *e != NULL ) { printf( %s\n, *e ); e++; } -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Sun, Jan 10, 2010 at 10:37:13PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: the standard output to /lib/udev/write_net_rules is caught and filtered by udevadm, so examining the env list to execve() seemed a bit more direct. Where is standard output caught? I don't see it. After options, udevadm libudev/libudev-util-private.c, util_run_program(), line 238. from a causual reading of the source, looks like udevadm-test() eventually calls util_run_program() to invoke /lib/udev/write_net_rules, which is where the standard output is massaged. udev_device_get_properties_envp() sets up the environment for the execve() call in util_run_program(). funny thing is i don't see any reference to char **environ, so i don't see any obvious way the unqualified, exported environment could get to the invocation of /lib/udev/write_net_rules. do the rules files need to explicitly mention the INTERFACE variable? getting late ... i'm sure it's something simple. mere matter of debugging. just calls udevadm-test(argc, argv). adding a call to env in /lib/udev/write_net_rules has same result. INTERFACE is not defined. If INTERFACE set before you call write_net_rules and not within the verified with a printf of getenv(INTERFACE) in main() of udevadm. That's your problem, but I don't know how to fix it. Can you try: char* e = *environ; while ( *e != NULL ) { printf( %s\n, *e ); e++; } main: INTERFACE=/sys/class/net/eth0 main: TERM=xterm main: OLDPWD=/usr/src main: PATH=/bin:/usr/bin:/sbin:/usr/sbin main: PWD=/usr/src/udev-145 main: LANG=en_US.ISO-8859-1 main: PS1=\u:\w\$ main: SHLVL=1 main: HOME=/root -- Bruce -- -j http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: On Sun, Jan 10, 2010 at 10:37:13PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: the standard output to /lib/udev/write_net_rules is caught and filtered by udevadm, so examining the env list to execve() seemed a bit more direct. Where is standard output caught? I don't see it. After options, udevadm libudev/libudev-util-private.c, util_run_program(), line 238. from a causual reading of the source, looks like udevadm-test() eventually calls util_run_program() We may be running different versions of udev. I'm looking at 145. getting late ... i'm sure it's something simple. mere matter of debugging. I agree. I haven't heard of anyone else having the problem. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Fri, Jan 08, 2010 at 11:36:19PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: Nope, appears that /etc/udev/rules.d/70-persistent-net.rules is missing. I see many but no obvious errors in the output of of the 'for' loop in the blurb in paragraph 7.13.1: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done Perplexing. If you do INTERFACE=eth0 udevadm test --action=add eth0 Do you get anything? now i'm seeing the error unable to open device '/syseth0' hmmm. scrolling through my history, i see i definitely didn't get that error earlier. still no /etc/udev/rules.d/70-persistent-net.rules Actually, since you have only one nic, you don't need 70-persistent-net.rules. The only nic will always be given eth0. Since udev isn't critical to booting a kernel, I suppose I can keep soldiering forward, but I'd prefer to follow the letter of the Book ... Actually udev is critical. You won't get any devices without it. The network devices aren't critical though. quite right. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: If you do INTERFACE=eth0 udevadm test --action=add eth0 Do you get anything? now i'm seeing the error unable to open device '/syseth0' My fault. It should be INTERFACE=/sys/class/net/eth0 udevadm test --action=add /sys/class/net/eth0 (one line) -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Sat, Jan 09, 2010 at 12:04:41PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: If you do INTERFACE=eth0 udevadm test --action=add eth0 Do you get anything? now i'm seeing the error unable to open device '/syseth0' My fault. It should be INTERFACE=/sys/class/net/eth0 udevadm test --action=add /sys/class/net/eth0 (one line) i see the error util_run_program: 'write_net_rules' util_run_program: '/lib/udev/write_net_rules' (stderr) 'missing $INTERFACE' util_run_program: 'write_net_rules' returned with exitcode 1 amongst the voluminous output. i tried exporting INTERFACE and rerunning the command ... same error output. -- Bruce -- -j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: i see the error util_run_program: 'write_net_rules' util_run_program: '/lib/udev/write_net_rules' (stderr) 'missing $INTERFACE' util_run_program: 'write_net_rules' returned with exitcode 1 amongst the voluminous output. i tried exporting INTERFACE and rerunning the command ... same error output. Try again. 'write_net_rules' is a script. It's erroring out at if [ -z $INTERFACE ]; then echo missing \$INTERFACE 2 exit 1 fi You are doing something wrong with setting the INTERFACE variable. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Sat, Jan 09, 2010 at 12:48:42PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: i see the error util_run_program: 'write_net_rules' util_run_program: '/lib/udev/write_net_rules' (stderr) 'missing $INTERFACE' util_run_program: 'write_net_rules' returned with exitcode 1 amongst the voluminous output. i tried exporting INTERFACE and rerunning the command ... same error output. Try again. 'write_net_rules' is a script. It's erroring out at root:~# INTERFACE=/sys/class/net/eth0 udevadm test --action=add /sys/class/net/eth0 ... util_run_program: 'write_net_rules' util_run_program: '/lib/udev/write_net_rules' (stderr) 'missing $INTERFACE' util_run_program: 'write_net_rules' returned with exitcode 1 ... if [ -z $INTERFACE ]; then echo missing \$INTERFACE 2 exit 1 fi You are doing something wrong with setting the INTERFACE variable. or what ever calls /lib/udev/write_net_rules is changing INTERFACE. looks like i'm going to have to poke around in udevadm source. uggh. -j -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Thu, Jan 07, 2010 at 11:15:23PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: Hello, I'm having a problem with configuring the network scripts in the LFS book 6.5. The file /etc/udev/rules.d/70-persistent-net.rules doesn't appear to be created. In particular, in chapter 7.13.1 is the blurb of code to pre-generate the udev rules file for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done followed by the blurb to inspect the 70-persistent-net.rules file. cat /etc/udev/rules.d/70-persistent-net.rules The problem is that /etc/udev/rules.d/70-persistent-net.rules is not created. Did I miss running a command in the previous chapters ... perhaps /lib/udev/write_net_rules? Here is the link to the web page with the code in question http://www.linuxfromscratch.org/lfs/view/stable/chapter07/network.html Also, the host os is a freshly installed Centos 5.4 server in a virtualbox.com VM, all running under MAC Snow Leopard. Does the VM have a NIC? What are the results of ls /sys/class/net/ Yes, the NIC is configured and working in the host. I'm acccessing the host via ssh. The output of the ls and cat commands follow: root:~# ls /sys/class/net/ eth0 lo sit0 root:~# cat /etc/udev/rules.d/70-persistent-net.rules cat: /etc/udev/rules.d/70-persistent-net.rules: No such file or directory You should have a eth0. The udevadm test generates the 70-persistent-net.rules file: Nope, appears that /etc/udev/rules.d/70-persistent-net.rules is missing. I see many but no obvious errors in the output of of the 'for' loop in the blurb in paragraph 7.13.1: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done Perplexing. $ cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x10de (e1000e) SUBSYSTEM==net, ACTION==add, DRIVERS==?*, ATTR{address}==00:25:64:38:ec:dd, ATTR{type}==1, KERNEL==eth*, NAME=eth0 -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page Since udev isn't critical to booting a kernel, I suppose I can keep soldiering forward, but I'd prefer to follow the letter of the Book ... -j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: Nope, appears that /etc/udev/rules.d/70-persistent-net.rules is missing. I see many but no obvious errors in the output of of the 'for' loop in the blurb in paragraph 7.13.1: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done Perplexing. If you do INTERFACE=eth0 udevadm test --action=add eth0 Do you get anything? Actually, since you have only one nic, you don't need 70-persistent-net.rules. The only nic will always be given eth0. Since udev isn't critical to booting a kernel, I suppose I can keep soldiering forward, but I'd prefer to follow the letter of the Book ... Actually udev is critical. You won't get any devices without it. The network devices aren't critical though. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On 01/08/10 21:25, jmsc...@setex.ipcallback.com wrote: On Thu, Jan 07, 2010 at 11:15:23PM -0600, Bruce Dubbs wrote: jmsc...@setex.ipcallback.com wrote: Hello, I'm having a problem with configuring the network scripts in the LFS book 6.5. The file /etc/udev/rules.d/70-persistent-net.rules doesn't appear to be created. In particular, in chapter 7.13.1 is the blurb of code to pre-generate the udev rules file for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done followed by the blurb to inspect the 70-persistent-net.rules file. cat /etc/udev/rules.d/70-persistent-net.rules The problem is that /etc/udev/rules.d/70-persistent-net.rules is not created. Did I miss running a command in the previous chapters ... perhaps /lib/udev/write_net_rules? Here is the link to the web page with the code in question http://www.linuxfromscratch.org/lfs/view/stable/chapter07/network.html Also, the host os is a freshly installed Centos 5.4 server in a virtualbox.com VM, all running under MAC Snow Leopard. Does the VM have a NIC? What are the results of ls /sys/class/net/ Yes, the NIC is configured and working in the host. I'm acccessing the host via ssh. The output of the ls and cat commands follow: root:~# ls /sys/class/net/ eth0 lo sit0 root:~# cat /etc/udev/rules.d/70-persistent-net.rules cat: /etc/udev/rules.d/70-persistent-net.rules: No such file or directory You should have a eth0. The udevadm test generates the 70-persistent-net.rules file: Nope, appears that /etc/udev/rules.d/70-persistent-net.rules is missing. I see many but no obvious errors in the output of of the 'for' loop in the blurb in paragraph 7.13.1: for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done Perplexing. $ cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x10de (e1000e) SUBSYSTEM==net, ACTION==add, DRIVERS==?*, ATTR{address}==00:25:64:38:ec:dd, ATTR{type}==1, KERNEL==eth*, NAME=eth0 -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page Since udev isn't critical to booting a kernel, I suppose I can keep soldiering forward, but I'd prefer to follow the letter of the Book ... -j you should be fine. over here I think I was hitting some odd quirk(but could be wrong), i.g. two iMac's both the same system yet one gave a long pause during boot(you gots me!!) Justin P. Mattock -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On 01/07/10 16:07, jmsc...@setex.ipcallback.com wrote: Hello, I'm having a problem with configuring the network scripts in the LFS book 6.5. The file /etc/udev/rules.d/70-persistent-net.rules doesn't appear to be created. In particular, in chapter 7.13.1 is the blurb of code to pre-generate the udev rules file for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done followed by the blurb to inspect the 70-persistent-net.rules file. cat /etc/udev/rules.d/70-persistent-net.rules The problem is that /etc/udev/rules.d/70-persistent-net.rules is not created. Did I miss running a command in the previous chapters ... perhaps /lib/udev/write_net_rules? Here is the link to the web page with the code in question http://www.linuxfromscratch.org/lfs/view/stable/chapter07/network.html Also, the host os is a freshly installed Centos 5.4 server in a virtualbox.com VM, all running under MAC Snow Leopard. Any help is appreciated. John Scott jmsc...@setspace.com that rule might already be there i.g. under /lib/udev/rules.d/* also check in the source code for this. Justin P. Mattock -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
On Thu, Jan 07, 2010 at 04:30:13PM -0800, Justin P. Mattock wrote: On 01/07/10 16:07, jmsc...@setex.ipcallback.com wrote: Hello, I'm having a problem with configuring the network scripts in the LFS book 6.5. The file /etc/udev/rules.d/70-persistent-net.rules doesn't appear to be created. In particular, in chapter 7.13.1 is the blurb of code to pre-generate the udev rules file for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done followed by the blurb to inspect the 70-persistent-net.rules file. cat /etc/udev/rules.d/70-persistent-net.rules The problem is that /etc/udev/rules.d/70-persistent-net.rules is not created. Did I miss running a command in the previous chapters ... perhaps /lib/udev/write_net_rules? Here is the link to the web page with the code in question http://www.linuxfromscratch.org/lfs/view/stable/chapter07/network.html Also, the host os is a freshly installed Centos 5.4 server in a virtualbox.com VM, all running under MAC Snow Leopard. Any help is appreciated. John Scott jmsc...@setspace.com that rule might already be there i.g. under /lib/udev/rules.d/* also check in the source code for this. 70-persistent-net.rules is not in /lib/udev/rules.d. however, the file /lib/udev/rules.d/75-persistent-net-generator.rules exists. Does /etc/udev/rules.d/70-persistent-net.rules need to exist in order to continue? I'm just working mechanically through the LFS book on a freshly installed host, seeing how far i can get before something boots or breaks. -j -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: 70-persistent-net.rules not created
jmsc...@setex.ipcallback.com wrote: Hello, I'm having a problem with configuring the network scripts in the LFS book 6.5. The file /etc/udev/rules.d/70-persistent-net.rules doesn't appear to be created. In particular, in chapter 7.13.1 is the blurb of code to pre-generate the udev rules file for NIC in /sys/class/net/* ; do INTERFACE=${NIC##*/} udevadm test --action=add $NIC done followed by the blurb to inspect the 70-persistent-net.rules file. cat /etc/udev/rules.d/70-persistent-net.rules The problem is that /etc/udev/rules.d/70-persistent-net.rules is not created. Did I miss running a command in the previous chapters ... perhaps /lib/udev/write_net_rules? Here is the link to the web page with the code in question http://www.linuxfromscratch.org/lfs/view/stable/chapter07/network.html Also, the host os is a freshly installed Centos 5.4 server in a virtualbox.com VM, all running under MAC Snow Leopard. Does the VM have a NIC? What are the results of ls /sys/class/net/ You should have a eth0. The udevadm test generates the 70-persistent-net.rules file: $ cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x10de (e1000e) SUBSYSTEM==net, ACTION==add, DRIVERS==?*, ATTR{address}==00:25:64:38:ec:dd, ATTR{type}==1, KERNEL==eth*, NAME=eth0 -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page