1. Bennu Background Info
Author: Daniel S. Haischt <dsh AT apache DOT org>
Date: December 2007
Status: .:: D R A F T ::.
1.1. A Little History
To provide some background, m0n0wall is a PHP based management layer on top of FreeBSD. Management of FreeBSD based software service is provided to the user by exposing a HTML based user interface.
The intent is probably similar to projects like Webmin. In contrast m0n0wall doesn't provide a general purpose administration interfaces but puts an emphasise on a FreeBSD based administration facility. Additionally, compared to Webmin, m0n0wall is pretty lightweight and fits on a small sized compact flash card which may then serve as a foundation for an embedded firewall system.
1.2. About (Embedded) Firewall Hardware
Embedded firewall systems are regularly run on embedded boards like the Soekris boards with the following specifications:
- 433 to 600 Mhz AMD Geode LX single chip processor with CS5536 companion chip
- 128-1024 Mbyte DDR-SDRAM, soldered on board
- CompactFLASH Type I/II socket, 8 Mbyte to 32 Gbyte FLASH or Microdrive
- UltraDMA-100 interface with 44 pins connector for 2.5" Hard Drive
- Serial ATA 1.0 interface for Hard Drive, with +5V and +12V power header
- 1-4 VIA VT6105M 10/100 Mbit Auto MDIX Ethernet ports, RJ-45, protected with 2KW/100A TVS
- USB 2.0 interface, one internal, one external port
- Mini-PCI type III socket. (for t.ex. hardware encryption or wireless controller)
- PCI Slot, right angle 3.3V signalling only, dual PCI slot option
A PCI slot and SATA/PATA should be considered optional because they are still not commonly found on embedded boards.
Another embedded device having even more constraints regarding computing power is the Armadillo-300 Series:
- CPU Clock: 200MHz (ARM926EJ-S)
- 10BASE-T/100BASE-TX Ethernet port
- miniPCI IEEE802.11a/b/g module
- CompactFLASH Type I/II socket
At least on such embedded devices, computing power and the amount of RAM available should be considered as a constraint that will influence the design of the Bennu system.
Of course a software system designed for embedded x86 based hardware may run on regular x86 based hardware as well.