Joachim Wiberg bc21f93ec2 Add support for returning a device to factory defaults
This change adds a `factory` tool, and login shell, that schedules a
reset of all writable (overlay) filesystems.  The tool is set up with
the suid gid flag to allow all members of the wheel group to perform
the reset.

The login method only allows reset from /dev/console, to prevent any
malicious reset over SSH.  This should be further constrained later
when PAM is introduced.

To initiate factory reset from the login prompt, use login/pass:

    factory/reset

To initiate factory reset from the shell, call

    factory

Both methods are interactive by default, but two command line options
can be used to modify the behavior:

  -r  Skip reboot, and "reboot now?" question
  -y  Assume yes to all questions, for non-interactive use

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-01-04 15:24:36 +01:00
2022-12-05 21:09:05 +01:00
2022-12-05 21:09:05 +01:00
2022-11-17 00:19:23 +01:00
2023-01-03 20:41:15 +01:00

Infix Linux Networking Made Easy

Infix is an embedded Linux Network Operating System (NOS) based on Buildroot, Finit, and ifupdown2.

Hardware

aarch64

By default, Infix builds with support for the following boards (you may enable additional boards in the config, of course):

  • Marvell CN-9130 CRB
  • Marvell EspressoBIN
  • Microchip SparX-5i PCB135 (eMMC)

See the aarch64 specific documentation for more information.

amd64

Primarily intended to be run under QEMU for development & test as well as evaluation purposes.

QEMU

A virtualized instance can easily be launched by issuing make run.

Some settings, e.g. networking, can be configured via make menuconfig under External options -> QEMU virtualization.

Languages
Python 36.9%
C 16.3%
Go 16.1%
HTML 13.5%
Shell 8.2%
Other 8.9%