i686 Embedded Linux

I'm trying to get started on a project getting Linux running on what's only kinda sorta an embedded system: a Celeron mini-iTX board with 256M of RAM. Boot drive is a 1GB CF card.

On one hand, I've got all of the advice for people trying to put together a truly embedded system with much tighter resource restrictions that I've got, generally involving cross-compilers and recommendations that I hire a Montavista or equivalent to take the load off me. On the other, I've got the option of just busting out one of the standard distributions, but they all start from the assumption that I'm trying to have a full blown workstation complete with OpenOffice.

When all is said and done, the device I'm building is going to be a network device, running on a closed network. It'll be running headless, no keyboard/mouse/monitor, etc, and realtime-ish performance will be a consideration. What I think I want, therefore, is to have it sitting there running a few server daemons, probably ftpd, lighttpd, telnetd, that will under normal operation be handling little to no traffic, and the proprietary protocol thing that I'll be writing to handle the main purpose of the whole thing. I don't need/want X, and think I can probably get away with nothing more substantial than the shell in busybox as a user interface.

Does anyone have advice as to the best way to get to that destination? Should I be starting from kernel.org and building up? Should I start with Ubuntu and pare down? Is there any sort of better starting point that will put me somewhere between these two? I've got processor cycles, RAM, and drive space all to burn, and so I don't need to be fantastically aggressive about trimming fat, but I'd like to try to keep the waste to a reasonable level.

--
Rob Gaddi, Highland Technology
Email address is currently out of order
Reply to
Rob Gaddi
Loading thread data ...

Why bother with 1G? I just got a 133X 4G CF for $7 after $5 rebate.

8G is less than $20 as well. You can put KDE/X on less than 4G.
Reply to
linnix

You could start with Damn Small Linux (Google for it).

A standard kernel with the daemons will have plenty of capacity to run the daemons / services.

The consumer-grade destributions are much too heavy for pruning for your use.

--
Tauno Voipio
tauno voipio (at) iki fi
 Click to see the full signature
Reply to
Tauno Voipio

That would work, and you get a pretty sign-on screen to boot.

I was going to suggest Debian (which is infinitely configurable, and upon which Ubuntu is based), but DSL should work.

Consider learning how to build kernels so you can put one of the real- time Linux kernels in if you need it.

--
Tim Wescott
Control systems and communications consulting
 Click to see the full signature
Reply to
Tim Wescott

You could build it all yourself: get your own kernel and configure it yourself and build a root filesystem with buildroot:

formatting link

I've used that approach for building an ARM-based Linux system.

Whether that approach or a pare-down approach is better probably depends on what your final destination is. One will leave you with a very minimal setup (possibly even less than you want), the other will probably leave you with more than you need.

--
Paul
Reply to
Paul Black

..

Look into "Debian Live".

Pete

Reply to
Pete Bergstrom

It's small, but it is ultimately a GUI distribution. Something like ttylinux or an older installer that offered a no - X option might be more suited.

It's sometimes nice to be able to open an xterm from your embedded system displaying on your pc, so having an install that includes x clients like that can be useful. But it it's just xterm, you can get most of the same functionality by opening a local xterm and a new telnet or ssh connection to the embedded system.

Pick a distribution for which it's easy (vs theoretically possible) to get full sources, as if doing commercial distribution of your product you will need to be able to supply them.

Reply to
cs_posting

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.