Difference between revisions of "Bering-uClibc 7.x"

From bering-uClibc
Jump to: navigation, search
(Main Features)
(Main Features)
Line 21: Line 21:
 
* Focussed on providing excellent networking facilities.
 
* Focussed on providing excellent networking facilities.
 
* Designed to have high fault tolerance:
 
* Designed to have high fault tolerance:
** There are no writes on HDD/flash during work (except saving configurations during maintenance) - so a power failure will not break file system.
+
** There are no writes on HDD/flash during execution since all the codes run in RAMs (except saving configurations during maintenance) - so a power failure will not break file system.
 
** Corrupted/erased config file, or even 'rm -rf /' isn't a problem - changes are stored permanently only when user requires that, and reboot will restore all as it was before.
 
** Corrupted/erased config file, or even 'rm -rf /' isn't a problem - changes are stored permanently only when user requires that, and reboot will restore all as it was before.
 
** Enabled by default watchdog, reboot on kernel panic and kernel soft-lockup detection will help to have minimum downtime of router.
 
** Enabled by default watchdog, reboot on kernel panic and kernel soft-lockup detection will help to have minimum downtime of router.

Revision as of 19:49, 3 May 2021

WARNING: Work in progress, the doc. is not complete

Overview

Bering-uClibc is a currently active and maintained branch of the LEAF (Linux Embedded Appliance Framework) project, delivering on LEAF's ambition to provide a secure, feature-rich, customizable embedded Linux network appliance for use in a variety of network topologies. Its primary goal is to be used as an Internet Firewall, but also in other ways like router, BRAS, or wireless access point.

Main Features

The key characteristics of Bering-uClibc 7.x are:

  • Based on a recent long-term release of the Linux Kernel.
  • Easy-to-use
    • USB bootable images of a basic working firewall system
    • Web browser access for quick and easier configuration, the traditional vga or serial display console is not required
    • Hardware detection during boot, necessary modules enabling the hardware will be loaded automatically.
    • Load modules when needed for various Packages - e.g. netfilter modules for shorewall[6].
    • Check for and receive updates with command line utility (upgrade) or Web GUI (webconf) from the Packages repository.
  • Targeted to run on industry standard devices even with non-x86 processors.
    QEMU ARM Screenshot
    Bering-uClibc 5.0-prealpha running on an emulated ARM processor
  • Designed to perform well on relatively low-specification hardware. In particular:
    • One of it's most important feature, the system runs from an in-memory filesystem. Disk storage is only required for booting and for storing configuration settings.
    • The uClibc-ng C library is used in place of the GNU C Library since uClibc-ng is much smaller in size.
    • Considerable use is made of BusyBox utilities as replacements for larger applications.
  • Focussed on providing excellent networking facilities.
  • Designed to have high fault tolerance:
    • There are no writes on HDD/flash during execution since all the codes run in RAMs (except saving configurations during maintenance) - so a power failure will not break file system.
    • Corrupted/erased config file, or even 'rm -rf /' isn't a problem - changes are stored permanently only when user requires that, and reboot will restore all as it was before.
    • Enabled by default watchdog, reboot on kernel panic and kernel soft-lockup detection will help to have minimum downtime of router.
    • Backup scripts will help to restore system state on storage failure/operator mistake.

Development History

Bering-uClibc 7.x is basically Bering-uClibc 6.x brought up to date with the latest versions of the main software components and with reworked toolchain.

Bering-uClibc 7.0.0 provides in particular:

  • gcc update to 8.3.0
  • The Linux kernel has been upgraded to 5,4.x
  • The uClibc library has been upgraded to uClibc-ng 1.0.35
  • syslog-ng has been replaced by rsyslog

Bering-uClibc 7.1.0 provides in particular:

  • gcc update to 9.3.0
  • The Linux kernel has been upgraded to 5,10.x
  • The uClibc library has been upgraded to uClibc-ng 1.0.37

Version 7.0.0 was released in November 2020.

Version 7.0.1 was released in December 2020.

Version 7.0.2 was released in February 2021.

Version Changelog

Known Issues

Further Documentation

For further information see: