On 09/03/2019 23:29, Bruce Dubbs via lfs-dev wrote:
> 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.

Done at revision 11556 + made all variable values in the file <replaceable>,
and reworded some comments accordingly.
Jhalfs revision is 4081

Pierre

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

Reply via email to