Commit Graph
27 Commits
Author SHA1 Message Date
Mattias Walström 37b97d9e4c Add support for configurable SSH server 2024-12-19 14:42:17 +01:00
Joachim Wiberg fa6851caa6 board/common: set DHCP and ZeroConf routes using Frr/staticd
This patch changes the way Infix DHCP and ZerocConf clients set their
routes in the system.  Instead of setting them directly in the kernel
we ask FRR staticd to set them for us.

The reason for this change is to be able to override routes from these
protocols with locally set static routes.  The routes are now set with
a distance of 5 and 254, respectively, while static routes by default
have a distance of 1.  In contrast, kernel routes are always treated
by Frr as distance 0, i.e., they are preferred over static routes.

Finally, this patch drops the use of Linux legacy interface aliases, or
colon interfaces, in an effort to reduce confusion for end users.  This
may give some odd results if using older tools like ifconfig, so we
recommend using 'show interfaces' or 'ipb a' instead.

Fixes #640

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-26 15:49:45 +02:00
Joachim Wiberg add52cdb38 confd: add support for IPv4LL request-address option
This patch allows a user to specify a specific 169.254/16 address that
the zeroconf client starts with when probing for a free address.  If the
probe fails it falls back to its default algorithm.

Fixes #628

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-26 15:49:45 +02:00
Tobias Waldekranz 769b7c2ba1 package/skeleton-init-finit: Run the getty in runlevel 9
Normally, no logins are actually possible, but this will have two
desirable effects effects:

- /etc/issue will be printed when hitting return over the console,
allowing the user to see the bootstrapping errors again, without
having to reboot the system.

- On devleoper builds, with CONFIG_TARGET_ENABLE_ROOT_LOGIN, we can
login as root and debug issues.
2023-11-30 11:39:42 +01:00
Joachim WibergandMattias Walström 9f792d56d6 package/skeleton-init-finit: hardening, no login services in RMA
When Infix Fail Secure Mode ends up in RMA state, runlevel 9, we should
not allow Finit to "time out" and give us a login prompt.  Instead we
disable all login services in runlevels 7-9, reserving these extra
levels for future failure modes.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-11-13 10:28:47 +01:00
Joachim WibergandTobias Waldekranz 27387e5e27 package/skeleton-init-finit: rename SSDP service .conf
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-08-30 10:37:43 +02:00
Joachim WibergandTobias Waldekranz 72c8aaef0c package/skeleton-init-finit: enable fewer services by default
This patch drops auto-enable of services we want to be able to control
via NETCONF/YANG.  SSDP and mDNS/SD enable/disable configure support,
using native models, will be included in the same PR and LLDP+SNMP may
come later, using std. IEEE/IETF models, they are not critical atm.

Fix #118

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-08-30 10:37:43 +02:00
Joachim WibergandRichard Alpe 45466bcbc7 package/skeleton-init-finit: smcrouted default changes
- allow custom options sourced from optional /etc/default/smcrouted
 - don't enable smcrouted by default when enabled in Buildroot .config
   because normal use-cases require an /etc/smcroute.conf

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-07-04 09:35:47 +02:00
Joachim WibergandRichard Alpe d5c28bc454 package: replace TARGET_FINALIZE_HOOKS with POST_INSTALL
When calling `make foo-rebuild` one expects all the registered hooks in
the foo package to have been called by Buildroot.  The Buildroot manual
has this to say about the target-finalize hook:

> These hooks are run after all packages are built, but
> before the filesystem images are generated.  They are
> seldom used, and your package probably do not need them.

The correct hook to use for target packages is POST_INSTALL_TARGET_HOOK.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-07-03 13:51:30 +02:00
Joachim WibergandRichard Alpe de24d0389a package: relocate PROFINET packages to customer repo.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-07-03 13:51:30 +02:00
Tobias WaldekranzandJoachim Wiberg 82d11112a6 avahi-autoipd: Default to always assigning a LL address
Without --force-bind, the address is removed if another routable
address is added to the interface.

