Marcin voted 1 on this story.
Some fairly good info there.. but (as someone pointed out to me via email when I commented on the last story about embedded linux) Linux isn't an OS, Linux is just the kernel itself. Sure there are ports of linux to other architectures now but fundamentally it's a x86 architecture kernel, everything else really is an afterthought.
The real problem, he says, is that Linux is "a good operating system designed to a different purpose."
This was my point last time, so i'm glad someone else has made it too (that quote is from the linuxworld article).
I think for embedded applications nothing beats an OS written for the specific architecture it'll run on. Just look at PalmOS compared with WinCE. Of two people I work with one has a Palm V, and one just got a HP Jordana 545 WinCE thingie.
The Palm V can run for about 1 - 2 months of normal usage before it needs a recharge. The model my colleague has contains 2 Mb of RAM and he says that's more than enough.. he says applications are usually a few kb at most.
The WinCE machine on the other hand runs for about 8 hours before it needs to be recharged. Applications are several 100k. It has (and needs) 16MB of memory.
My point is that WinCE is a stripped down version of a fully featured OS designed for the x86 processor. The Jordana has like a 133Mhz processor to run this thing! (which explains the battery life). PalmOS was designed for the processor in the Palm (Dragonball?).. the Palm only has/needs a 25Mhz (or close?) CPU.
So my point is, i'm not convinced Linux will be very efficient as an embedded kernel. Is there even a point in making it into one? I mean, who wants to run emacs on a toaster? :) It's not like you want portability of existing applications. (Or maybe I'm wrong).
Anyway, end of rant. :)