Bering-uClibc 7.x - User Guide - Hardware Requirements
|Prev||Bering-uClibc 7.x - User Guide||Next|
- 1 Basic Hardware Compatibility
- 2 Minimum Hardware Specifications
- 3 Example Hardware Configurations
Basic Hardware Compatibility
Bering-uClibc 7.x now supports most variants of the "x86" microprocessors. This is the standard type of processor which is installed in a "PC" or a "PC compatible" computer. Very early x86 CPUs such as the 8086, i286 and i386 are not supported but all i486 and later variants are supported. There are distributions for the i486, i686 Pentium, geode, wrap and x86_64 for 64 bits AMD or Intel systems. Support for the trendy Raspberry PI single-board computers is also available.
Alternative CPU types which are not supported include:
- ARM, as used in some embedded devices and mobile phones.
- MIPS, as used in some embedded devices.
- PowerPC, as used in e.g. older Apple Macintosh computers.
Unlike most other Linux distributions, LEAF uses an in-memory file system rather than some sort of disk device to hold its working files and directories. It is therefore necessary to have enough memory to support:
- The in-memory / ("root") directory structure
- The in-memory /var/log directory structure
- The in-memory /tmp directory structure
- The normal (non-disk) memory requirements of the installed applications
Although not used during normal operations, Bering-uClibc 7.x needs somewhere to store the files it boots from, and any changes made later to the default configuration files. This is typically a local "disk like" device of some sort.
The most flexible mediums nowadays would be:
- USB keys
- SD cards
- CF cards
- SSD disks
- HDD ... arguably less reliable than the solid state medias
- CD-ROM ... inherently the safest, but might require another writable media to hold later config changes if any !
- Floppy ... nah !... (joking) , but that's how it all started, besides even if you could find one, the images are all too big now !
Network Interface Controller
If you want to move internet packets between LANs you will need a minimum of 2 Network Interface Controllers (NICs). Most modern X86 motherboards are equipped with a single built-in NIC so you will have to add another one using a separate NIC card. Most recent PCI NIC cards will be detected by LEAF. Before buying one, always check if there is a Linux driver for it. In doubt ask the mailing list. If you are using a Pentium motherboard, be prepared to install and configure the package
bbnameif.lrp which will correct a rare, random, ethernet card assignment problem.
Adding an optional third NIC could allow you to setup a Demilitarized Zone (DMZ) for a DMZ server.
Once you are convinced LEAF is supreme, you might optimize your setup with tailored made boxes like the APU2 from PC engines. They are fan-less, consequently noiseless, and consume very little power. Try to get the ones with the i210AT NICs, which have better specs.
Minimum Hardware Specifications
Minimum hardware requirements:
- CPU: i80486 or compatible
- RAM: 16MB
- HDD/Flash: 4MB
In that configuration LEAF can do basic routing, but some features (like hardware detection) will be unavailable.
- CPU: i80486 or compatible, or higher
- RAM: 64MB or more
- HDD/Flash: 64MB
This configuration can support all LEAF features
Optimal hardware for PC routers:
- CPU: Intel Pentium III/Celeron (Coppermine/Tualatin) or AMD Athlon/Sempron (K8) or Intel Atom
- RAM: 128MB or more
- HDD/Flash: 64MB
This is recommended configuration for building router from scratch using cheap (old or new) PC hardware; it will have low cost, low power consumption and high performance. This hardware can handle up to 100 (or even more) MBits of traffic with NAT and many connections in conntrack table, and also can act as NAS. It can be used, for ex., as campus router, or router for big office.
Example Hardware Configurations
Known to be Compatible
Known to be Incompatible
Systems that are i686-compatible but haven't support of PAE (ones that use VIA C3, old Intel Pentium M or some exotic CPUs like Transmeta Crusoe) are incompatible with i686 kernel, because it needs PAE support (this is done mainly for NX bit). Please use for them generic i486 kernel.