MontaVista porting Linux to "tiny" computers
redmist writes "
MontaVista Software will write a version of Linux called Hard Hat for use on Force Computers "tiny" computers with embedded processors. The project will begin with Intel-based machines and later will include PowerPC machines.
MontaVista will focus on "the need for small memory footprint, guaranteed response, high availability, and other key issues that desktop Linux does not provide," the company said.
Get the whole story here.
"
I work for a large company that uses an embedded OS for its products. There are two BIG features that embedded linux would provide:
1) Save money by the bushel. You and I might think "pah, nobody was broke by paying $40 for an OS", but the company thinks "if i save $40 in royalties on each unit, and I sell one million units, i've just saved myself forty million dollars. Get the point?
2) Linux is opensource, and as a consequence, the company can tailor the OS to what is needed. We have direct control, rather than negotiating with another company to please fix their bugs so we can release our product on time. Again, it comes back to money. Minimize your financial risk of having your release schedule dependent on another company.
Personally, I'd rather see a firm real time system be integrated. If you're doing something that requires hard real-time, patching a kernel isn't a problem, however many "desktop" apps could benefit from universal firm realtime. Perhaps .5 to 1 ms scheduling with about 250 ps of latency.
What advanteges does Trepidity have over other trolls? Both are pretty damn hip, but Trepidity posts with a witty "edge" that almost makes one believe he's for real.
8P first troll post, eh?
It wasn't Red Hat - Red Hat wanted to use the name and got stopped. That paticular witticism was already in use.
So Hard Hat became "Rough Cuts"
>kernel/user paradigm, a file system, device
>nodes, yadda yadda yadda. For instance, running
Hrm. Elevator controllers again? Perhaps embeded devices do not need such things, and the again perhaps they do. I'm still puzzled as to why toasters need chips, for example. But if they moderate the tempuature providing even toast, then I can at least see why you might want them to have chips.
Basicaly, what I'm trying to say is that the usefulness would be dependant upon the device's intended use. But I could at least think that development might be easier for an embeded Linux. Then again, purrhaps not.
> Even Microsoft didn't reuse code
I'm rather wary of using Microsoft as a positive example, since it's hard to tell when they do things for a technical gain or a market gain.
> Linux is not an embedded OS, even if you try to add hard real time threads to it.
It can't hurt to try and see, can it?
--- A message from the Grey Ocelot. Any similarity to another grey ocelot probably means it's me.
But that is the true meaning of the word 'free'. :)
But that would only involve in changes made to the embedded OS. You could still have proprietary embedded apps. (And yes, you can have embedded apps. Look at cisco routers...)
jf
Ummm, No. Only if you modify GPLed code are you forced to release the source. You can release all the proprietary code you want in Linux without a problem. You just can't take a GPLed program and change it, then not release the source. You can even have proprietary binary kernel modules and link them to the kernel without a problem. You just can't change the GPLed kernel and not release your source changes.
I can't be the only one who played that game!
I want a Hard Hat Mac.
:D
As a number of hardware vendors have recently realized, when your goal is to sell boxes (be they desktop PC's or toasters) making the software that runs on the boxes free only helps. MontaVista is trying to sell their tiny boxen, not sell an embedded OS to put in tiny boxen. Linux is just enabling software. In a case like this, being 'forced' to release any kernel modifications they make is a good thing for them -- their changes to the kernel will be open to peer review, which will make the code more robust, which will make their boxes more attractive, and thus let them sell more and make more money.
But your statement is true for a company that wants to make Linux into an embedded OS and just sell that.
The enemies of Democracy are
1) Networking. Who cares about networking on
a device that doesn't need it?
2) halt instruction. Yes, it's great, but
Linux still executes an amazing number of
instructions compared to the PalmOS, for
example. How much processing goes on when
an interrupt occurs in Linux compares to the
PalmOS? ALOT more. The Palm's batteries
are highly dependent on not doing any work
at all. If you run anything that uses the CPU, the batteries drain. That's why if you run a game, or an animation, or do a lot of memory writes, the batteries die quick.
3) Security. There isn't any multiusers being logged in. There is no filesystem. So what security are you talking about? Any network security for an embedded system (if it has a network) is going to be external, or protocol based, not something like PAM in Linux.
4)I don't care about uptime on my cell phone or palm. If it crashes, I restart it.
There is usually only one application running on the system on such a device. If my cell phone's app crashes, it is just as bad as the OS crashing, and the end user doesn't see a different.
Application stability matters in these devices, not OS stability, because most of the time there isn't any "other process that can bring down your app" Your app IS THE ONLY PROCESS.
IMHO, this is just another example of people trying to apply Linux to anything and everything, rather than doing the creative/correct thing and writing a real open-source kernel.
The Linux kernel certainly is too bulky. Hell, the Amiga kernel library fit in like 8-16k of RAM. It provided memory management, interupt and exception handling, thread management, message passing, asynchronous I/O, scheduling, etc.
Most embedded OS's are similar.
Virtual memory, process management, resource tracking, security, file systems, etc are all extra bulk that I could do without on my cell phone.
'Use' in this context refers to shipping it.
'Free' has different meanings. The GPL gives significantly less freedom than other licenses do, X and BSD for instance.
With regard to leeching, I have no problems with people using the GPL to prevent undesired use of code. However, don't lie to us about what we can do with it.
This is getting closer to my personal ideal... wearables.
With a smaller memory footprint, and lower power consumption, could this be where Linux finally really "takes hold"?
Get the public thinking of linux and the Palm OS of wearables, then expand to desktops....
Hmmm....
It's a thankless job, but I've got a lot of Karma to burn off
Previous points made are (1) embedded devices don't need networking. OK, some don't, but some do. An embedded project I just completed needs tries to swamp a 100mbps ethernet connection. (2)too much code wastes batteries. OK, but not all embedded devices run on batteries, either. If the product is Industrial controls or pricey test equipment it's just not a factor. (3)Security doesn't matter in embedded systems. So don't use any. Linux can run all processes as root if you want it to. But, if I design a home automation system I will want some well-tested security code to keep the kiddies from turning on my sprinkler system in the dead of winter! (or worse, setting off the fire alarm.) uptime doesn't matter in embedded systems. OK, but what about industrial automation? Or even a tiny embedded print server? Sure, sometimes it doesn't matter. But for some projects it does.
I'm not trying to apply Linux to everything. You're trying to extrapolate from your cellphone to all embedded systems; that's not realistic.
What sort of display could you use with this? I was reading about this the other day and was wondering how you would do IO with it... a mini-keyboard and an small LCD monitor? Or use it more like a PDA communicating over a network connection...
In other words, what practical applications does this have?
It's good to see people seeing Linux as useful for small, embedded systems. Its low cost and easy maintenance (hey, the source code's free!) make it an obvious choice. It's quite fun to see the little light bulbs turning on over people's heads.
Most of Linux's perceived shortcomings are already being addressed, or have active groups working on them.
This is great news!
--
"May I have ten thousand marbles, please?"
It us really nice to see Linux being ported to tiny objects and PCs. The article was somewhat fluffy, and didn't really give too much useful info. However, it did link me to the picture of the tiny web server. I have never seen that before.
Its just kind of funny... Other than WinCE, you are not seeing tiny devices that run Win32. I want an NT-controlled car Mp3 player. Think about it... I could get a tiny motherboard and CPU and add 64M of RAM. Then I could add a large hard drive so I could fit all the millions of lines of code onto it. Then I could have my friend reboot the system every few miles. I could also attach a trailer with a mini-power plant to my car so I could power my system.
Yea Slashdot... you watch out for me. As soon as NT5 comes out, I will buy another huge hard drive and have more people rebooting my system. Watch out...
-Clump
Real-Time Linux may yet become part of the
standard kernel. It's such a good concept that
it definitely should.
Marko
Hard Data, producer of fine Alpha Servers and beowolf clusters, already ships computers using the name Hard Hat Linux for its tuned version of the Red Hat OS.
Umm? What is the supposed benefit of running
the Liunx kernel on these small devices as
opposed to an embedded or real-time OS.
Besides the open-source issue? If you were
going to do an open-source embedded os, it would be better to write one from scratch.
Embedded devices don't need processes, security,
kernel/user paradigm, a file system, device
nodes, yadda yadda yadda. For instance, running
an OS like Linux, even a scaled down version,
on something like a Palm would be *stupid* It
would drain the batteries like a mofo and not
deliver any gain to the enduser.
When will people realize that there is no universal hammer? That your microwave oven is better off running with a small bit of logic in an PROM or a state machine than Unix?
Even Microsoft didn't reuse code, WinCE was rewritten because it is stupid to try and "port" to the embedded world. The only thing that was
kept the same was the subset of the Win32 API used to make it easier for developers to code applications.
Linux is not an embedded OS, even if you try to add hard real time threads to it.
Next thing you know, it will be "Linux for smart cards with 8k of RAM"
There's lots of people out there doing this- some can be found on the linux-embedded mailing list. I've been trying to get a small group together to work on embedded linux bootloaders, tools, etc. mail to eds@reric.net if you'd like to contribute.
I get the impression that none of the commenters have actually gone to Force's website and looked at their press release. They're going to offer Linux on their CPCI-730 single-board computer initially, and eventually across their product line.
Force makes Compact PCI and VME bus single-board computers in 3U and 2U form factors. I know this because we have a rackmount system based on their Centellis 4000 chassis with the CPCI Sparc card in it. These "tiny" systems aren't the wearable or PDA systems you seem to think they are. In general, industrial systems aren't designed for extreme miniaturization, but for high availability and environmental robustness.
Doug Loss
Linux can be attractive for embedded applications for two main reasons:
1) Linux, as an OS, is gaining rapidly in developer tools, documentation, and business acceptance. and,
2) Linux is free, in all respects.
Most embedded OS's are expensive to license and single purpose in design. The cost of licensing or developing an embedded OS may be too extreme for many applications, whereas using Linux may decrease costs and make some applications more feasible.
An Open Source, GPL'ed, embedded OS may be better, but I don't see any projects like that as of yet. I have seen quite a few embedded projects involve Linux.
Using Linux leverages use of professional-quality development software (Gcc/gdb, Codewarrior, etc) now available and allow the growing number of Linux application developers to work in an embedded environment they may be more comfortable with.
Granted, a lot of stripping down is required to make an embedded Linux, but that's the beauty of it. NT doesn't make sense an an embedded os (and Microsoft tried!) because you CAN'T strip it down. With Linux, and some kernel hacking, you can.
My 2 cents..
There is already a Hard Hat distribution. Try again. http://www.linux.sgi.com/mips/software.html
Matthew.
Of course, this ignores the fact that others have been using Hard Hat as a label for their stuff even longer. None of this postering matters until the trademark is actually granted....
First of all, there's more than a single embedded systems market. There are truly low-end systems (think toaster thermocontrols) where a Unix-like OS is certainly overkill. On t he other hand, there's a very large market segment where a Unix-like OS is not overkill. Telecom switching equipment and industrial control panels fit into this category. In these segments, it's not unusual at all for your "small" computer to be a m68k, PPC, SPARC, or Pentium running at a respectable speed and having 4, 8, or even 32+ Mb of memory. This is the market space currently occupied by VxWorks ( Wind River Systems), pSOS ( ISI), LynxOS ( Lynx Real-Time Systems), VRTX ( Mentor Graphics), Chorus ( Sun), QNX ( QNX Software Systems), OS-9 ( Microware), and a whole bunch of others that I can't think of off the top of my head. Oh, yeah, and Windows CE.
I even know of folks who are using Solaris or AIX in this type of application. Not to mention the poor fools who are stuck with Windows NT for control and monitoring applications (don't laugh, it happens!).
Now, the majority of these real-time operating systems (RTOS) are POSIX-compliant, at least to some degree. Usually, this means that they implement the POSIX.1 APIs. So, except for the tasking and memory models, they look a heck of a lot like Unix/Linux. Some of them (LynxOS, QNX) are downright Unix clones (like Linux). All of them have TCP/IP networking available, all of them either already have Java support or have promised it Real Soon Now, lots of them even use gcc/gdb as their toolchain.
Given that, why not Linux? Margins tend to be sensitive here, so you'd really like to eliminate those per-cpu royalties that the commercial (I should say "proprietary", since MontaVista is obviously commerical) vendors charge. And (contrary to what some /.'ers have posted) uptime is critical in many of these applications. Long-term supportability and credibility is also critical, as many of these systems may have production lifetimes of years, and field lifetimes of decades. Customers already recognize the value of having access to the source code in these circumstances, and they tend to demand it from their software vendors (it is usually provided under NDA or escrowed).
Now, check out the founders of MontaVista. Jim Ready helped put together VRTX, one of the first commerically-successful RTOS's. Jerry Kirk founded Microtec, which is the dominant vendor of compilers and debuggers for embedded systems (the XRAY debugger is the most-used debugger in the embedded world). So I would guess these two ought to have a good understanding of how to put together a OS + development enviroment that would appeal to the RTOS market.
It looks to me like, between this and eCos, we're about to see The Cathedral and the Bazaar dynamic in yet another OS market.
While Linux is larger than Emacs, at least Linux has the excuse that it needs to be. -- Linus Torvalds
We at Hard Data Ltd. have just emailed the following to MontaVista Software:
"We wish to inform you that Hard Data Ltd. has made application for trademark for the brand "Hard Hat Linux" and has used that particular name for over a year for the version of Linux we produce for workstations and servers.
Therefore we have to ask you to choose another name for your project, and to distribute a press release acknowledging the fact that this brand name is already in use.
We do not wish to be difficult, or enter into an antagonistic situation in this matter, but we need to protect our trademark.
If you would like to discuss the details we invite you to call, email, or write us."
In addition, we were also approached by Red Hat in December of 1997 who initally objected to our use of the words "Hat and Linux" in this brand, and we replied to them that as our company is called "Hard Data", and as it IS a Linux distribution, we fell that our use of this brand is quite appropriate.
Since that exchange we have received no further comment from Red Hat.
We thank you for your attention in this matter.
Hard Data Ltd.
11060 - 166 Avenue
Edmonton, Alberta, Canada
T5X 1Y3
Maurice W. Hilarius Voice: (778) 347-9907
What advantages does Linux have over DR-DOS for embedded systems? Both support multitasking and TCP/IP networking, and DR-DOS makes Linux look positively bloated. You can also get the source code to DR-DOS.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Have a look at http://www.uclinux.org and :-)
http://www.uclinux.com We have pictures of
the 30pin uC68EZ328 embedded controller up
at http://www.uclinux.com/uC68EZ328/ All you
need is 3.3v and an ethernet or serial cable
The uCsimm module is going into production
(that is, you will be able to purchase them)
in the next few weeks.
D. Jeff Dionne