From: Vladimir Vassilevsky on


Grant Edwards wrote:
> On 2009-12-18, Vladimir Vassilevsky <nospam(a)nowhere.com> wrote:
>
>
>>I don't understand the idea of embedded linix. What is it useful for?
>
>
> It's useful when you need a Linux/Unix OS in an embedded
> project. For example: you want to run a reasonably
> full-featured web server,

But who may need full featured embedded web server?

> you need an ssh server, ssl support,
> IPv4 and IPv6 support with NAT and firewall features, DHCP
> server and client, NTP server and client, and stuff like that.

On embedded linix without memory management?

Don't know about ssl/ssh, IPv6 is large, the other abovementioned things
are no big deal.

>>What is so good about it?
>
>
> It's free.

Please, not again. It is not free.

> It works.

Kinda. After you spend ~months to make it work.

> There's a lot of software that runs on
> it.

Yes, there are few useful utilities, some of these indeed work very well.

> It's been ported to everyting under the sun.

I still don't understand the fascination with it.


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
From: David Brown on
Vladimir Vassilevsky wrote:
>
>
> David Brown wrote:
>> Vladimir Vassilevsky wrote:
>>> Grant Edwards wrote:
>>>> On 2009-12-16, Vladimir Vassilevsky <nospam(a)nowhere.com> wrote:
>>>>> tama wrote:
>>>>>
>>>>>
>>>>>
>>>>>> I want to learn linux/ embedded linux.
>>>>>
>>>>>
>>>>> Book:
>>>>>
>>>>> P. Raghavan, A. Lad, S. Neelakandan
>>>>> "Embedded Linux System Design and Development"
>>>>
>>>>
>>>>
>>>> The O'Reilly book is also good:
>>>>
>>>> Yaghmour, Masters, Ben-Yossef, and Gerum
>>>> "Building Embedded Linux Systems"
>>>
>>>
>>> Actually, having read the first book, I was very dissapointed about
>>> Linux and ended up rolling my own OS.
>>>
>>
>> The OS you describe is a totally different beast than Linux - your OS
>> and Linux solve very different problems and are suitable for very
>> different applications. If what you needed was something like the OS
>> you wrote (and presumably it was!), then of course Linux would be a
>> disappointment.
>
> I don't understand the idea of embedded linix. What is it useful for?
> What is so good about it?
>

It is useful if you need a large and flexible operating system that can
run existing software and support a wide range of peripherals. It is
also good if you want powerful networking support, or if you want to be
able to run a variety of different programs.

