On 3/9/19 3:47 PM, Pierre Labastie via lfs-dev wrote:
On 09/03/2019 21:24, Bruce Dubbs via lfs-dev wrote:
On 3/9/19 12:57 PM, DJ Lucas via lfs-dev wrote:
On 3/9/2019 10:38 AM, Pierre Labastie via lfs-dev wrote:
On 09/03/2019 17:09, DJ Lucas via lfs-dev wrote:
This reminds me, I'm getting /etc/sysconfig/ifconfig.eth0 with IFACE=enp3s0.

Yes, completely forgot about that... Problem is, I want to take my information
from the book, and the book hardcodes ifconfig.eth0. Maybe make "eth0"
replaceable, so that lfs.xsl can catch it more easily... Would it be
acceptable (would render eth0 in italics)? Note that lfs.xsl detects eth0 in
"IFACE=eth0", because it is in a <literal> tag. That's less easy outside any
specific tag (I don't consider <userinput> as specific in this book ;)

Yep, that should probably be done anyway, you can still use the value and
just do a quick append, something to the effect of:

    (source /etc/sysconfig/ifconfig.eth0 &&
     mv /etc/sysconfig/ifconfig.{eth0,${IFACE}})

There are a couple of issues here.   There three places in sysV that use the
network interface name:

1. /etc/udev/rules.d/70-persistent-net.rules

This is created by the /lib/udev/init-net-rules.sh script.  By default it will
pick up the host system device name.   If the host is a distro like Debian or
other systemd  based system, the name will probably be something like enp3s0.
On a LFS host that uses eth0, then it will remain eth0.  That said, it can
easily be changed to anything you want with an editor.  It sets the interface
name in /sys/class/net/ at boot time.

2.  /etc/sysconfig/ifconfig.eth0

This is hard coded into 7.5.1. Creating Network Interface Configuration Files,
but is an example.  There is no 'here' document to copy/paste.
The file name extention is not 100% required.  The startup scripts only look
for the ifconfig stem of the filename.  For instance, on my laptop I have
multiple ifconfig files like ifconfig.eth0.home and ifconfig.eth0.school and I
have ONBOOT=no in both.  For this system, I bring up the network manually
with, for example, ifup eth0.school.

3.  The line IFACE=eth0 in the /etc/sysconfig/ifconfig

This needs to match the device in /sys/class/net/.  Typically it would match
the device in the 70-persistent-net.rules file, but the the rules file is not
strictly required.


I think the main point here is that jhalfs can modify the IFACE= line (for
example to IFACE=enp0s3 if you use qemu), but does not modify the
ifconfig.eth0 extension... This is not a problem if ONBOOT is yes, although
the information message is "bringing up eth0", while the interface may be
something else. This is a problem if ONBOOT is no, because if you run ifup
enp0s3 manually, it won't work: you have to run ifup eth0, which is somewhat
confusing. So jhalfs needs to be consistent and have the same extension for
the file as what is in the IFACE variable...

Of course, more complicated setups are beyond the scope of jhalfs, and should
be done manually...

What is proposed by DJ would be a workaround, but I'd rather do that more
cleanly: put a tag around the eth0 extension in the book, then use the
stylesheet to change eth0 to whatever is in IFACE...

My proposition for the ifconfig example would be:

cat > ifconfig.<replaceable>eth0</replaceable> << "EOF"
...

Would it be acceptable?

Then I would take care of lfs.xsl...

Sure.  That's fine.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to