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

From bering-uClibc
Jump to: navigation, search
(Overview: small mod)
(Development History)
 
(40 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
==Overview==
 
==Overview==
 
[[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.
 
[[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.
 
[[Bering-uClibc-next]] is basically [[Bering-uClibc 4.x]] brought up to date with the latest versions of the main software components and with reworked toolchain.
 
In particular:
 
* Toolchain is slightly reworked to support 'true' cross-compilation; also gcc was updated to 4.6.2.
 
* The Linux kernel is planned to be upgraded from 2.6.x to 3.x (current 4.0 version uses longterm 2.6.35 kernel branch).
 
* The uClibc library is upgraded from 0.9.30 to 0.9.32.
 
The main advantages are:
 
* Kernel-mode PPTP/L2TP/PPPoE server (accel-ppp) which is 'all-in-one' powerful BRAS daemon with shaper like BSD's mpd.
 
* Possibility to build binaries for any target platform which supports Linux
 
  
 
==Main Features==
 
==Main Features==
The key characteristics of [[Bering-uClibc-next]] are:
+
The key characteristics of [[Bering-uClibc 5.x]] are:
* Based on a recent release of the Linux Kernel.
+
* Based on a recent long-term release of the Linux Kernel.
* Targetted to run on industry standard devices even with non-x86 processors.
+
* Targeted to run on industry standard devices even with non-x86 processors.[[Image:Bering-uClibc_5.0-prealpha_armv5.png|center|frame|alt=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:
 
* 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 holding configuration settings.
+
** The system runs from an in-memory filesystem. Disk storage is only required for booting and for storing configuration settings.
 
** The [http://www.uclibc.org/ uClibc] C library is used in place of the [http://www.gnu.org/software/libc/libc.html GNU C Library] since uClibc is much smaller in size.
 
** The [http://www.uclibc.org/ uClibc] C library is used in place of the [http://www.gnu.org/software/libc/libc.html GNU C Library] since uClibc is much smaller in size.
 
** Considerable use is made of [http://www.busybox.net/ BusyBox] utilities as replacements for larger applications.
 
** Considerable use is made of [http://www.busybox.net/ BusyBox] utilities as replacements for larger applications.
 
* 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 is no writes on HDD/flash during work (except config saving during maintenance) - so power failure will not break file system.
+
** 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.
 
** 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.
Line 27: Line 18:
  
 
==Development History==
 
==Development History==
First commit into new branch (updated toolchain) was made by [[User:Nitr0man|Nitr0man]] in October, 29 2011. In Novemer 2011 most packages were updated to be correctly assembled with new toolchain. First working minimal system image was also assembled in November 2011.
 
Currently branch is in pre-alpha stage, it looks enough stable for usage, but it is in active development phase, and many planned changes are still waiting when it's time will come.
 
  
<!--Team work on [[Bering-uClibc 4.x]] started in April 2010, with [[User:Nitr0man|Nitr0man]] as the lead developer and contributions from [[User:Kapeka|Kapeka]], [[User:Etitl|Etitl]] and [[User:Davidmbrooke|davidMbrooke]] among others. First Alpha release was running in production also in April, and was quite stable.
+
[[Bering-uClibc 5.x]] is basically [[Bering-uClibc 4.x]] brought up to date with the latest versions of the main software components and with reworked toolchain.
The development was mostly completed by early November 2010, with multiple Alpha test systems running successfully "in production".-->
+
Bering-uClibc 5.0 provides in particular:
 +
* a reworked Toolchain to support 'true' cross-compilation
 +
* gcc update to 4.6.3.
 +
* The Linux kernel has been upgraded from 2.6.35 to 3.4.x (current 4.0 version uses longterm 2.6.35 kernel branch).
 +
* The uClibc library is upgraded from 0.9.30 to 0.9.32.
 +
The main advantages are:
 +
* Kernel-mode PPTP/L2TP/PPPoE server (accel-ppp) which is 'all-in-one' powerful BRAS daemon with shaper like BSD's mpd.
 +
* Possibility to build binaries for any target platform which supports Linux
 +
 
 +
First commit into new git branch (updated toolchain) was made by [[User:Nitr0man|Nitr0man]] in October, 29 2011. In November 2011 most packages were updated, to correctly assemble with the new toolchain. A first, working minimal system image was also assembled in November 2011. First release of 5.0 branch, 5.0-alpha1, was released at November, 10 2012.
 +
 
 +
Version 5.0 was released in June 2013.
 +
 
 +
The last maintenance release for the 5.0 series was Bering-uClibc 5.0.5 released in August 2014.
 +
 
 +
'''Bering-uClibc 5.1''' is a major update for [[Bering-uClibc 5.0]] brought up to date with the latest versions of the main software components.
 +
In particular:
 +
* gcc has been updated to 4.8.3.
 +
* The Linux kernel has been upgraded to 3.10.x.
 +
* The uClibc library is upgraded from 0.9.32 to 0.9.33.2.
 +
 
 +
Version 5.1 was released in August 2014.
 +
 
 +
The last maintenance release for the 5.1 series was Bering-uClibc 5.1.7 released in September 2015.
 +
 
 +
'''Bering-uClibc 5.2''' is a major update for [[Bering-uClibc 5.1]] brought up to date with the latest versions of the main software components.
 +
In particular:
 +
* gcc has been updated to 4.8.4.
 +
* The Linux kernel has been upgraded to 4.1.x.
 +
* perl has been updated to 5.20.x
  
 +
Version 5.2 was released in September 2015.
  
 +
The last maintenance release for the 5.2 series was Bering-uClibc 5.2.8 released in October 2016.
  
 
===Version Changelog===
 
===Version Changelog===
* [[Bering-uClibc-next - Changelog]]
+
* [[Bering-uClibc 5.0.x - Changelog]]
 +
* [[Bering-uClibc 5.1.x - Changelog]]
 +
* [[Bering-uClibc 5.2.x - Changelog]]
  
 
===Known Issues===
 
===Known Issues===
* [[Bering-uClibc-next - Known Issues]]
+
* [[Bering-uClibc 5.x - Known Issues]]
  
 
==Further Documentation==
 
==Further Documentation==
 
For further information see:
 
For further information see:
* [[Bering-uClibc-next - Developer Guide]] for Developers of new features or new application Packages.
+
* [[Bering-uClibc 5.x - Developer Guide]] for Developers of new features or new application Packages.
  
  
[[Category:Bering-uClibc-next]]
+
[[Category:Bering-uClibc_5.x]]

Latest revision as of 16:57, 29 October 2016

Overview

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.

Main Features

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

  • Based on a recent long-term release of the Linux Kernel.
  • 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:
    • The system runs from an in-memory filesystem. Disk storage is only required for booting and for storing configuration settings.
    • The uClibc C library is used in place of the GNU C Library since uClibc 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.

Development History

Bering-uClibc 5.x is basically Bering-uClibc 4.x brought up to date with the latest versions of the main software components and with reworked toolchain. Bering-uClibc 5.0 provides in particular:

  • a reworked Toolchain to support 'true' cross-compilation
  • gcc update to 4.6.3.
  • The Linux kernel has been upgraded from 2.6.35 to 3.4.x (current 4.0 version uses longterm 2.6.35 kernel branch).
  • The uClibc library is upgraded from 0.9.30 to 0.9.32.

The main advantages are:

  • Kernel-mode PPTP/L2TP/PPPoE server (accel-ppp) which is 'all-in-one' powerful BRAS daemon with shaper like BSD's mpd.
  • Possibility to build binaries for any target platform which supports Linux

First commit into new git branch (updated toolchain) was made by Nitr0man in October, 29 2011. In November 2011 most packages were updated, to correctly assemble with the new toolchain. A first, working minimal system image was also assembled in November 2011. First release of 5.0 branch, 5.0-alpha1, was released at November, 10 2012.

Version 5.0 was released in June 2013.

The last maintenance release for the 5.0 series was Bering-uClibc 5.0.5 released in August 2014.

Bering-uClibc 5.1 is a major update for Bering-uClibc 5.0 brought up to date with the latest versions of the main software components. In particular:

  • gcc has been updated to 4.8.3.
  • The Linux kernel has been upgraded to 3.10.x.
  • The uClibc library is upgraded from 0.9.32 to 0.9.33.2.

Version 5.1 was released in August 2014.

The last maintenance release for the 5.1 series was Bering-uClibc 5.1.7 released in September 2015.

Bering-uClibc 5.2 is a major update for Bering-uClibc 5.1 brought up to date with the latest versions of the main software components. In particular:

  • gcc has been updated to 4.8.4.
  • The Linux kernel has been upgraded to 4.1.x.
  • perl has been updated to 5.20.x

Version 5.2 was released in September 2015.

The last maintenance release for the 5.2 series was Bering-uClibc 5.2.8 released in October 2016.

Version Changelog

Known Issues

Further Documentation

For further information see: