Bruce Dubbs wrote:
> Bryan Kadzban wrote:
>> Bruce Dubbs wrote:
>>> Armin K. wrote:
>>>> Bruce, some guy came on the irc saying that network rules creation
>>>> does not work in systemd extracted udev.
>>>>
>>>> <Zenther> working my way through the cvs book and get to 7.2.1.
>>>> Creating stable names for network interfaces and I am getting a
>>>> cat: /etc/udev/rules.d/70-persistent-net.rules: No such file or
>>>> directory. Above that I see it list out my eth0 and wlan0.
>>>>
>>>> Can you check and/or confirm that?
>>>
>>> I can confirm that in chroot. I think he is referring to section
>>> 7.5. That needs to be changed. The 'udevadm test' command no longer
>>> runs aux programs, e.g. /lib/udev/write_net_rules.
>>>
>>> However, the first time the system is booted, udevd will run the
>>> rules and the 70-persistent-net.rules file will be written at that
>>> time.
>
>> Well, they finally killed it.
>
> Yes, but we can fix that. In the udev-lfs tarball we have the needed files:
>
> write_net_rules
> rule_generator.functions
>
> We need to change two places in rule_generator.functions where it has
> RUNDIR=$(udevadm info --run) with a constant RUNDIR=/run/udev
>
> Then in section 7.2 (inside chroot), we need to do a couple of things:
>
> cd ~
> mkdir -p /run/udev
>
> cat set_persistent_net_rules.sh << EOF
> #! /bin/bash
>
> for NIC in /sys/class/net/eth* ; do
> IF=${NIC##*/}
> if [ "$IF" == "eth*" ]; then break; fi
>
> export INTERFACE="$IF"
> export MATCHADDR="$(cat $NIC/address)"
> export MATCHDEVID="$(cat $NIC/dev_id)"
> export MATCHIFTYPE="$(cat $NIC/type)"
> /lib/udev/write_net_rules...And /etc is writable here, so I think this should generate something usable at least. (Might need a couple more environment vars for stuff like the vendor/device ID and the driver, but whatever.) I think we used to do it this way, actually. :-) One problem (I think) is that this won't follow the whitelist/blacklist rules in the existing 75-persistent-net-generator.rules file. So it'll try to generate rules for NICs that are known to be buggy (locally administered MACs that change per boot, qemu-created devices that change MACs at every boot, etc.). :-/ > We need to be careful that someone doesn't remove /run/udev after > booting or outside of chroot. Hmm? Oh, the rm -rf. Can we make it a tmpfs in chapter 7, and fix it that way? Then we don't need the rm in the instructions; it just needs to be unmounted at shutdown time. :-) (I still like the idea of indirection in the network bootscripts; it seems to match how udev handles storage, input, and sound devices, much better. If I get some time this week or weekend or something, I'll replace my network scripts with whatever is current in the book -- I'm still using really old stuff since this system is pretty old -- and assuming that works, I'll look into adding the indirection, then see how I like the results.)
signature.asc
Description: OpenPGP digital signature
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