It is of course important to realise what embedded Linux really is - it
is a full power *nix-style operating system, typically with fewer
drivers enabled by default and typically packaged up with smaller
utilities than standard Linux. It is much bigger than the type of OS
you have written, and though it can provide close to real time
performance, it is not real-time as such (in some cases, "close to real
time" is good enough - in other cases, it's a disaster waiting to happen).

For example, I use openwrt embedded linux on wireless routers. This
gives me a great deal of flexibility on the network setup - I can use a
full-featured firewall, wireless networking, vpn setups, virtual LANs,
dhcp server, dns server, etc., etc. On devices (not ones I have used)
which have enough flash and ram, you can use it as a print server or a
file server (using a usb disk). Although some manufacturers use Linux
in their firmware, many use something like VxWorks - such an RTOS has a
fraction of the features of embedded Linux, and is no faster or more
reliable (in this sort of application).

As another example, I was working for a while with an AVR32 processor
running Linux on an STK1000 starter kit. I could do pretty much
everything over the network - only the bootloader was actually in the
flash on the board. It collected the Linux kernel from my virtual PC,
and the root file system was mounted over nfs (again from the virtual
PC). Some files were on the virtual PC, others on my "real" PC running
windows - the Linux kernel on the board could access them just like any
other networked Linux machine. I could edit software on the host PC,
compile it on the virtual PC, and run it (via telnet) on the embedded
PC. When I needed more RAM than the starter kit board had, I made a
swap "drive" as a file on the virtual PC and mounted it as swap on the
embedded system - obviously it was a bit slower than real RAM, but it
was much easier than trying to solder new ram chips onto the board!

Embedded Linux is certainly not the answer to all embedded systems, but
it certainly /can/ be useful on larger embedded systems.
From: David Brown on
Vladimir Vassilevsky wrote:
>
>
> Grant Edwards wrote:
>> On 2009-12-18, Vladimir Vassilevsky <nospam(a)nowhere.com> wrote:
>>
>>
>>> I don't understand the idea of embedded linix. What is it useful for?
>>
>>
>> It's useful when you need a Linux/Unix OS in an embedded
>> project. For example: you want to run a reasonably
>> full-featured web server,
>
> But who may need full featured embedded web server?
>
>> you need an ssh server, ssl support,
>> IPv4 and IPv6 support with NAT and firewall features, DHCP
>> server and client, NTP server and client, and stuff like that.
>
> On embedded linix without memory management?

You are mixing your terms here - the version of Linux for processors
without an MMU is called "ucLinux". "Embedded Linux" simply means Linux
on an embedded system - which may or may not be the ucLinux variant.

And yes, all these can work fine on ucLinux. There are some limitations
with ucLinux applications (no "fork", for example), but most stuff works
fine assuming you have enough resources - ucLinux systems are typically
smaller with less memory.

>
> Don't know about ssl/ssh, IPv6 is large, the other abovementioned things
> are no big deal.
>

Things like NAT, firewalling, and DHCP server and client are not large
applications, but they take a lot of time and effort to write yourself.
Typically, you would want to use existing implementations - you can
either buy code, or you can download some from somewhere. With Linux
you can easily get the code, and it is the same code that runs on every
other Linux system - lots of features, and lots of testing.

When you are talking about secure code, such as ssl and ssh, you really
want to use code you can trust - again, there are no implementations
that have had as much testing or scrutiny as openssl and openssh, and
with embedded Linux you can run these straight off (not that this means
you can trust your builds of such software without testing!).

>>> What is so good about it?
>>
>>
>> It's free.
>
> Please, not again. It is not free.
>

It is "free as in speech" - something that some people see as a good
thing, others see as a bad thing, and yet others don't understand.

For cost, you obviously have to consider many things (development time,
board costs, licenses, etc.) before deciding how much it actually costs
compared to alternative solutions.

>> It works.
>
> Kinda. After you spend ~months to make it work.
>

That's very much a "it depends" situation. Some people can get things
working quickly, others take a long time. It depends on your experience
and knowledge beforehand, your application, your choice of processor and
board, your choice of tools and your choice of distribution. The same
can be said of pretty much any complex system.

Embedded Linux is complex - there is a lot available for it, and your
learning curve will depend very much on how deep you want to go, and how
far you stray from well-trodden paths (such as well-supported evaluation
cards).

>> There's a lot of software that runs on
>> it.
>
> Yes, there are few useful utilities, some of these indeed work very well.
>

It's true - there are one or two utilities for Linux.

>> It's been ported to everyting under the sun.
>
> I still don't understand the fascination with it.
>

It's not for everybody, and it's not for every application. I don't use
embedded Linux much - most of my systems are too small for it. But it
certainly has its useful features that you can't (practically) get any
other way.

From: Grant Edwards on
On 2009-12-18, Vladimir Vassilevsky <nospam(a)nowhere.com> wrote:
> Grant Edwards wrote:
>> On 2009-12-18, Vladimir Vassilevsky <nospam(a)nowhere.com> wrote:
>>
>>>I don't understand the idea of embedded linix. What is it useful for?
>>
>> It's useful when you need a Linux/Unix OS in an embedded
>> project. For example: you want to run a reasonably
>> full-featured web server,
>
> But who may need full featured embedded web server?

It's turtles all they way down.

>> you need an ssh server, ssl support,
>> IPv4 and IPv6 support with NAT and firewall features, DHCP
>> server and client, NTP server and client, and stuff like that.
>
> On embedded linix without memory management?

Who said anything about "without memory management"?

> Don't know about ssl/ssh, IPv6 is large,

Indeed.

> the other abovementioned things are no big deal.

Not everbody is wants to spend man-years of their spare time
writing every bit of what they need from scratch (after
designing a CPU, writing a compiler for it, no doubt).

>>>What is so good about it?
>>
>> It's free.
>
> Please, not again. It is not free.

Whatever.

>> It works.
>
> Kinda. After you spend ~months to make it work.

Nonsense. I've and had Linux running on several different
embedded platforms in a couple days.

>> There's a lot of software that runs on
>> it.
>
> Yes, there are few useful utilities, some of these indeed work
> very well.
>
>> It's been ported to everyting under the sun.
>
> I still don't understand the fascination with it.

Nobody is "fascinated" with it. It's a tool.

--
Grant Edwards grante Yow! ! Now I understand
at advanced MICROBIOLOGY and
visi.com th' new TAX REFORM laws!!
From: Mel on
Vladimir Vassilevsky wrote:

> Grant Edwards wrote:

>> It's useful when you need a Linux/Unix OS in an embedded
>> project. For example: you want to run a reasonably
>> full-featured web server,
>
> But who may need full featured embedded web server?

Current client sells big, complicated appliances to run at the core of
small, complicated enterprises. Has promised tons of customization,
configurability, remote support. WWW is the easiest way to provide and
control all this stuff. Trying to write it from scratch would take the rest
of our lives.

Mel.


First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5
Prev: USB HID on ML405/CY7C67300
Next: Pen plotter as digitizer