Re: 70-persistent-net.rules

2010-08-22 Thread Tobias Gasser
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

2010-08-22 Thread Tobias Gasser
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

2010-08-22 Thread Neal Murphy
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

2010-04-11 Thread jumbophut
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

2010-04-08 Thread Andrew Benton
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

2010-04-08 Thread Trent Shea
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

2010-01-17 Thread jmscott
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

2010-01-13 Thread Simon Geard
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

2010-01-12 Thread jmscott
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

2010-01-12 Thread linux fan
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

2010-01-12 Thread jmscott
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

2010-01-12 Thread linux fan
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

2010-01-12 Thread linux fan
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

2010-01-12 Thread Bruce Dubbs
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

2010-01-12 Thread jmscott
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

2010-01-12 Thread jmscott
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

2010-01-12 Thread Bruce Dubbs
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

2010-01-11 Thread jmscott
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

2010-01-10 Thread jmscott
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

2010-01-10 Thread Bruce Dubbs
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

2010-01-10 Thread jmscott
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

2010-01-10 Thread Bruce Dubbs
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

2010-01-10 Thread jmscott
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

2010-01-10 Thread Bruce Dubbs
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

2010-01-09 Thread jmscott
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

2010-01-09 Thread Bruce Dubbs
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

2010-01-09 Thread jmscott
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

2010-01-09 Thread Bruce Dubbs
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

2010-01-09 Thread jmscott
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

2010-01-08 Thread jmscott
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

2010-01-08 Thread Bruce Dubbs
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

2010-01-08 Thread Justin P. Mattock
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

2010-01-07 Thread Justin P. Mattock
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

2010-01-07 Thread jmscott
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

2010-01-07 Thread Bruce Dubbs
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