Embedded Linux / Hardware Wiz

We're seeking a consultant with significant development experience configuring/modifying/developing for linux distributions, with a particular emphasis on embedded systems (although this project may use i386 hardware).

We seek someone consult/advice on both the purchase of hardware used to construct the a particular hardware device and to choose, design, implement and package the a widely supported distribution of the linux operating system and package management system running on that hardware (maybe debian, although we are open to suggestions?).

The hardware requirements and specifications will be formalized during development of the project. Currently the hardware should meet the following requirements:

0) We're open to all ideas, including using a standard dell i386 PC. Cost, reliability and replacement costs are all factors to be considered. 1) The cost of the core hardware (box and all internal components, including interface cards and storage) should be as low as possible with a maximum of approximately $400 dollars. 2) The system should be designed to limit risk of failure. The system should use solid-state flash storage and perhaps a fan-less processor. 3) The system should be as simple and easy to manufacture and construct. Ideally all components should be off the shelf, and the computer itself should be purchased virtually pre-made, with only a few upgrades necessary before use. 3) Being able to offload core production of the machine (via off the shelf design or a slightly modified design) to a PC manufacturer would be a huge benefit. 4) The hardware will need to support a variety old legacy input and output devices (via analog IO channels), zigbee via an RS232 zigbee basestation, Ethernet, enough storage to support the OS, Core System Software, and 512MB of data. Drivers and interface cards for said legacy devices will be chosen and completed outside the scope of this project. 5) All hardware components must be linux compatible.

The Operating System / Package management system design should meet the following specifications:

1) The operating system should be built using a highly stable, time-tested, widely supported flavor of linux. 2) Choices of software/OS should aim for reliability, stability and security within the limitations of outlined above and below. 3) The OS should include a built in package management system, and should be easy to configure, compile packages for, and contain an extensive collection of stable software pre-built for it. 4) The OS should be boot off an internal flash memory card, and the OS and data storage should run off a ramdisk (unless said flash memory card can support at least 10-15 years of continuous use). 5) The system must be designed to self-upgrade off of our central package repositories (you will be responsible for building this and making sure we can maintain it). All software (custom and non-custom), configuration files, and data stores must be upgradeable through this package management system. The system must run automatically, and must not require ANY intervention from a human. 6) The system should ensure that access to our repositories is limited only to our authorized boxes. A compromised box should not compromise other boxes or the system as a whole. This is most likely best handled via disposable certificates. 7) SSH access to the box should be available via certificate access only. A single root password must not be used across multiple boxes. 8) All core software and the OS must be easily installable on the boxes. 9) One install image for the system and custom software must be provided for easy install. It is assumed that all machines will be setup with this initial image, and updates to all non-custom and all custom software will then be made immediately afterwards using the system's software update system (off our package repositories). A method of inputting box specific stuff (certificates etc..) must also be accounted for. 10) Complete instructions for a simple method of creating packages for all custom software and drivers must be included. 11) The operating system/system software should be stripped down to its most minimal components to minimize security, stability and maintenance issues. 13) All non-individual-box specific settings (repository address, central repository keys, check intervals etc...) may be stored in standard text file configuration locations as long as all those files (individually or as packages) are updateable via the standard software update off the repository. 14) The operating system and core system software must either be upgradeable remotely but should have a long life-cycle (either through choice of a particular distribution or through minimization of installed components) of atleast 5 years to minimize the frequency of updates to the core system/OS.

All code must be logically organized, fully commented, and block level indented. Full documentation for design, operation and extensibility must also be provided.

Reply to
Joe
Loading thread data ...

I was surprised not to see this in comp.os.linux.embedded

I've been getting email from TimeSys, and you may want to check out LinuxLink, their Linux configuration subscription service.

formatting link

I have not used it, nor am I affiliated. It just looked interesting at the ESC, so I got on the mailing list.

Rufus

Reply to
Rufus V. Smith

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.