Bering-uClibc is one of the branches 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. Although it can be used in other ways, its primary goal is as a Internet gateway, BRAS, router, firewall and wireless access point.
The key characteristics of Bering-uClibc 6.x are:
- Based on a recent long-term release of the Linux Kernel.
- 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
- Check for and receive updates with command line utility (
upgrade) or Web GUI (
webconf) from the Packages repository. (This feature has been introduced in the late 5.2 cycle for testing.)
- Targeted to run on industry standard devices even with non-x86 processors.
- Designed to perform well on relatively low-specification hardware. In particular:
- 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 work (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.
Bering-uClibc 6.x is basically Bering-uClibc 5.x brought up to date with the latest versions of the main software components and with reworked toolchain. Bering-uClibc 6.0 provides in particular:
- gcc update to 5.3.0.
- The Linux kernel has been upgraded to 4.4.x.
- The uClibc library is upgraded from uClibc 0.9.32 to uClibc-ng 1.0.17.
- initmod.lrp has been removed; kernel modules are included in the kernel or loaded automatically on demand
- a new WRAP optimized kernel and image is provided
- logrotation has been improved
Version 6.0.0 was released in October 2016. Version 6.0.1 was released in December 2016. Version 6.0.2 was released in January 2017.
For further information see:
- Bering-uClibc 6.x - Developer Guide for Developers of new features or new application Packages.