This commit adds multi-nameserver support using openresolv (resolvconf)
and dnsmasq. This means that a DHCP client (dhcpcd) or VPN client can
be providers of nameservers to the system. Dnsmasq takes over as the
system resolver, except when the user has set up static configuration.
Static nameserver(s), as well as search and options, are always added
first by openresolv to /etc/resolv.conf.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Chrony drops privs after startup to user chrony, when restarting it
writes its state in /var/lib/chrony, so the directory needs to have
the correct permissions for that user.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
With the recent `if:<cond>` addition to Finit we can simplify a lot of
the logic for disabling and enabling features in Infix. Standardizing
on conditions that Finit provides.
We create boot/netconf, boot/etc, and boot/profinet conditions early,
after all filesystems have been mounted (and cleaned), so they are all
set before Finit loads its configuration files in runlevel S.
The default is still to boot into a managed NETCONF mode, since the end
goal remains to integrate PROFINET as yet another service. The other
mode, native /etc, should then be the only exception.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Split tmpfiles config in two, one for snmpd and one for profeth.
Add logging and redirect profeth logs to /log/profinet.log with
default log rotation.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This is not the full environment used by U-Boot, just the bits needed
for U-Boot to know which slot to boot and for Infix to know how the
boot process went.
U-Boot will selectively import/export only these keys during boot,
which avoids a malicious user from altering the boot in a way that
might bypass signature validation.
In the new model, we have three sources of storage:
- /mnt/var: Mountpoint for a disk with the label "var"
- /mnt/cfg: Mountpoint for a disk with the label "cfg"
- /mnt/tmp: Mountpoint for a ramdisk
These sources are used for the following overlays:
- **/cfg, /home, /root**: /mnt/cfg if available, else /mnt/tmp
- **/etc**: /mnt/cfg if available and the boot/etc finit condition is
set, else /mnt/tmp
- **/var**: /mnt/var if available, else /mnt/tmp
- **/var/lib**: /mnt/var if available, else /mnt/cfg if available,
else /mnt/tmp
See board/common/rootfs/lib/infix/mnt for more information.
The nano editor has been shown, over and over again, to be more
user-friendly to complete UNIX/Linux beginners than even Mg.
Also, change the default pager/less to be less (again), it was
very confusing to have less be most and more just be more. We
recommend scripts to use pager and edit/editor to call system
safe defaults.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- Default to start pager (most), fall back to less/more/cat
- Drop : from sub-headings
- Repeat 'See Also' section
- Relocate network section's Interesting Files to end
- Add dhcpcd.conf to list of interesting files
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
- Support modprobe for hotplugged devices
- Allow writable /dev/{null,zero,...} by all users
- Correct TTY and console permissions
- Adapt groups to Buildroot standard (Debian)
https://github.com/slashbeast/mdev-like-a-boss
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Do not wait for dhclient to acquire first release, this will cause
unnecessary delays when booting, and not provide any real value in our
system. Because we will never have any service that depends on a
network address being set when starting up, this is a feature that
Finit can provide for us as a condition when starting such services.
Also, never set global "README" in multiple policy files, this will
cause ifupdown2 to crash in horrific ways.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The default policy for management interface prefix in ifupdown2 is
"eth", which currently clashes with Infix default switch port names.
Changing our naming policy of switch ports to "swpN", mimicing the
naming using in Cumulus Linux, would also help. To be discussed.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
We will not use features like batman, vxrd, or openvswitch. Also, the
clagd and vxrd addons are not in ifupdown2, so likely proprietary ext.
by Cumulus. Dropping them makes "unknown addon" warnings go away.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Unlike debugfs, cfgfs is currently an optional feature in Infix, so
let's set it to noauto for now.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Preparing for the upcoming Finit v4.4 which takes system information
from /etc/os-release -- reduces branding efforts.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Allow networking config to be supplied from multiple fragmens in
/etc/network/interfaces.d. This way, a user can customize their setup
without having to override /etc/network/interfaces.