Hi,

On 9/4/20 18:16, Didier Kryn wrote:
Le 09/04/2020 à 16:13, dal a écrit :
Hello and thanks for Beowulf.

An issue:

it looks like

   devuan_beowulf_3.0.0_beta_amd64_netinstall.iso
   and the base system installable from it

do not contain the ifupdown package (nor other networking utilities besides busybox ip?).

The resulting base installation remains offline.
This is a more limited definition of a "base system" than it used to be, most probably unintentionally.

    I remember this was also the case in a previous version, wether Jessie or Ascii. Obviously this isn't an issue when upgrading. I also remind you that the startup delay caused by the timed-out activation of the Ethernet interface (when not plugged in) is still there with the default interfaces file. The solution is to remove the clause "allow-hotplug eth0" and install ifupdown or the equivalent I have forgotten the name of.

    Didier


The origin of the startup delay is in the lock_interface() function of ifupdown in the main.c file:

https://github.com/wido/ifupdown/blob/master/main.c

between the lines nº196-209, surely because ifupdown is trying to lock both wired and wireless devices at the same time that some dhcp client (isc-dhcp-client, dhcpcd5, udhcpc...) is trying to connect (in vain) to some of them, being these resources busy. The C function used during the lock attempts is *fcntl* which uses the following macros:


Macro: /int/ *F_SETLK*

        whose error conditions are defined by EACCES in GNU/Linux and EAGAIN in GNU/Hurd.


Macro: /int/ *F_SETLKW  (= F_SETLK + Wait)
*

   which causes the process to block (or wait) until the request can be
   specified (line nº199 in main.c).


Read here for more details:

https://www.gnu.org/software/libc/manual/html_node/File-Locks.html

I replaced this code by an unique line:

        int flags = fcntl(fileno(lock_fp), F_SETLK, &lock);

and the delay disappears (the same effect than removing "allow-hotplug" from /etc/network/interfaces.

As a final remark, the "auto <device>" stanza seems to be deprecated, but some people still use it. In the case of

having both defined, that is:

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

the clause "allow-hotplug" has priority over "auto"; so, using both at the same time makes no sense.

You can download the patched packages from here:

http://packages.gnuinos.org/?dir=gnuinos/pool/main/i/ifupdown

Cheers,

Aitor.



_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to