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.