Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Linux Software

MontaVista porting Linux to "tiny" computers 40

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. "
This discussion has been archived. No new comments can be posted.

MontaVista porting Linux to "tiny" computers

Comments Filter:
  • 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.
  • >Embedded devices don't need processes, security,
    >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?

  • 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.
  • 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.
  • '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....
  • 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.
  • by Zack ( 44 )
    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!
    --
  • by clump ( 60191 )
    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
  • If you're using embedded computing, you probably have a very stripped down flavor of Linux--to the point of having Bourne shell as the only shell (if that). You would pull out a lot of the standard "unixisms" such as getty(). You basically wouldn't have a console.

    Embedded devices are supposed to be zero-maintenance, so you couldn't interact with it in the field except by interacting with the device it is connected to. A simple parallel port may provide all the required I/O between Linux and the physical device.

    In the shop, the device may well be PROM-programmed. The only time one would need to really interact with it is initial setup and programming. Again, use a serial port and Kermit (who needs a steenking TCP stack?), and connect to it from a real computer.

    Such a machine would really never need a console, or a display. It would always do I/O to another machine (whether an embedded device or a programmer's computer) and the display load would be on the other device.

  • I got the impression that this wasn't necessarily an embedded system, but rather a tiny computer with an embedded processor. Rather than using this as a portable MP3 player, couldn't this also be used as a palm top, not unlike the palm pilot?

    With a modem, pppd, fetchmail, pine, and lynx, you could have a fairly decent (and small) remote system... check mail, browse the web, etc, etc... all the stuff you normally carry a laptop around for, but this would fit on your hand...

    This, of course, would need some IO...
  • 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.
  • by Anonymous Coward

    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"

  • 1:Linux provides networking!

    2:As to using bateries like a mofo.. ever hear of the hlt instruction... cuts poweruse amazingly.

    3:Security is important when you network your whole house. Wheather you like it or not people have already put java and IP in toasters and dishwashers. Just wait untill everything is that way. (I don't want some hacker to hack my toilet while I'm taking a dump!)

    4:Seperating User/Kernel is good... It can keep the occasional error from killing the whole system. If an error occurs in userspace the kernel can rebuild userspace. If there is no user space the kernel can be over written.

    5:I could go on but I feel I hace adaquatly responded to you concerns.


    "There is no spoon" - Neo, The Matrix
    "SPOOOOOOOOON!" - The Tick, The Tick
  • There's lots of people out there doing this- some can be found on the linux-embedded mailing list [waste.org]. I've been trying to get a small group together to work on embedded linux bootloaders, tools, etc. mail to eds@reric.net [mailto] 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
  • The point is development time, and the ability to use third party development tools. Linux's loadable kernel module system makes development of low level drivers simple. It is also relatively easy to port applications to linux.

    So, as far as performance, perhaps QNX, VxWorks or similar would be better. But they do not have the easiest development system. (note: I only know QNX) Also, if you want to make a powerful one-off or two or three, QNX and VxWorks are very, very expensive. And they don't come with source code (the best place to get example code I find, is the Linux kernel).

    My 2 farthings.
  • The Linux/SGI people used to call their RH-derived distro Hard Hat, but they had to change it, because Red Hat weren't too happy about it, as I recall.

    Matthew.

  • Linux is not free in all respects. Anyone who uses us forced to pay the price of releasing their source.
  • 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 [wrs.com]), pSOS ( ISI [isi.com]), LynxOS ( Lynx Real-Time Systems [lynx.com]), VRTX ( Mentor Graphics [mentorg.com]), Chorus ( Sun [sun.com]), QNX ( QNX Software Systems [qnx.com]), OS-9 ( Microware [microware.com]), and a whole bunch of others that I can't think of off the top of my head. Oh, yeah, and Windows CE [microsoft.com].

    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 [tuxedo.org] 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

  • I agree. The news.com article is a little misleading when it refers to Force Computers' products as "tiny". In fact, these boards are quite resource-rich, the smallest one having "merely" a Pentium II (266Mhz) and 64Mb Ram, 10/100 Ethernet, USB, kbd, mouse, serial, parallel. The boards fit into industrial card cages and telecom racks, not in PDA's and wristwatches.

    I expect that eventually we'll be targetting smaller devices, but our first release will target this class of board.

    Gilbert Coville
    MontaVista Software

  • 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
  • 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.
  • As people have mentioned, for all its features (well, *because* of all its features :), Linux does not appear to be an ideal embedded OS.

    However, unlike other solutions, it is free, and has a reasonably mature development environment. I am aware of one solution that addresses the problems with other embedded OSes: eCos, from Cygnus (http://www.cygnus.com/ecos/overview.html). This is an open source, embedded RTOS with support for a number of common architectures.

    I'm not involved in embedded OS design or use, so I can't comment on the quality of this product, but it does seem to address some of the concerns raised in this thread.

It's a naive, domestic operating system without any breeding, but I think you'll be amused by its presumption.

Working...