system: structurally improve boot sequence #6052

In some cases early DNS works with direct upstream queries for
fixed DNS servers.  For DHCP or other dynamic connectivity it
will likely never work as expected with interface-related host
lookup requests.

At least try to load /etc/resolv.conf along with /etc/hosts and
refresh when all interface configuration is active.  This needs
to rely on running configuration to pick up DHCP and the like
as said before.
This commit is contained in:
Franco Fichtner 2022-09-28 15:03:28 +02:00
parent 65be7fb0a8
commit 6c43407860

View File

@ -36,7 +36,7 @@ echo "done.\n";
echo "Initializing...";
flush();
$inc_files = array(
$inc_files = [
'config.inc',
'console.inc',
'auth.inc',
@ -45,7 +45,7 @@ $inc_files = array(
'system.inc',
'filter.inc',
'rrd.inc',
);
];
foreach ($inc_files as $inc_file) {
require_once $inc_file;
@ -83,18 +83,19 @@ system_timezone_configure(true);
system_firmware_configure(true);
system_trust_configure(true);
system_hostname_configure(true);
system_resolvconf_generate(true);
system_hosts_generate(true);
system_syslog_start(true);
filter_configure_sync(true, false); /* apply default policy before interface setup */
interfaces_hardware(true);
interfaces_configure(true);
system_resolvconf_generate(true);
system_resolvconf_generate(true); /* requires runtime interface configuration */
system_hosts_generate(true); /* requires runtime interface configuration */
filter_configure_sync(true);
plugins_configure('early', true);
system_routing_configure(true, null, false);
system_hosts_generate(true);
plugins_configure('dhcp', true);
plugins_configure('dhcrelay', true);
plugins_configure('dns', true);