While this is likely something that should be configurable in the
future, we choose this mode as the default so that IPs used for
NETCONF connections are not dropped because other addresses are added.
2023-05-12 14:24:41 +02:00
Joachim WibergandTobias Waldekranz 85f67f6a0f configs: enable avahi-autoipd for use as ZeroConf agent
With the new templating support in Finit, and this patch, we can now
very easily enable a ZeroConf service on, e.g., eth0:

    $ initctl enable zeroconf@eth0

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-27 09:59:35 +02:00
Joachim WibergandTobias Waldekranz 3cd3d04bae package/skeleton-init-finit: fix make skeleton-init-finit-rebuild
When calling 'make skeleton-init-finit-rebuild' to (re)install any new
or modified services, we cannot remove everything installed already.
That breaks what other packages may have installed already and is not
the Buildroot way.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-04-27 09:59:35 +02:00
Joachim Wiberg 0cfd0fcd89 package/skeleton-init-finit: add Frr pathd and vrrpd start scripts
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-27 14:38:17 +02:00
Joachim Wiberg 25db613398 Refactor boot mode handling
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>
2023-03-08 20:02:03 +01:00
Joachim Wiberg e33f191d07 package/profeth: add support for starting and monitoring PROFINET
An Infix build with PROFINET gears Net-SNMP heavily towards acting as a
servant to profeth (p-net stack).  This will be hard-coded for now until
we've integrated it all better in Clixon.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg d572bc78f3 package/skeleton-init-finit: add support for monitoring net-snmp
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-03-06 10:50:58 +01:00
Joachim Wiberg 384ef8c189 package/skeleton-init-finit: fix regression introduced in aee7fb9
On rebuild (without distclean) the getty.conf contained two tty lines
for the same TTY, causing Finit to believe the command line args had
been changed between each reload -- and thus kicking out the logged
in console user who just typed `initctl reload`.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-22 18:51:45 +01:00
Joachim Wiberg 0a5729cbea package/skeleton-init-finit: fix ftbfs regression from aee7fb9
Need to rsync the whole skeleton since we provide more than just the
finit.d files, e.g. /etc/fstab, which we also modify in this .mk.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-22 07:31:31 +01:00
Joachim Wiberg c3d7405b8f Add support for using /usr/bin/pdmenu (setup) as a login shell
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-21 22:28:42 +01:00
Joachim Wiberg 357799bf47 package/skeleton-init-finit: add support for Frr
1. Use same naming standard for quagga and frr
 2. Only one of quagga and frr can be used at the same time
 3. Subdirectories in available/ only in the skeleton, not on target

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-20 14:49:37 +01:00
Joachim Wiberg aee7fb91d0 package/skeleton-init-finit: refactor, install svc files on demand
Only install the corresponding Finit svc if the package is selected in
the Buildroot menuconfig.  Some packages cannot be enabled by default
though, since they require a daemon configuration file, e.g. in the
case of ulogd it requires a valid /etc/ulogd.conf

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-20 14:49:37 +01:00
Joachim Wiberg b0dfad05fb package/skeleton-init-finit: add support for monitoring nginx
Also needs /var/cache/nginx when starting up.  Requires separate patch
for now, but will be added a tmpflies.so plugn to Finit.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-02-15 19:10:20 +01:00
Joachim Wiberg 1ee3ab604d package/skeleton-init-finit: enable Avahi if selected in Buildroot
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-25 17:41:13 +01:00
Joachim Wiberg 0a5870aa64 package/skeleton-init-finit: sync OpenSSH support from myLinux
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-23 18:03:28 +01:00
Joachim Wiberg e8c2f11821 aarch64,amd64: enable LLDP support
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-11-18 17:08:59 +01:00
Joachim Wiberg 2dd603113b package/finit: new init package, with skeleton
This patch imports Finit v4.3 from myLinux to infIX along with a
rudimentary rootfs skeleton.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2022-05-17 08:43:08 +02:00