Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-25 Thread Adrian Bunk
On Wed, Jun 25, 2008 at 10:50:43AM +0100, James Chapman wrote:
> Adrian Bunk wrote:
>> On Mon, Jun 23, 2008 at 07:28:09PM +0200, Denys Vlasenko wrote:
>>> On Thursday 01 May 2008 12:41, Andi Kleen wrote:
> To a large extent, I agree. I certainly don't want to focus solely on
> code size; there's a lot more to embedded Linux than that. But it _is_
 Not only code size, far more important is dynamic memory consumption.
 [admittedly we right now lack a good instrumentation framework for this]

> There are some cases where we really _do_ want to have CONFIG options,
> but I agree that we should keep them to a minimum. And when we _do_ have
> CONFIG options, they don't have to litter the actual code with ifdefs.
 The problem I see is more that really nobody can even compile not  
 alone test all these combinations anymore. Hidding the problem in 
 inlines
 does not solve that. And no randconfig is not the solution either.
>>> Because we allowed kernel to be developed without the requirement that
>>> random config should be buildable for release kernels.
>>>
>>> Had it been a requirement, keeping it in shape wouldn't be
>>> too difficult.
>>>
>>> Sure enough, _now_ fixing kernel to pass such a test on i386
>>> would take several weeks of work at least. But it is doable.
>>> ...
>>
>> On i386 it might even already work today.
>>
>> But guess how much time it costs to get at least all defconfigs  
>> compiling on the other 22 architectures.
>>
>> Even getting allmodconfig/allyesconfig compiling isn't trivial for all  
>> architectures, and random configurations are _far_ from compiling.
> >
> > And we are not talking about something to be done once, as soon as you
> > leave x86 there are tons of regular breakages.
>
> Could automated builds and build error reporting be used to help resolve  
> these problems?
> 
> The good people at Simtec have an automated build report available as an  
> e-mail digest. I use it to watch for architecture build breakages in  
> subsystems or drivers that I use or touch. It covers defconfigs of ARM  
> and MIPS architectures and reports compile errors/warnings, module size,  
> kernel size etc. If this approach were extended/distributed to cover  
> more architectures

Jan Dittmer has a great page showing the build status and kernel size of 
the defconfigs of all architectures that is running since 2004 or 2005:
  http://l4x.org/k/

> and random config builds, developers could with  
> little effort spot problems and fix them. Hell, it might also encourage  
> new developers to get involved and contribute.

Perhaps in an ideal world...

In reality, I'd claim I'm one out of only two people who regularly fix 
architecture-specific build problems for all architectures.

> James Chapman

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-25 Thread James Chapman

Adrian Bunk wrote:

On Mon, Jun 23, 2008 at 07:28:09PM +0200, Denys Vlasenko wrote:

On Thursday 01 May 2008 12:41, Andi Kleen wrote:

To a large extent, I agree. I certainly don't want to focus solely on
code size; there's a lot more to embedded Linux than that. But it _is_

Not only code size, far more important is dynamic memory consumption.
[admittedly we right now lack a good instrumentation framework for this]


There are some cases where we really _do_ want to have CONFIG options,
but I agree that we should keep them to a minimum. And when we _do_ have
CONFIG options, they don't have to litter the actual code with ifdefs.
The problem I see is more that really nobody can even compile not 
alone test all these combinations anymore. Hidding the problem in inlines

does not solve that. And no randconfig is not the solution either.

Because we allowed kernel to be developed without the requirement that
random config should be buildable for release kernels.

Had it been a requirement, keeping it in shape wouldn't be
too difficult.

Sure enough, _now_ fixing kernel to pass such a test on i386
would take several weeks of work at least. But it is doable.
...


On i386 it might even already work today.

But guess how much time it costs to get at least all defconfigs 
compiling on the other 22 architectures.


Even getting allmodconfig/allyesconfig compiling isn't trivial for all 
architectures, and random configurations are _far_ from compiling.

>
> And we are not talking about something to be done once, as soon as you
> leave x86 there are tons of regular breakages.

Could automated builds and build error reporting be used to help resolve 
these problems?


The good people at Simtec have an automated build report available as an 
e-mail digest. I use it to watch for architecture build breakages in 
subsystems or drivers that I use or touch. It covers defconfigs of ARM 
and MIPS architectures and reports compile errors/warnings, module size, 
kernel size etc. If this approach were extended/distributed to cover 
more architectures and random config builds, developers could with 
little effort spot problems and fix them. Hell, it might also encourage 
new developers to get involved and contribute.


Here's a link to a recent report for ARM, fyi:-

http://lists.simtec.co.uk/pipermail/kautobuild/2008-June/001299.html


Plus the fact that you often get into situations where more options
mean complex and fragile stuff. Read the Kconfig files under 
drivers/media/ and check in git all commits to them since 2.6.25 alone, 
and you'll understand why "add an option for every bit" can result in

very high ongoing maintainance work required.

Not everything that is technically possible is also maintainable, and 
maintainability is a very important point in a project with several 
million lines changing each year.



vda


cu
Adrian


--
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-23 Thread Sam Ravnborg
On Mon, Jun 23, 2008 at 09:12:30PM +0200, Denys Vlasenko wrote:
> On Monday 23 June 2008 20:57, Sam Ravnborg wrote:
> > > > I agree. And if we do want to pay attention to pure code size, there are
> > > > other approaches -- like --gc-sections
> > > 
> > > I have some patches in this area too. Were submitted to Sam
> > > but he was too busy it seems.
> >
> > They were not trivial to apply and so went down on the TODO list.
> 
> I realize that they were not trivial to review, but that
> was unavoidable. They were even more not trivial to create.
> 
> > We could try to push the generic and x86 specific .lds stuff via
> > the arch maintainers?
> 
> IIRC I splitted the entire GC collection patch in a way
> that first patches were doing exactly this easier first part
> and I hoped that at least these first patches
> will be taken. They were big, but somewhat trivial,
> from "it's obviously safe" department.

I do not recall anything wrong with the patch-set.

> 
> Had they been applied, now making --gc-sections to work
> would be easier.
Agreed. I should have asked you to push this via arch maintainers back then.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-23 Thread Denys Vlasenko
On Monday 23 June 2008 20:57, Sam Ravnborg wrote:
> > > I agree. And if we do want to pay attention to pure code size, there are
> > > other approaches -- like --gc-sections
> > 
> > I have some patches in this area too. Were submitted to Sam
> > but he was too busy it seems.
>
> They were not trivial to apply and so went down on the TODO list.

I realize that they were not trivial to review, but that
was unavoidable. They were even more not trivial to create.

> We could try to push the generic and x86 specific .lds stuff via
> the arch maintainers?

IIRC I splitted the entire GC collection patch in a way
that first patches were doing exactly this easier first part
and I hoped that at least these first patches
will be taken. They were big, but somewhat trivial,
from "it's obviously safe" department.

Had they been applied, now making --gc-sections to work
would be easier.
--
vda

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-23 Thread Tim Bird
Adrian Bunk wrote:
> On Mon, Jun 23, 2008 at 07:28:09PM +0200, Denys Vlasenko wrote:
>> Had it been a requirement, keeping it in shape wouldn't be
>> too difficult.
>>
>> Sure enough, _now_ fixing kernel to pass such a test on i386
>> would take several weeks of work at least. But it is doable.
>> ...
> 
> On i386 it might even already work today.
> 
> But guess how much time it costs to get at least all defconfigs 
> compiling on the other 22 architectures.
> 
> Even getting allmodconfig/allyesconfig compiling isn't trivial for all 
> architectures, and random configurations are _far_ from compiling.
> 
> And we are not talking about something to be done once, as soon as you 
> leave x86 there are tons of regular breakages.
> 
> Plus the fact that you often get into situations where more options
> mean complex and fragile stuff. Read the Kconfig files under 
> drivers/media/ and check in git all commits to them since 2.6.25 alone, 
> and you'll understand why "add an option for every bit" can result in
> very high ongoing maintainance work required.
> 
> Not everything that is technically possible is also maintainable, and 
> maintainability is a very important point in a project with several 
> million lines changing each year.

OK sure.  Nobody's going to disagree with that.  I would, however,
disagree with a characterization of Linux-tiny as "adding an option
for every bit".  Linux-tiny has been around about 5 years now, and
if you added the whole thing right now you'd add about 30 config
options.

If you're worried about this multiplying out of control, let me
just say that having to curtail the rate of patch submission by
embedded developers has not been our biggest problem.  :-)
 -- Tim

=
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America
=

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-23 Thread Sam Ravnborg
On Mon, Jun 23, 2008 at 07:22:10PM +0200, Denys Vlasenko wrote:
> On Wednesday 30 April 2008 21:11, David Woodhouse wrote:
> > On Wed, 2008-04-30 at 20:22 +0200, Andi Kleen wrote:
> > > David Woodhouse <[EMAIL PROTECTED]> writes:
> > > 
> > > > Andrew Morton has been saying recently that we need an 'embedded
> > > > maintainer', to take responsibility for 'embedded issues' in the core
> > > > kernel, as well as trying to improve our relationship with those using
> > > > the Linux kernel for 'embedded' devices -- who have a reputation of
> > > > not working with us very closely; to their detriment as well as our
> > > > own.
> > > 
> > > I hope your job description doesn't include adding more and more
> > > CONFIGs though.
> > > 
> > > I am sure there are lots of low hanging fruit where memory can be
> > > saved and it's a good thing someone cares about that, but please don't
> > > focus on the code size only. Or if you work on that don't do it 
> > > using CONFIG or when you really add a new one find some other 
> > > that is pointless and remove it first. 
> > > 
> > > There are simply already far too many of them and they make the 
> > > kernel harder and harder to change.
> > 
> > I agree. And if we do want to pay attention to pure code size, there are
> > other approaches -- like --gc-sections
> 
> I have some patches in this area too. Were submitted to Sam
> but he was too busy it seems.
They were not trivial to apply and so went down on the TODO list.
We could try to push the generic and x86 specific .lds stuff via
the arch maintainers?

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-23 Thread Denys Vlasenko
On Monday 23 June 2008 19:45, Adrian Bunk wrote:
> Plus the fact that you often get into situations where more options
> mean complex and fragile stuff. Read the Kconfig files under 
> drivers/media/ and check in git all commits to them since 2.6.25 alone, 
> and you'll understand why "add an option for every bit" can result in
> very high ongoing maintainance work required.
> 
> Not everything that is technically possible is also maintainable, and 
> maintainability is a very important point in a project with several 
> million lines changing each year.

Well, I am not (and was not) disputing this. I agree with it.
CONFIGs should not be multiplying like rabbits.
--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-23 Thread Adrian Bunk
On Mon, Jun 23, 2008 at 07:28:09PM +0200, Denys Vlasenko wrote:
> On Thursday 01 May 2008 12:41, Andi Kleen wrote:
> > > To a large extent, I agree. I certainly don't want to focus solely on
> > > code size; there's a lot more to embedded Linux than that. But it _is_
> > 
> > Not only code size, far more important is dynamic memory consumption.
> > [admittedly we right now lack a good instrumentation framework for this]
> > 
> > > There are some cases where we really _do_ want to have CONFIG options,
> > > but I agree that we should keep them to a minimum. And when we _do_ have
> > > CONFIG options, they don't have to litter the actual code with ifdefs.
> > 
> > The problem I see is more that really nobody can even compile not 
> > alone test all these combinations anymore. Hidding the problem in inlines
> > does not solve that. And no randconfig is not the solution either.
> 
> Because we allowed kernel to be developed without the requirement that
> random config should be buildable for release kernels.
> 
> Had it been a requirement, keeping it in shape wouldn't be
> too difficult.
> 
> Sure enough, _now_ fixing kernel to pass such a test on i386
> would take several weeks of work at least. But it is doable.
>...

On i386 it might even already work today.

But guess how much time it costs to get at least all defconfigs 
compiling on the other 22 architectures.

Even getting allmodconfig/allyesconfig compiling isn't trivial for all 
architectures, and random configurations are _far_ from compiling.

And we are not talking about something to be done once, as soon as you 
leave x86 there are tons of regular breakages.

Plus the fact that you often get into situations where more options
mean complex and fragile stuff. Read the Kconfig files under 
drivers/media/ and check in git all commits to them since 2.6.25 alone, 
and you'll understand why "add an option for every bit" can result in
very high ongoing maintainance work required.

Not everything that is technically possible is also maintainable, and 
maintainability is a very important point in a project with several 
million lines changing each year.

> vda

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-23 Thread Denys Vlasenko
On Thursday 01 May 2008 12:41, Andi Kleen wrote:
> > To a large extent, I agree. I certainly don't want to focus solely on
> > code size; there's a lot more to embedded Linux than that. But it _is_
> 
> Not only code size, far more important is dynamic memory consumption.
> [admittedly we right now lack a good instrumentation framework for this]
> 
> > There are some cases where we really _do_ want to have CONFIG options,
> > but I agree that we should keep them to a minimum. And when we _do_ have
> > CONFIG options, they don't have to litter the actual code with ifdefs.
> 
> The problem I see is more that really nobody can even compile not 
> alone test all these combinations anymore. Hidding the problem in inlines
> does not solve that. And no randconfig is not the solution either.

Because we allowed kernel to be developed without the requirement that
random config should be buildable for release kernels.

Had it been a requirement, keeping it in shape wouldn't be
too difficult.

Sure enough, _now_ fixing kernel to pass such a test on i386
would take several weeks of work at least. But it is doable.

I would even volunteer to do it if there are some
reasonable chances resulting patches would be viewed
as worthwhile for inclusion. I am somewhat tired
of killing weeks of my time only to find that my work
is deemed "not important enough for inclusion".
--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-23 Thread Denys Vlasenko
On Wednesday 30 April 2008 21:11, David Woodhouse wrote:
> On Wed, 2008-04-30 at 20:22 +0200, Andi Kleen wrote:
> > David Woodhouse <[EMAIL PROTECTED]> writes:
> > 
> > > Andrew Morton has been saying recently that we need an 'embedded
> > > maintainer', to take responsibility for 'embedded issues' in the core
> > > kernel, as well as trying to improve our relationship with those using
> > > the Linux kernel for 'embedded' devices -- who have a reputation of
> > > not working with us very closely; to their detriment as well as our
> > > own.
> > 
> > I hope your job description doesn't include adding more and more
> > CONFIGs though.
> > 
> > I am sure there are lots of low hanging fruit where memory can be
> > saved and it's a good thing someone cares about that, but please don't
> > focus on the code size only. Or if you work on that don't do it 
> > using CONFIG or when you really add a new one find some other 
> > that is pointless and remove it first. 
> > 
> > There are simply already far too many of them and they make the 
> > kernel harder and harder to change.
> 
> I agree. And if we do want to pay attention to pure code size, there are
> other approaches -- like --gc-sections

I have some patches in this area too. Were submitted to Sam
but he was too busy it seems.
--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-17 Thread Enrico Weigelt
* Rob Landley <[EMAIL PROTECTED]> schrieb:

Hi,

> You can't get away from cross compiling whenever you want to bootstrap a new 
> platform.  But cross compiling can be minimized and encapsulated.  It can be 
> a stage you pass through to get it over with and no longer have to deal with 
> it on the other side, which is the approach I take.

That's not enought for me. I want more encapsulation (yes, but buildfarm 
is also running in a VZ, but still sysroot'ed). For example, I *want* certain
tests (like running target code) to fail, since I *do not* trust them.
(btw: I also let compiler warnings fail, just to be sure).

I, personally, prefer high build-time constraints, because runtime tests
are quite limited.

> By my count sysroot is the fifth layer of path logic the gcc guys have added 
> in an attempt to paint over the dry rot.

I see this as a quite good separation between running and target system,
just one more fence for clear borders. As long as you don't pass absolute
search pathes to it, you can be sure that it doesn't mix up target and host.

Actually, I never want to crosscompile w/o it. 

> Personally I use a derivative of the old uClibc wrapper script that rewrites 
> the command line to start with "--nostdinc --nostdlib" and then builds it 
> back up again without having any paths in there it shouldn't.

Might work, but then you're limited to some specific cases. 
If you *only* intent bootstrapping of an minimal system, fine, but for
my projects too complex to handle.

> > #2: fix broken configure.in's (and feed back to upstream or OSS-QM)
> 
> Whack-a-mole.  Fun for the whole family.  Only problem is, it never stops.

Most times, it as only to be done one per package. And it's an clean solution.

> > #3: replace libtool by unitool
> 
> Uninstall libtool and don't replace it with anything, it's a NOP on Linux.

The problem is: many packages are entirely built upon this. So you'll have
to de-libtoolize them. Very much work. As I already had Unitool, I preferred
investing just a few hours for creating an generic drop-in replacement for 
libtool instead of touching each single package.

> > Only crap sw looks at /proc at build time.
> > Yes, there's *much* crap sw out there :(
> 
> 99% of all the developers out there don't really care about portability, and 
> never will.  Even if you eliminate the windows guys and the people who don't 
> do C, 90% of the people who are _left_ get to work on the PC first, get it to 
> work natively on other Linux platforms afterwards.

True :(
Some packages out there even don't have an clean native build path, eg. 
requiring parts of the package already built and installed (-> firebird-db)
 
> Cross compiling is a step beyond "portability".  They'll _never_ care about 
> cross compiling.  If they get inspired to make it work on MacOS X, then 
> you'll have to extract the source and _build_ it on MacOS X to make that 
> work.  And 99% of all developers will nod their heads and go "quite right, as 
> it should be".
> 
> This isn't going to change any time soon.

Actually, I don't care much about that. I concentrate on getting those 
packages I need cleaned-up and crosscompile'able - even if this means 
going alone and maintaining an own branch.

If I sum up all the invested working hours of all the last years
on that and substract the total saved time from other projects 
where I'm reusing this work, I get a positive balance ;-P


cu
-- 
-
 Enrico Weigelt==   metux IT service - http://www.metux.de/
-
 Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
-
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-15 Thread Rob Landley
On Thursday 12 June 2008 13:18:07 Enrico Weigelt wrote:
> * Rob Landley <[EMAIL PROTECTED]> schrieb:
>
> Hi,
>
> > There's also qemu.  You can native build under emulation.
>
> did you ever consider that crosscompiling is not only good for
> some other arch, but a few more things ?

Sure, such as building a uClibc system on a glibc host, which my _previous_ 
firmware linux project (http://landley.net/code/firmware/old) was aimed at.

That used User Mode Linux instead of qemu, because "fakeroot" wasn't good 
enough and chroot A) requires the build to run as root, B) sometimes gets a 
little segfaulty if you build uClibc with newer kernel headers than the 
kernel in the system you're running on.

You can't get away from cross compiling whenever you want to bootstrap a new 
platform.  But cross compiling can be minimized and encapsulated.  It can be 
a stage you pass through to get it over with and no longer have to deal with 
it on the other side, which is the approach I take.

> > In addition, if you have a cross compiler but don't want to spend all
> > your time lying to ./configure, preventing gcc from linking against the
> > host's zlib or grabbing stuff out of /usr/include that your target hasn't
> > got, or
>
> #1: use a proper (sysroot'ed) toolchain

I break everything.  (I've broken native toolchains.  I just break them 
_less_.)

By my count sysroot is the fifth layer of path logic the gcc guys have added 
in an attempt to paint over the dry rot.

Personally I use a derivative of the old uClibc wrapper script that rewrites 
the command line to start with "--nostdinc --nostdlib" and then builds it 
back up again without having any paths in there it shouldn't.

> #2: fix broken configure.in's (and feed back to upstream or OSS-QM)

Whack-a-mole.  Fun for the whole family.  Only problem is, it never stops.

> #3: replace libtool by unitool

Uninstall libtool and don't replace it with anything, it's a NOP on Linux.

> > libraries are linked inside the emulator, anything that wants to look
> > at /proc or sysinfo does it natively inside the emulator...)
>
> Only crap sw looks at /proc at build time.
> Yes, there's *much* crap sw out there :(

99% of all the developers out there don't really care about portability, and 
never will.  Even if you eliminate the windows guys and the people who don't 
do C, 90% of the people who are _left_ get to work on the PC first, get it to 
work natively on other Linux platforms afterwards.

Cross compiling is a step beyond "portability".  They'll _never_ care about 
cross compiling.  If they get inspired to make it work on MacOS X, then 
you'll have to extract the source and _build_ it on MacOS X to make that 
work.  And 99% of all developers will nod their heads and go "quite right, as 
it should be".

This isn't going to change any time soon.

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-15 Thread Rob Landley
On Sunday 15 June 2008 10:39:43 Leon Woestenberg wrote:
> Hello all,
>
> On Thu, Jun 12, 2008 at 2:41 AM, Rob Landley <[EMAIL PROTECTED]> wrote:
> > Most packages don't cross compile at all.  Debian has somewhere north of
> > 30,000 packages.  Every project that does large scale cross compiling
> > (buildroot, gentoo embedded, timesys making fedora cross compile, etc)
> > tends to have about 200 packages that cross compile more or less easily,
> > another 400 or so that can be made to cross compile with _lot_ of effort
> > and a large enough rock, and then the project stalls at about that size.
>
> Agreed, OpenEmbedded has a few thousands, but your point is valid.
> However, fleeing to target-native compilation is not the way to
> improve the situation IMHO.

You say it like fleeing is a bad thing. :)

I believe building natively under emulation is the Right Thing.  Cross 
compiling has always historically been a transitional step until native 
compiling became available on the target.

When Ken Thompson and Dennis Ritchie were originally creating Unix for the 
PDP-7, they cross compiled their code from a honking big GE mainframe because 
that was their only option.  One of the first things they wrote was a PDP-7 
assembler that ran on the PDP-7.  The reason they created the B programming 
language in the first place was to have a tiny compiler that could run 
natively on the PDP-7, and when they moved up to a PDP-11 Dennis had more 
space to work with and expanded B into C.

When they severed the mainframe umbilical cord as soon as they were able to 
get the system self-hosting, it wasn't because the PDP-7 had suddenly become 
faster than the GE mainframe.

Compiling natively where possible has been the normal way to build Unix 
software ever since.  Linux became a real project when Linus stopped needing 
Minix to cross-compile it.  Linus didn't "flee" Minix, he assures us he 
erased his minix partition purely by accident. :)

> Moore's law on hardware also goes for the host, 

Which is why people no longer regularly write application software in assembly 
language, because we don't need to do that anymore.  The result would be 
faster, but not better.

The rise of scripting languages like Python and javascript that run the source 
code directly is also related (and if you don't think people don't write 
complete applications in those you haven't seen any of the google apps).  The 
big push for Java in 1998 could happen because the hardware was now fast 
enough to run _everything_ under an emulator for a processor that didn't 
actually exist (until Rockwell built one, anyway).

Build environments are now literally thousands of times faster than when I 
started programming.  The first machine I compiled code on was a commodore 64 
(1mhz, 8 bits, the compiler was called "blitz" and the best accelerator for 
it was a book).  The slowest machine I ever ran Linux on was a 16 mhz 386sx.

According to my blog, I moved from a 166mhz laptop to a 266mhz one on April 
13, 2002.  I started building entire Linux From Scratch systems on the 166mhz 
machine, including a ton of optional packages (apache, postgresql, openssh, 
samba, plus it was based on glibc and coreutils and stuff back then so the 
build was _slow_), hence the necessity of scripting it and leaving the build 
to its own devices for a few hours.

Even without distcc calling out to the cross compiler, the emulated system 
running on my laptop is several times faster than the build environment I had 
7 years ago (2001), somewhat faster than the one I had 5 years ago (2003), 
and somewhat slower than the one I had 3 years ago (2005).  (That's emulating 
an x86 build environment on my x86_64 laptop.  I didn't _have_ a non-x86 
build enviornment 5 years ago for comparison purposes.)

> I think the progress is even bigger on big iron.

Not that I've noticed, unless by "big iron", you mean "PC clusters".  (You can 
expand laterally if you've got the money for it and your problem distributes 
well...)

> Also, how much of the 3 packages are useful for something like
> your own firmware Linux?

None of them, because Firmware Linux has a strictly limited agenda: provide a 
native build environment on every system emulation supported by qemu.  That's 
the 1.0 release criteria.  (Some day I may add other emulators like hercules 
for s390, but the principle's the same.)

Once you have the native build environment, you can bootstrap Gentoo, or 
Debian, or Linux From Scratch, or whatever you like.  I've got instructions 
for some of 'em.

The buildroot project fell into the trap of becoming a distro and having to 
care about the interaction between hundreds of packages.  I'm not interested 
in repeating that mistake.

Figuring out what packages will other people might need is something I stopped 
trying to predict a long time ago.  If it exists, somebody wanted it.  People 
want/need the weirdest stuff: the accelerometer in laptops is used for 
rolling marble games

Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-15 Thread Leon Woestenberg
Hello all,

On Thu, Jun 12, 2008 at 2:41 AM, Rob Landley <[EMAIL PROTECTED]> wrote:
>
> Most packages don't cross compile at all.  Debian has somewhere north of
> 30,000 packages.  Every project that does large scale cross compiling
> (buildroot, gentoo embedded, timesys making fedora cross compile, etc) tends
> to have about 200 packages that cross compile more or less easily, another
> 400 or so that can be made to cross compile with _lot_ of effort and a large
> enough rock, and then the project stalls at about that size.
>

Agreed, OpenEmbedded has a few thousands, but your point is valid.
However, fleeing to target-native compilation is not the way to
improve the situation IMHO.

Moore's law on hardware also goes for the host, I think the progress
is even bigger on big iron.

Also, how much of the 3 packages are useful for something like
your own firmware Linux?

> Distcc can take advantage of smp, but that won't help the ./configure stage
> and I need to do some work on distcc to teach it to understand more gcc
>
If you want to build 1000+ packages, you don't need to run configure
itself multithreaded. There are enough jobs available to keep 16/32
processors busy (beyond that, you probably end up in
inter-package-dependencies stalling the build). This is just a guess
from what I see during a multi-threaded bake and multi-threaded make
on OpenEmbedded.

> However, having one or more full-time engineers devoted to debugging
> cross-compile issues is quite a high price to pay too.  Moore's law really
> doesn't help that one.
>
How about 30+ volunteers.

> I'm not saying either solution is perfect, I'm just saying the "build under
> emulation" approach is a viable alternative that gets more attractive as time
> passes, both because of ongoing development on emulators and because of
> Moore's law on the hardware.
>
I cannot follow your reasoning - Moore's law will help you more on the
big iron side of things.

That said, I welcome any effort (such as yours) to help improve the
embedded Linux domain, I rather try to fix the cross-compile stuff of
the few thousand packages I am interested in.

Yes it hurts my brain.

Regards,
-- 
Leon
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-13 Thread David VomLehn

James Chapman wrote:

David VomLehn wrote:

Enrico Weigelt wrote:

* Rob Landley <[EMAIL PROTECTED]> schrieb:
 

Cross compiling breaks stuff, yes.

Most packages don't cross compile at all.  Debian has somewhere 
north of 30,000 packages.  Every project that does large scale 
cross compiling (buildroot, gentoo embedded, timesys making fedora 
cross compile, etc) tends to have about 200 packages that cross 
compile more or less easily, another 400 or so that can be made to 
cross compile with _lot_ of effort and a large enough rock, and 
then the project stalls at about that size.



The problem is: most embedded projects don't make really 
general-purpose
fixes (instead strange things like hacking up autogenerated files), 
so they can't feed back to upstream.


IMHO, a huge waste of working time.
  
Amen, brother. I'm fortunate in that I work for an organization that 
is quite good about enforcing code reviews, specifically, the QA 
organization is empowered to reject changes that do not have code 
review notes. I also have a fairly broad scope, so I'm in on code 
reviews for a number of open source components. At each such review, 
one of my criteria is whether the change is suitable for pushing back 
to the appropriate community. This is not necessarily a short-term 
way to make friends, but the long-term effects will be good both for 
the company and for the open source community in general.


Now, if we can only get the time to actually push all the backlogged 
fixes out...


Er, is that GPL or LGPL code that you're modifying? If so, you *have* 
to push those code changes out (make them available to others), 
whether you think people will be interested or not!



I guess I'm making a distinction that wasn't clear. We *have* to make
the code available, and I can assure you that Cisco is very aware of our
obligations in this area and I spend a fair amount of my time trying to
ensure they are met.

I used the term "push" to mean getting patches ready, posting them to the 
appropriate mailing lists, revising them in light of comments, and doing 
everything else necessary to get them incorporated into the kernel source base. 
"Pushing" is a lot more work than just making source available, but also yield 
much more productive long term results for everyone.


--
David VomLehn, [EMAIL PROTECTED]
The opinions expressed herein are likely mine, but might not be my employer's...






- - - - -  Cisco- - - - - 
This e-mail and any attachments may contain information which is confidential, 
proprietary, privileged or otherwise protected by law. The information is solely 
intended for the named addressee (or a person responsible for delivering it to 
the addressee). If you are not the intended recipient of this message, you are 
not authorized to read, print, retain, copy or disseminate this message or any 
part of it. If you have received this e-mail in error, please notify the sender 
immediately by return e-mail and delete it from your computer.


--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-13 Thread Enrico Weigelt
* Samuel Robb <[EMAIL PROTECTED]> schrieb:

> When you have a one- or two-line fix, and face Yet Another round of
> finding the right mailing list, identifying the right maintainers,
> figuring out the right way to submit a bug and a patch, and then have to
> spend the next 3 weeks explaining how no, you're not interested in being
> the PPC maintainer for libfoo... is it any wonder that developers (not
> to mention their management) eventually just gives up on the idea of
> "giving back to the community?"

ACK.

> One possible solution would be to provide a clearing house for these
> sorts of changes, maybe under the auspices of CELF or a similar
> organization.  Instead of submitting patches to individual projects,
> submit them to the clearing house, and let interested individuals either
> gather together and push related patches upstream in individual
> projects, or give project maintainers a place to go and find embedded
> systems patches related to their projects.

See my last mail: that's exactly what the oss-qm project is for:
http://oss-qm.metux.de/

With OSS-QM and related tools you often even don't need your own
patching infrastructure - oss-qm provides complete patches against
virtually any package/release.

Perhaps a few words on the infrastructure:

* single patches are collected per package, each vendor may get his
  own namespace/subdir, where he can feed in his patches.
* the single patches are automatically pulled together based on 
  "listfiles" - per package+release there is an simple text file 
  which just lists the single patches to be pulled together.
* each vendor may get it's own namespace for the listfiles.

In other words: if you fear somebody else breaks your already 
tested/approved packages, just use your own (listfile) namespace.


BTW: CSDB does a similar thing for retrieving source tarballs.
Just query the DB, never ever care about individual URLs in
you local build system. 


cu
-- 
-
 Enrico Weigelt==   metux IT service - http://www.metux.de/
-
 Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
-
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-13 Thread Enrico Weigelt
* Jim Freeman <[EMAIL PROTECTED]> schrieb:

> And I'm just betting that when he said "push ... fixes ... out"
> he meant "work to get them incorporated back upstream", not just
> make them available to requesters.

Exactly.
That's the essence of opensource development: 
Working together, instead of just taking someone else's work.

BTW: everyone here should know that maintaining own branches
(this actually happens if you have your own patches not fed
back to upstream) is an quite work intensive and sometimes
complex task. I doubt anyone here's really eager on doing that ;-P

I understand that not everyone can talk with every project's 
upstream. Simply too much load. And not every project wants to
merge in your patches asap (think of how long it took until
expat team took in my really trivial $DESTDIR patch ;-o).

That's why I founded the OSS-QM project: it a kind of "overlay"
which provides fixes for a lot of packages in a strictly normalized
namespace (so 100% automatic applying is easy).

http://oss-qm.metux.de/

So, eg. if you've made some local changes, please at least feed 
them to us :)


cu
-- 
-
 Enrico Weigelt==   metux IT service - http://www.metux.de/
-
 Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
-
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-13 Thread Samuel Robb
On Thu, 2008-06-12 at 16:02 -0600, Jim Freeman wrote:
> Most vendors these days have finally gotten the clue that sources/changes
> have to be made available to downstream requesters, but far fewer
> are sufficiently self-enlightened to figure out that changes need to
> be accepted upstream for them to keep flowing back.  And to make that
> happen, vendors have to take on substantially higher overhead to win
> acceptance of patches/changes upstream, an undertaking often sadly
> fraught with hassle, uncertainty, and even peril.  So they mostly
> don't bother.  To their (and their customers, and our) long-term
> detriment.

So - how do you reduce that overhead, then?  Keep in mind that while
pushing kernel changes upstream is significant, there are other projects
as well.  Most embedded developers are working not just with the kernel,
but with a constellation of packages related to their projects.  In
order to "push changes upstream", they may end up having to work with
several different communities... each with their own model of
interaction, their own model of patch submission, and their own release
schedules.  Figuring out how to deal with just one community (kernel)
doesn't help them in dealing with another (say, samba).

When you have a one- or two-line fix, and face Yet Another round of
finding the right mailing list, identifying the right maintainers,
figuring out the right way to submit a bug and a patch, and then have to
spend the next 3 weeks explaining how no, you're not interested in being
the PPC maintainer for libfoo... is it any wonder that developers (not
to mention their management) eventually just gives up on the idea of
"giving back to the community?"

One possible solution would be to provide a clearing house for these
sorts of changes, maybe under the auspices of CELF or a similar
organization.  Instead of submitting patches to individual projects,
submit them to the clearing house, and let interested individuals either
gather together and push related patches upstream in individual
projects, or give project maintainers a place to go and find embedded
systems patches related to their projects.

-Samrobb


--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-13 Thread James Chapman

Daniel THOMPSON wrote:

James Chapman wrote:

Mike Frysinger wrote:

On Thu, Jun 12, 2008 at 5:53 PM, Tim Bird wrote:

Mike Frysinger wrote:

Er, is that GPL or LGPL code that you're modifying? If so, you
*have* to
push those code changes out (make them available to others),
whether you
think people will be interested or not!

umm, not really.  only if (1) he gives a binary to someone and (2)
they ask him for the source.  if he doesnt distribute or no one asks,
he doesnt have to do squat.

This is closer to correct, but missing some important details.

Start the GPL compliance tutorial/flameware in 3, 2, 1...

yeah, i really dont think licensing things belong here.  sorry for
following up.

how about this policy: if you want to make a statement, go pay a
lawyer.  but that statement still shouldnt be made here ;).
-mike

Sorry, I didn't mean to provoke a GPL flame war. The point I was trying
to make (badly as it turns out) is that if a company really wants to see
its changes taken upstream, it could simply publish the work on its
website and let each relevant community know that it's there.


Isn't this a lot of the problem with the way embedded companies and
developers interact with upstream.

In some cases it is in the embedded developers interests to see their
code adopted upstream (i.e. so they don't have to maintain it).


Totally agree! And the best chance of having code accepted upstream is 
to work with the community _while_ developing it, i.e. discussing the 
code during implementation, rather than presenting it to the community 
when it's done. All too often, companies get frustrated by feedback from 
the community because changes are requested to code that the original 
authors have spent time testing etc. Had early versions been submitted 
for feedback, changes could be made with less chance of wasted effort.



Just tossing some code over the wall will, in almost all circumstances,
result in the code being ignored.


It depends. But it stands a better chance of being adopted than holding 
on to the work until someone asks for it. There could be lots of 
embedded developers out there who would be willing to take some code 
from cisco, modify it and work with the community to have it adopted 
upstream.



--
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-13 Thread Daniel THOMPSON
James Chapman wrote:
> Mike Frysinger wrote:
>> On Thu, Jun 12, 2008 at 5:53 PM, Tim Bird wrote:
>>> Mike Frysinger wrote:
> Er, is that GPL or LGPL code that you're modifying? If so, you
> *have* to
> push those code changes out (make them available to others),
> whether you
> think people will be interested or not!
 umm, not really.  only if (1) he gives a binary to someone and (2)
 they ask him for the source.  if he doesnt distribute or no one asks,
 he doesnt have to do squat.
>>> This is closer to correct, but missing some important details.
>>>
>>> Start the GPL compliance tutorial/flameware in 3, 2, 1...
>>
>> yeah, i really dont think licensing things belong here.  sorry for
>> following up.
>>
>> how about this policy: if you want to make a statement, go pay a
>> lawyer.  but that statement still shouldnt be made here ;).
>> -mike
> 
> Sorry, I didn't mean to provoke a GPL flame war. The point I was trying
> to make (badly as it turns out) is that if a company really wants to see
> its changes taken upstream, it could simply publish the work on its
> website and let each relevant community know that it's there.

Isn't this a lot of the problem with the way embedded companies and
developers interact with upstream.

In some cases it is in the embedded developers interests to see their
code adopted upstream (i.e. so they don't have to maintain it).

Just tossing some code over the wall will, in almost all circumstances,
result in the code being ignored.

> A diff of
> the changes would be ideal. This is above and beyond what they have to
> do under GPL terms of course. There's no need for a company to filter
> out changes that it thinks others won't be interested in.

This is a legal concern, not a practical one. All companies *should*
comply with the law. Really it is more useful to convince people that it
is in their own self-interest to do more than this.


-- 
Daniel Thompson (STMicroelectronics) <[EMAIL PROTECTED]>
1000 Aztec West, Almondsbury, Bristol, BS32 4SQ. 01454 462659

If a car is a horseless carriage then is a motorcycle a horseless horse?
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-13 Thread James Chapman

Mike Frysinger wrote:

On Thu, Jun 12, 2008 at 5:53 PM, Tim Bird wrote:

Mike Frysinger wrote:

Er, is that GPL or LGPL code that you're modifying? If so, you *have* to
push those code changes out (make them available to others), whether you
think people will be interested or not!

umm, not really.  only if (1) he gives a binary to someone and (2)
they ask him for the source.  if he doesnt distribute or no one asks,
he doesnt have to do squat.

This is closer to correct, but missing some important details.

Start the GPL compliance tutorial/flameware in 3, 2, 1...


yeah, i really dont think licensing things belong here.  sorry for following up.

how about this policy: if you want to make a statement, go pay a
lawyer.  but that statement still shouldnt be made here ;).
-mike


Sorry, I didn't mean to provoke a GPL flame war. The point I was trying 
to make (badly as it turns out) is that if a company really wants to see 
its changes taken upstream, it could simply publish the work on its 
website and let each relevant community know that it's there. A diff of 
the changes would be ideal. This is above and beyond what they have to 
do under GPL terms of course. There's no need for a company to filter 
out changes that it thinks others won't be interested in.


--
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Jim Freeman
On Thu, Jun 12, 2008 at 05:46:42PM -0400, Mike Frysinger wrote:
> On Thu, Jun 12, 2008 at 5:42 PM, James Chapman wrote:
> > David VomLehn wrote:
> >> Amen, brother. I'm fortunate in that I work for an organization that is
> >> quite good about enforcing code reviews, specifically, the QA organization
> >> is empowered to reject changes that do not have code review notes. I also
> >> have a fairly broad scope, so I'm in on code reviews for a number of open
> >> source components. At each such review, one of my criteria is whether the
> >> change is suitable for pushing back to the appropriate community. This is
> >> not necessarily a short-term way to make friends, but the long-term effects
> >> will be good both for the company and for the open source community in
> >> general.
> >>
> >> Now, if we can only get the time to actually push all the backlogged fixes
> >> out...
> >
> > Er, is that GPL or LGPL code that you're modifying? If so, you *have* to
> > push those code changes out (make them available to others), whether you
> > think people will be interested or not!
> 
> umm, not really.  only if (1) he gives a binary to someone and (2)
> they ask him for the source.  if he doesnt distribute or no one asks,
> he doesnt have to do squat.
> -mike

And I'm just betting that when he said "push ... fixes ... out"
he meant "work to get them incorporated back upstream", not just
make them available to requesters.

Most vendors these days have finally gotten the clue that sources/changes
have to be made available to downstream requesters, but far fewer
are sufficiently self-enlightened to figure out that changes need to
be accepted upstream for them to keep flowing back.  And to make that
happen, vendors have to take on substantially higher overhead to win
acceptance of patches/changes upstream, an undertaking often sadly
fraught with hassle, uncertainty, and even peril.  So they mostly
don't bother.  To their (and their customers, and our) long-term
detriment.

And Cisco has probably learned by now (and by sad experience) to do
the Right (tm) thing.

...jfree
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Mike Frysinger
On Thu, Jun 12, 2008 at 5:53 PM, Tim Bird wrote:
> Mike Frysinger wrote:
>>> Er, is that GPL or LGPL code that you're modifying? If so, you *have* to
>>> push those code changes out (make them available to others), whether you
>>> think people will be interested or not!
>>
>> umm, not really.  only if (1) he gives a binary to someone and (2)
>> they ask him for the source.  if he doesnt distribute or no one asks,
>> he doesnt have to do squat.
>
> This is closer to correct, but missing some important details.
>
> Start the GPL compliance tutorial/flameware in 3, 2, 1...

yeah, i really dont think licensing things belong here.  sorry for following up.

how about this policy: if you want to make a statement, go pay a
lawyer.  but that statement still shouldnt be made here ;).
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Tim Bird
Mike Frysinger wrote:
>> Er, is that GPL or LGPL code that you're modifying? If so, you *have* to
>> push those code changes out (make them available to others), whether you
>> think people will be interested or not!
> 
> umm, not really.  only if (1) he gives a binary to someone and (2)
> they ask him for the source.  if he doesnt distribute or no one asks,
> he doesnt have to do squat.
This is closer to correct, but missing some important details.

Start the GPL compliance tutorial/flameware in 3, 2, 1...

Luckily this in only on the linux-embedded list.  If it were on LKML
the fun would really begin. :-)

 -- Tim

=
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America
=

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Mike Frysinger
On Thu, Jun 12, 2008 at 5:42 PM, James Chapman wrote:
> David VomLehn wrote:
>> Amen, brother. I'm fortunate in that I work for an organization that is
>> quite good about enforcing code reviews, specifically, the QA organization
>> is empowered to reject changes that do not have code review notes. I also
>> have a fairly broad scope, so I'm in on code reviews for a number of open
>> source components. At each such review, one of my criteria is whether the
>> change is suitable for pushing back to the appropriate community. This is
>> not necessarily a short-term way to make friends, but the long-term effects
>> will be good both for the company and for the open source community in
>> general.
>>
>> Now, if we can only get the time to actually push all the backlogged fixes
>> out...
>
> Er, is that GPL or LGPL code that you're modifying? If so, you *have* to
> push those code changes out (make them available to others), whether you
> think people will be interested or not!

umm, not really.  only if (1) he gives a binary to someone and (2)
they ask him for the source.  if he doesnt distribute or no one asks,
he doesnt have to do squat.
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread James Chapman

David VomLehn wrote:

Enrico Weigelt wrote:

* Rob Landley <[EMAIL PROTECTED]> schrieb:
 

Cross compiling breaks stuff, yes.

Most packages don't cross compile at all.  Debian has somewhere north 
of 30,000 packages.  Every project that does large scale cross 
compiling (buildroot, gentoo embedded, timesys making fedora cross 
compile, etc) tends to have about 200 packages that cross compile 
more or less easily, another 400 or so that can be made to cross 
compile with _lot_ of effort and a large enough rock, and then the 
project stalls at about that size.



The problem is: most embedded projects don't make really general-purpose
fixes (instead strange things like hacking up autogenerated files), so 
they can't feed back to upstream.


IMHO, a huge waste of working time.

  
Amen, brother. I'm fortunate in that I work for an organization that is 
quite good about enforcing code reviews, specifically, the QA 
organization is empowered to reject changes that do not have code review 
notes. I also have a fairly broad scope, so I'm in on code reviews for a 
number of open source components. At each such review, one of my 
criteria is whether the change is suitable for pushing back to the 
appropriate community. This is not necessarily a short-term way to make 
friends, but the long-term effects will be good both for the company and 
for the open source community in general.


Now, if we can only get the time to actually push all the backlogged 
fixes out...


Er, is that GPL or LGPL code that you're modifying? If so, you *have* to 
push those code changes out (make them available to others), whether you 
think people will be interested or not!



--
David VomLehn, [EMAIL PROTECTED]
The opinions expressed herein are likely mine, but might not be my 
employer's...


--
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread David VomLehn

Enrico Weigelt wrote:

* Rob Landley <[EMAIL PROTECTED]> schrieb:
  

Cross compiling breaks stuff, yes.

Most packages don't cross compile at all.  Debian has somewhere north of 
30,000 packages.  Every project that does large scale cross compiling 
(buildroot, gentoo embedded, timesys making fedora cross compile, etc) tends 
to have about 200 packages that cross compile more or less easily, another 
400 or so that can be made to cross compile with _lot_ of effort and a large 
enough rock, and then the project stalls at about that size.



The problem is: most embedded projects don't make really general-purpose
fixes (instead strange things like hacking up autogenerated files), so 
they can't feed back to upstream.


IMHO, a huge waste of working time.

  
Amen, brother. I'm fortunate in that I work for an organization that is 
quite good about enforcing code reviews, specifically, the QA 
organization is empowered to reject changes that do not have code review 
notes. I also have a fairly broad scope, so I'm in on code reviews for a 
number of open source components. At each such review, one of my 
criteria is whether the change is suitable for pushing back to the 
appropriate community. This is not necessarily a short-term way to make 
friends, but the long-term effects will be good both for the company and 
for the open source community in general.


Now, if we can only get the time to actually push all the backlogged 
fixes out...

--
David VomLehn, [EMAIL PROTECTED]
The opinions expressed herein are likely mine, but might not be my 
employer's...


--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Enrico Weigelt
* Wolfgang Denk <[EMAIL PROTECTED]> schrieb:
> In message <[EMAIL PROTECTED]> you wrote:
> > 
> > Perl never was crosscompile-capable.
> > I've rewrote much of the buildscripts, but not finished yet.
> 
> Note that Perl is included with our ELDK, and we do cross-compile it.
> It's not exactly trivial, but not really difficult either.

URL ?


cu
-- 
-
 Enrico Weigelt==   metux IT service - http://www.metux.de/
-
 Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
-
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Wolfgang Denk
In message <[EMAIL PROTECTED]> you wrote:
> 
> Perl never was crosscompile-capable.
> I've rewrote much of the buildscripts, but not finished yet.

Note that Perl is included with our ELDK, and we do cross-compile it.
It's not exactly trivial, but not really difficult either.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
I have a theory that it's impossible to prove anything, but  I  can't
prove it.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Enrico Weigelt
* Rob Landley <[EMAIL PROTECTED]> schrieb:

> Cross compiling breaks stuff, yes.
> 
> Most packages don't cross compile at all.  Debian has somewhere north of 
> 30,000 packages.  Every project that does large scale cross compiling 
> (buildroot, gentoo embedded, timesys making fedora cross compile, etc) tends 
> to have about 200 packages that cross compile more or less easily, another 
> 400 or so that can be made to cross compile with _lot_ of effort and a large 
> enough rock, and then the project stalls at about that size.

The problem is: most embedded projects don't make really general-purpose
fixes (instead strange things like hacking up autogenerated files), so 
they can't feed back to upstream.

IMHO, a huge waste of working time.

Did someone ever hear of the OSS-QM project ?

> Some of the other build systems out there hook qemu application emulation up 
> to the kernel's misc binary support so a ./configure that builds arm 
> executables can run them.

WTF ?!


cu
-- 
-
 Enrico Weigelt==   metux IT service - http://www.metux.de/
-
 Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
-
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Enrico Weigelt
* Rob Landley <[EMAIL PROTECTED]> schrieb:

Hi,


> There's also qemu.  You can native build under emulation.

did you ever consider that crosscompiling is not only good for 
some other arch, but a few more things ?
 
> In addition, if you have a cross compiler but don't want to spend all your 
> time lying to ./configure, preventing gcc from linking against the host's 
> zlib or grabbing stuff out of /usr/include that your target hasn't got, or 

#1: use a proper (sysroot'ed) toolchain
#2: fix broken configure.in's (and feed back to upstream or OSS-QM)
#3: replace libtool by unitool

> trying to figure out why on EARTH the perl build decided to use x86 signal 

Perl never was crosscompile-capable.
I've rewrote much of the buildscripts, but not finished yet.

Just in case that anyone's interested in it, let me know.

> libraries are linked inside the emulator, anything that wants to look 
> at /proc or sysinfo does it natively inside the emulator...)

Only crap sw looks at /proc at build time.
Yes, there's *much* crap sw out there :(


cu
-- 
-
 Enrico Weigelt==   metux IT service - http://www.metux.de/
-
 Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
-
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-12 Thread Jamie Lokier
Rob Landley wrote:
> Most packages don't cross compile at all.  Debian has somewhere north of 
> 30,000 packages.  Every project that does large scale cross compiling 
> (buildroot, gentoo embedded, timesys making fedora cross compile, etc) tends 
> to have about 200 packages that cross compile more or less easily, another 
> 400 or so that can be made to cross compile with _lot_ of effort and a large 
> enough rock, and then the project stalls at about that size.

+1.

I spent several months fixing up cross-compile issues on Gentoo
Embedded a few years ago, for a specific application - only a small
subset of packages needed.  The majority of packages I needed failed
to compile out of the box, one way or another - Glibc dependencies,
arch dependencies, scripts which depend on the host environment, or
invoke the host compiler, or the host Perl (and then depend on it's
byte order). etc.

More recently, I've been compiling a build which is _intended_ for
cross-compilation - it's an old uClinux kit, patched by a third party.
Even that fails to build on newer GNU/Linuxes, as the syntax of GNU
Make has changed, and Bash has changed.  Also GCC 2.old doesn't
compile on current GNU/Linux with GCC 4.new.

Fortunately the latter were a few small, easy to fix issues.  But I
understand now why some find it important to have a replicatable build
environment when you need to get an old distribution out of the closet
to update firmware for some 5 year old device.

Virtual machines ought to be great for that.  They are.  But even
those are surprisingly changable - images that worked on a VM a few
years ago no longer work on the current version of the VM host.

-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-11 Thread Rob Landley
On Wednesday 11 June 2008 00:47:36 Greg Ungerer wrote:
> Hi Rob,
>
> Rob Landley wrote:
> > On Tuesday 10 June 2008 02:54:32 Sam Ravnborg wrote:
> >>> (Maybe I _am_ the only person who still cares about
> >>> building on a host without perl.  If I wasn't, somebody else would have
> >>> acked the patch...)
> >>
> >> perl is pretty standard
> >
> > An implementation is not the same thing as a standard.  If you mean
> > "there is one implementation everybody uses, ala excel and Word, and even
> > the Perl guys can't reproduce it from scratch as parrot showed", then
> > you're using a different definition of the word "standard" than I am.
> >
> > Or do you mean it comes preinstalled on most modern systems, the way
> > Windows does, and who could object to that?
> >
> > I know from experience that it's an _amazing_ pain to try to cross
> > compile the sucker...
>
> Ain't that the truth!
>
> >> and I fail to see the benefits of avoiding it.
> >> For embedded development I see even less benefits as I assume
> >> any sane embedded development environment are based on a
> >> cross-toolchain so you do the build on a high perfomance box.
> >>
> >> Building everything for my arm board on the arm board would be a disater
> >> for example.
> >
> > I build everything for my arm board natively, on an arm system running
> > under qemu, calling out to the cross compiler via distcc to accelerate
> > the limited parts of the process that cross compiling doesn't actually
> > break.  To get to that point, I cross compile just enough to get a native
> > development environment, and then I avoid cross compiling from then on
> > because it's an enormous source of complexity and random breakage.
>
> Random breakage?

Cross compiling breaks stuff, yes.

Most packages don't cross compile at all.  Debian has somewhere north of 
30,000 packages.  Every project that does large scale cross compiling 
(buildroot, gentoo embedded, timesys making fedora cross compile, etc) tends 
to have about 200 packages that cross compile more or less easily, another 
400 or so that can be made to cross compile with _lot_ of effort and a large 
enough rock, and then the project stalls at about that size.

> > I did this because throwing hardware at the problem is cheaper than
> > throwing engineering time at the problem, because Moore's Law is on my
> > side, and
>
> Are you sure about that?
> How well does qemu do SMP?  At all?

QEMU does not currently do SMP at all.  There are proposals to make qemu 
multi-threaded and handle SMP that way, but they're at least a year away from 
anybody actually trying to implement them.  (The big destabilization right 
now is the new code generator, and that's plenty for the moment.  Anybody who 
wanted to wave money at codesourcery could probably get it implemented on a 
deadline for their platforms of interest, but in the absence of that it's not 
really a priority right now.)

Distcc can take advantage of smp, but that won't help the ./configure stage 
and I need to do some work on distcc to teach it to understand more gcc 
command lines.  (For one thing, distcc can't break "compile and link" 
commands ala "gcc hello.c" into separate "compile" and "link" stages, this it 
can't distribute those.  This takes out pretty much the entire uClibc build, 
for example.  But the gcc build parallelizes quite well.)

> Modern x86 and friends are getting most new performance from
> more cores. A cross compile today can take advantage of those
> for the most part. Your emulated system probably can't.

It can if you're using distcc to call out to the cross compiler, which my 
scripts do (./emulator-build.sh does it with the build/* stuff 
and ./run-with-distcc.sh does it for the shipped system-image tarballs).

Some of the other build systems out there hook qemu application emulation up 
to the kernel's misc binary support so a ./configure that builds arm 
executables can run them.  (Openembedded, was it?  Open moko?  Something like 
that.)  But this only solves one of about a dozen major problems cross 
compiling is prone to.  Building natively solves all of 'em, except for 
speed.

> An order of magnitude compile time (or more) for a native build
> is quite a high price to pay :-)

Yup.  Agreed.  No argument there.

However, having one or more full-time engineers devoted to debugging 
cross-compile issues is quite a high price to pay too.  Moore's law really 
doesn't help that one.

I'm not saying either solution is perfect, I'm just saying the "build under 
emulation" approach is a viable alternative that gets more attractive as time 
passes, both because of ongoing development on emulators and because of 
Moore's law on the hardware.

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Greg Ungerer

Hi Rob,

Rob Landley wrote:

On Tuesday 10 June 2008 02:54:32 Sam Ravnborg wrote:

(Maybe I _am_ the only person who still cares about
building on a host without perl.  If I wasn't, somebody else would have
acked the patch...)

perl is pretty standard


An implementation is not the same thing as a standard.  If you mean "there is 
one implementation everybody uses, ala excel and Word, and even the Perl guys 
can't reproduce it from scratch as parrot showed", then you're using a 
different definition of the word "standard" than I am.


Or do you mean it comes preinstalled on most modern systems, the way Windows 
does, and who could object to that?


I know from experience that it's an _amazing_ pain to try to cross compile the 
sucker...


Ain't that the truth!


and I fail to see the benefits of avoiding it. 
For embedded development I see even less benefits as I assume

any sane embedded development environment are based on a
cross-toolchain so you do the build on a high perfomance box.

Building everything for my arm board on the arm board would be a disater
for example.


I build everything for my arm board natively, on an arm system running under 
qemu, calling out to the cross compiler via distcc to accelerate the limited 
parts of the process that cross compiling doesn't actually break.  To get to 
that point, I cross compile just enough to get a native development 
environment, and then I avoid cross compiling from then on because it's an 
enormous source of complexity and random breakage.


Random breakage?


I did this because throwing hardware at the problem is cheaper than throwing 
engineering time at the problem, because Moore's Law is on my side, and 


Are you sure about that?
How well does qemu do SMP?  At all?

Modern x86 and friends are getting most new performance from
more cores. A cross compile today can take advantage of those
for the most part. Your emulated system probably can't.

An order of magnitude compile time (or more) for a native build
is quite a high price to pay :-)

Regards
Greg



because I find native compiling (where possible) more straightforward and 
conceptually cleaner.


Before 2.6.25, I had a complete self-bootstrapping environment with seven 
packages (busybox, uClibc, make, gcc, binutils, bash, and linux).  Building 
glibc needs perl, if you're using a uClibc based system you may _never_ need 
Perl, and could go up through Linux From Scratch and beyond to a fairly 
powerful system.


I can probably natively build perl under the mini-native environment running 
inside qemu, but it wasn't needed before and there really wasn't a good 
reason to add it.  The task being performed and the build dependency brought 
in to perform it are hugely disproportionate.


Rob


--

Greg Ungerer  --  Chief Software Dude   EMAIL: [EMAIL PROTECTED]
Secure Computing CorporationPHONE:   +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Rob Landley
On Tuesday 10 June 2008 08:47:20 Will Newton wrote:
> On Tue, Jun 10, 2008 at 2:33 PM, David Woodhouse <[EMAIL PROTECTED]> 
wrote:
> > On Tue, 2008-06-10 at 14:25 +0100, Will Newton wrote:
> >> On Tue, Jun 10, 2008 at 2:12 PM, Jamie Lokier <[EMAIL PROTECTED]> 
wrote:
> >> > Wolfgang Denk wrote:
> >> >> Being unable to do this just because we now also would need a  native
> >> >> Perl is indeed a PITA...
> >> >
> >> > You can run the Perl bit with "ssh remote perl", and still do the rest
> >> > of the compile natively.  It's not pretty, but workable.
> >>
> >> I'm not convinced it matters at all. Self hosting on an embedded
> >> architecture is, as has been mentioned, pretty pointless.
> >>
> >> Using a kernel compile as a test isn't such a great idea. Stress tests
> >> of that kind are not particularly useful for pinning down bugs - so
> >> your kernel compile failed, what now? Far better to use LTP tests or
> >> similar that are designed to be reproduceable and tunable for your
> >> system. For example I don't think I'll ever be able to self host a
> >> kernel build on a board with only 32Mb of on-board RAM.
> >
> > Actually, cross-building on NFS does tend to find a _lot_ of issues
> > which crop up with board ports; especially PCI arbitration, DMA
> > coherency, cache and MMU issues. LTP often doesn't catch the same
> > problems.
>
> It may trigger a number of bugs, I don't disagree, but as a test it is
> a blunt instrument. It's likely to be hard to reproduce and have an
> inconsistent failure mode. If you're really serious about testing it's
> not the best solution. It's like using gcc instead of memtest86 to
> test your memory. Eventually it might go wrong but you won't be much
> the wiser about why, or have any way to trim your testcase down so you
> can run it on an in-circuit emulator or pass it to your silicon
> vendor.
>
> > I agree that it's not so easy on a board with 32Mb of RAM, since that's
> > only 4,000,000 bytes -- but 32MiB ought to be _perfectly_ sufficient :)
>
> I would be surprised if it was possible to compile Linux with gcc 4.2
> with 32MiB of total system memory.

Haven't tried, but I generally run emulated builds in 128 megs of ram (on 32 
bit hosts), and I use this:

# This tells gcc to aggressively garbage collect its internal data
# structures.  Without this, gcc triggers the OOM killer trying to rebuild
# itself in 128 megs of ram, which is the QEMU default size.
export CFLAGS="--param ggc-min-expand=0 --param ggc-min-heapsize=8192"

Don't do that on a 64 bit host or your build will slow to a crawl, of course.

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Paul Mundt
On Tue, Jun 10, 2008 at 12:50:34PM +0200, Sam Ravnborg wrote:
> > 
> > When did this policy change, so that it's now acceptable to depend on
> > Perl, which is roughly equivalent as a tool dependency?
> 
> We have perl as a mandatory part of the kernel build in several places
> for various architectures.
> And I do not recall anyone submitting a bug that they could not build
> a kernel due to the perl dependency.
> But I am obviously well aware of that we use it for the time stuff.
> 
And plenty of places in scripts/ have dependencies on either perl or
python already (and have for some time). Both are pretty ubiquitous these
days, whether people like it or not. There's not much point in trying to
keep the build limping along for people who don't want to set up these
tools on their platforms, since they're going to lose out on half of the
functionality anyways (checkstack, bloat-o-meter, etc.).

Building natively is a good stress tester, and does find a lot of bugs.
For that same reason, if you can build the kernel, you can build python
and perl natively on your platform, too. Some of us have already been
doing this for ages and have no idea what the fuss is about.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Rob Landley
On Tuesday 10 June 2008 08:49:32 Wolfgang Denk wrote:
> In message <[EMAIL PROTECTED]> you 
wrote:
> > I'm not convinced it matters at all. Self hosting on an embedded
> > architecture is, as has been mentioned, pretty pointless.
>
> YMMV...
>
> > system. For example I don't think I'll ever be able to self host a
> > kernel build on a board with only 32Mb of on-board RAM.
>
> It depends. We've done this on board with as little as 16 MB RAM.

There's also qemu.  You can native build under emulation.

In addition, if you have a cross compiler but don't want to spend all your 
time lying to ./configure, preventing gcc from linking against the host's 
zlib or grabbing stuff out of /usr/include that your target hasn't got, or 
trying to figure out why on EARTH the perl build decided to use x86 signal 
numbers when you built it for mips, you can build natively inside the 
emulator but use distcc to call out to the cross compiler through the virtual 
network.  This uses the compiler for the heavy lifting of compilation 
_and_nothing_else_.  (make runs natively inside the emulator, ./configure 
runs inside the emulator, headers are #included inside the emulator, 
libraries are linked inside the emulator, anything that wants to look 
at /proc or sysinfo does it natively inside the emulator...)

And the thing is, QEMU is running on fast cheap x86 hardware with buckets of 
memory and disk space, and Moore's Law is doubling the power of it every 18 
months (whereas it's making a lot of embedded stuff cheaper and have longer 
battery life instead, at least until we get to fully disposable computers).  
So yay using x86 as your build envionment, but building natively under 
emulation is now an alternative to trying to make cross compiling scale.

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Rob Landley
On Tuesday 10 June 2008 02:54:32 Sam Ravnborg wrote:
> > (Maybe I _am_ the only person who still cares about
> > building on a host without perl.  If I wasn't, somebody else would have
> > acked the patch...)
>
> perl is pretty standard

An implementation is not the same thing as a standard.  If you mean "there is 
one implementation everybody uses, ala excel and Word, and even the Perl guys 
can't reproduce it from scratch as parrot showed", then you're using a 
different definition of the word "standard" than I am.

Or do you mean it comes preinstalled on most modern systems, the way Windows 
does, and who could object to that?

I know from experience that it's an _amazing_ pain to try to cross compile the 
sucker...

> and I fail to see the benefits of avoiding it. 
> For embedded development I see even less benefits as I assume
> any sane embedded development environment are based on a
> cross-toolchain so you do the build on a high perfomance box.
>
> Building everything for my arm board on the arm board would be a disater
> for example.

I build everything for my arm board natively, on an arm system running under 
qemu, calling out to the cross compiler via distcc to accelerate the limited 
parts of the process that cross compiling doesn't actually break.  To get to 
that point, I cross compile just enough to get a native development 
environment, and then I avoid cross compiling from then on because it's an 
enormous source of complexity and random breakage.

I did this because throwing hardware at the problem is cheaper than throwing 
engineering time at the problem, because Moore's Law is on my side, and 
because I find native compiling (where possible) more straightforward and 
conceptually cleaner.

Before 2.6.25, I had a complete self-bootstrapping environment with seven 
packages (busybox, uClibc, make, gcc, binutils, bash, and linux).  Building 
glibc needs perl, if you're using a uClibc based system you may _never_ need 
Perl, and could go up through Linux From Scratch and beyond to a fairly 
powerful system.

I can probably natively build perl under the mini-native environment running 
inside qemu, but it wasn't needed before and there really wasn't a good 
reason to add it.  The task being performed and the build dependency brought 
in to perform it are hugely disproportionate.

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Tim Bird
Sam Ravnborg wrote:
>> (Maybe I _am_ the only person who still cares about 
>> building on a host without perl.  If I wasn't, somebody else would have 
>> acked 
>> the patch...)
> 
> perl is pretty standard and I fail to see the benefits of avoiding it.
> For embedded development I see even less benefits as I assume
> any sane embedded development environment are based on a
> cross-toolchain so you do the build on a high perfomance box.
> 
> Building everything for my arm board on the arm board would be a disater
> for example.

It is true that perl is pervasive and standard, in most scenarios.
However, it is not uncommon in the embedded world for people
to strive to containerize the build process for a whole distro (kernel
included) in order to reduce problems with configure scripts that
(incorrectly) probe the host environment.  I know of at least 3 distros
or distro-building methods that do this.  Working to reduce the
complexity of these constrained environments is a valid goal.

My own reasons for wanting to avoid using perl, however, aren't
based on its availability.

I don't want to start a language war, but in general I think adding
"knowledge of perl" to the list of things someone needs to understand
in order to understand how to build the kernel, would be a bad thing.
There's already a huge mountain to climb for someone trying to learn
enough to modify the kernel (or it's build system).  Adding perl
doesn't IMHO contribute enough value to warrant this extension in
required knowledge.

Also (again IMHO), perl is harder to maintain than other alternatives,
if a full-service scripting language is really needed.

I don't care so much if perl is used in some non-essential role,
like python is used for bloat-o-meter, for example.  But it would
be nice, IMHO, to minimize the external dependencies for required
kernel build infrastructure.

Having said all this, I can't object too strenuously, since I
have some code, out of tree, that uses perl as a pre-processor.
One of the reasons I haven't submitted it is that I find its
use of perl somewhat distasteful, for the reasons mentioned
above.
 -- Tim

=
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America
=

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Jamie Lokier
Wolfgang Denk wrote:
> In message <[EMAIL PROTECTED]> you wrote:
> >
> > I would be surprised if it was possible to compile Linux with gcc 4.2
> > with 32MiB of total system memory.
> 
> Hint: if memory really gets tight, you can use swap space. Either  to
> a  local  drive  (either through PCI or PCMCIA/PCCard or USB or FW or
> ...), or over the network. This just adds  another  level  of  stress
> testing  to  areas in the kernel that are not so well covered by some
> other tests.

Great, I'm looking forward to your implementation of swap on no-MMU!

Thanks,
-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Grant Likely
On Tue, Jun 10, 2008 at 7:53 AM, David Woodhouse <[EMAIL PROTECTED]> wrote:
> On Tue, 2008-06-10 at 14:47 +0100, Will Newton wrote:
>> On Tue, Jun 10, 2008 at 2:33 PM, David Woodhouse <[EMAIL PROTECTED]> wrote:
>> > On Tue, 2008-06-10 at 14:25 +0100, Will Newton wrote:
>> >> Using a kernel compile as a test isn't such a great idea. Stress tests
>> >> of that kind are not particularly useful for pinning down bugs - so
>> >> your kernel compile failed, what now? Far better to use LTP tests or
>> >> similar that are designed to be reproduceable and tunable for your
>> >> system. For example I don't think I'll ever be able to self host a
>> >> kernel build on a board with only 32Mb of on-board RAM.
>> >
>> > Actually, cross-building on NFS does tend to find a _lot_ of issues
>> > which crop up with board ports; especially PCI arbitration, DMA
>> > coherency, cache and MMU issues. LTP often doesn't catch the same
>> > problems.
>>
>> It may trigger a number of bugs, I don't disagree, but as a test it is
>> a blunt instrument.
>
> Yes, it's a blunt instrument, but blunt instruments are often effective.
>
> I disagree with your claim that using it as a test isn't a good idea.
> I would, however, grant you that using it as your _only_ test is a bad
> idea :)

Just to add my voice to the chorus; I fully agree.  Brute force
testing is useful.  It can expose corner cases that haven't been
considered in formal test suites.

Cheers,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Wolfgang Denk
In message <[EMAIL PROTECTED]> you wrote:
>
> I would be surprised if it was possible to compile Linux with gcc 4.2
> with 32MiB of total system memory.

Hint: if memory really gets tight, you can use swap space. Either  to
a  local  drive  (either through PCI or PCMCIA/PCCard or USB or FW or
...), or over the network. This just adds  another  level  of  stress
testing  to  areas in the kernel that are not so well covered by some
other tests.

Guess who found out that swap on MPC8xx was broken for  a  long,  long
time, and how it was detected?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
You Don't Have To Be 'Damned' To Work Here, But It Helps!!!
 - Terry Pratchett, _Eric_
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread David Woodhouse
On Tue, 2008-06-10 at 14:47 +0100, Will Newton wrote:
> On Tue, Jun 10, 2008 at 2:33 PM, David Woodhouse <[EMAIL PROTECTED]> wrote:
> > On Tue, 2008-06-10 at 14:25 +0100, Will Newton wrote:
> >> Using a kernel compile as a test isn't such a great idea. Stress tests
> >> of that kind are not particularly useful for pinning down bugs - so
> >> your kernel compile failed, what now? Far better to use LTP tests or
> >> similar that are designed to be reproduceable and tunable for your
> >> system. For example I don't think I'll ever be able to self host a
> >> kernel build on a board with only 32Mb of on-board RAM.
> >
> > Actually, cross-building on NFS does tend to find a _lot_ of issues
> > which crop up with board ports; especially PCI arbitration, DMA
> > coherency, cache and MMU issues. LTP often doesn't catch the same
> > problems.
> 
> It may trigger a number of bugs, I don't disagree, but as a test it is
> a blunt instrument.

Yes, it's a blunt instrument, but blunt instruments are often effective.

I disagree with your claim that using it as a test isn't a good idea.
I would, however, grant you that using it as your _only_ test is a bad
idea :)

-- 
dwmw2

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Wolfgang Denk
In message <[EMAIL PROTECTED]> you wrote:
>
> I'm not convinced it matters at all. Self hosting on an embedded
> architecture is, as has been mentioned, pretty pointless.

YMMV...

> system. For example I don't think I'll ever be able to self host a
> kernel build on a board with only 32Mb of on-board RAM.

It depends. We've done this on board with as little as 16 MB RAM.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
"Confound these ancestors They've stolen our best ideas!"
- Ben Jonson
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Will Newton
On Tue, Jun 10, 2008 at 2:33 PM, David Woodhouse <[EMAIL PROTECTED]> wrote:
> On Tue, 2008-06-10 at 14:25 +0100, Will Newton wrote:
>> On Tue, Jun 10, 2008 at 2:12 PM, Jamie Lokier <[EMAIL PROTECTED]> wrote:
>> > Wolfgang Denk wrote:
>> >> Being unable to do this just because we now also would need a  native
>> >> Perl is indeed a PITA...
>> >
>> > You can run the Perl bit with "ssh remote perl", and still do the rest
>> > of the compile natively.  It's not pretty, but workable.
>>
>> I'm not convinced it matters at all. Self hosting on an embedded
>> architecture is, as has been mentioned, pretty pointless.
>>
>> Using a kernel compile as a test isn't such a great idea. Stress tests
>> of that kind are not particularly useful for pinning down bugs - so
>> your kernel compile failed, what now? Far better to use LTP tests or
>> similar that are designed to be reproduceable and tunable for your
>> system. For example I don't think I'll ever be able to self host a
>> kernel build on a board with only 32Mb of on-board RAM.
>
> Actually, cross-building on NFS does tend to find a _lot_ of issues
> which crop up with board ports; especially PCI arbitration, DMA
> coherency, cache and MMU issues. LTP often doesn't catch the same
> problems.

It may trigger a number of bugs, I don't disagree, but as a test it is
a blunt instrument. It's likely to be hard to reproduce and have an
inconsistent failure mode. If you're really serious about testing it's
not the best solution. It's like using gcc instead of memtest86 to
test your memory. Eventually it might go wrong but you won't be much
the wiser about why, or have any way to trim your testcase down so you
can run it on an in-circuit emulator or pass it to your silicon
vendor.

> I agree that it's not so easy on a board with 32Mb of RAM, since that's
> only 4,000,000 bytes -- but 32MiB ought to be _perfectly_ sufficient :)

I would be surprised if it was possible to compile Linux with gcc 4.2
with 32MiB of total system memory.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Wolfgang Denk
In message <[EMAIL PROTECTED]> you wrote:
>
> You can run the Perl bit with "ssh remote perl", and still do the rest
> of the compile natively.  It's not pretty, but workable.

This may or may not work. If, for  example,  perl  is  running  on  a
remote  little  endian host (like a standard x86 PC) and we depend on
native bin endian byte order, there may be trouble...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
Quote from a recent meeting:   "We are going to continue having these
meetings everyday until I find out why no work is getting done."
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread David Woodhouse
On Tue, 2008-06-10 at 14:25 +0100, Will Newton wrote:
> On Tue, Jun 10, 2008 at 2:12 PM, Jamie Lokier <[EMAIL PROTECTED]> wrote:
> > Wolfgang Denk wrote:
> >> Being unable to do this just because we now also would need a  native
> >> Perl is indeed a PITA...
> >
> > You can run the Perl bit with "ssh remote perl", and still do the rest
> > of the compile natively.  It's not pretty, but workable.
> 
> I'm not convinced it matters at all. Self hosting on an embedded
> architecture is, as has been mentioned, pretty pointless.
> 
> Using a kernel compile as a test isn't such a great idea. Stress tests
> of that kind are not particularly useful for pinning down bugs - so
> your kernel compile failed, what now? Far better to use LTP tests or
> similar that are designed to be reproduceable and tunable for your
> system. For example I don't think I'll ever be able to self host a
> kernel build on a board with only 32Mb of on-board RAM.

Actually, cross-building on NFS does tend to find a _lot_ of issues
which crop up with board ports; especially PCI arbitration, DMA
coherency, cache and MMU issues. LTP often doesn't catch the same
problems.

I agree that it's not so easy on a board with 32Mb of RAM, since that's
only 4,000,000 bytes -- but 32MiB ought to be _perfectly_ sufficient :)

-- 
dwmw2

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Will Newton
On Tue, Jun 10, 2008 at 2:12 PM, Jamie Lokier <[EMAIL PROTECTED]> wrote:
> Wolfgang Denk wrote:
>> Being unable to do this just because we now also would need a  native
>> Perl is indeed a PITA...
>
> You can run the Perl bit with "ssh remote perl", and still do the rest
> of the compile natively.  It's not pretty, but workable.

I'm not convinced it matters at all. Self hosting on an embedded
architecture is, as has been mentioned, pretty pointless.

Using a kernel compile as a test isn't such a great idea. Stress tests
of that kind are not particularly useful for pinning down bugs - so
your kernel compile failed, what now? Far better to use LTP tests or
similar that are designed to be reproduceable and tunable for your
system. For example I don't think I'll ever be able to self host a
kernel build on a board with only 32Mb of on-board RAM.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Jamie Lokier
Wolfgang Denk wrote:
> Being unable to do this just because we now also would need a  native
> Perl is indeed a PITA...

You can run the Perl bit with "ssh remote perl", and still do the rest
of the compile natively.  It's not pretty, but workable.

-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Sam Ravnborg
> 
> When did this policy change, so that it's now acceptable to depend on
> Perl, which is roughly equivalent as a tool dependency?

We have perl as a mandatory part of the kernel build in several places
for various architectures.
And I do not recall anyone submitting a bug that they could not build
a kernel due to the perl dependency.
But I am obviously well aware of that we use it for the time stuff.

For the headers_* targets I will shortly introduce yet another
perl dependency - but only if these targets are used - so less of an issue.

o We shall try to keep the dependencies low for the common things
o but for the more exoctic things a wides dependency is OK.

Which is also why I'm happy to apply a patch that remove
the mandatory dependency of perl we have today - if and only if
that patch meet normal patch acceptance criterias.

Rob's initial patch had some issues and neither Rob nor I have
fixed these and therefore it has not been applied.

Rob seems to put much more into this (private reply accustions etc)
for reasons unknown to me. And doing so does not help to get me interested.

So try to get the facts correct here - there is noone against removing
the mandatory perl dependency. But it is lower on my priority list
than many other things which explain why I do not do it myself.
But if someone submit a patch to do so then if the patch is OK it
will be applied.

And if we have a policy that say no-go to perl then it is new to me.
I hope one day to rewrite part of kbuild and perl seems to be the
best candidate around. But that day may never come.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Adrian Bunk
On Tue, Jun 10, 2008 at 11:20:18AM +0100, Jamie Lokier wrote:
> My only comment is I remember when Eric Raymond submitted a smart
> config thing (before Kconfig, which copied Eric's best ideas).
> 
> The main objection to Eric's patch was that it was written in Python,
> causing kernel builds to depend Python.
>...

Although the usage of Python was brought as a reason against it the 
main objection against CML2 was ESRs interaction with the kernel 
community, like the fact that he was not willing to split his
changes into appropriate pieces but only offered one big patch.

> -- Jamie

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Jamie Lokier
My only comment is I remember when Eric Raymond submitted a smart
config thing (before Kconfig, which copied Eric's best ideas).

The main objection to Eric's patch was that it was written in Python,
causing kernel builds to depend Python.

When did this policy change, so that it's now acceptable to depend on
Perl, which is roughly equivalent as a tool dependency?

-- Jamie

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Wolfgang Denk
In message <[EMAIL PROTECTED]> you wrote:
> > (Maybe I _am_ the only person who still cares about 
> > building on a host without perl.  If I wasn't, somebody else would have 
> > acked 
> > the patch...)
> 
> perl is pretty standard and I fail to see the benefits of avoiding it.
> For embedded development I see even less benefits as I assume
> any sane embedded development environment are based on a
> cross-toolchain so you do the build on a high perfomance box.
> 
> Building everything for my arm board on the arm board would be a disater
> for example.

Well, compiling the Linux kernel on the native system with the root
file system mounted over NFS has always been a really good regression
test for us. It exercises a *lot* of kernel code - tasks, memory,
network, ...

Being unable to do this just because we now also would need a  native
Perl is indeed a PITA...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: [EMAIL PROTECTED]
You don't have to worry about me. I might have been born yesterday...
but I stayed up all night.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-10 Thread Sam Ravnborg
> (Maybe I _am_ the only person who still cares about 
> building on a host without perl.  If I wasn't, somebody else would have acked 
> the patch...)

perl is pretty standard and I fail to see the benefits of avoiding it.
For embedded development I see even less benefits as I assume
any sane embedded development environment are based on a
cross-toolchain so you do the build on a high perfomance box.

Building everything for my arm board on the arm board would be a disater
for example.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-09 Thread Rob Landley
On Monday 09 June 2008 23:30:20 Sam Ravnborg wrote:
> Rob - please reread the mails. It was your broken mailer or something
> that caused it to be off-list.
> When I hit reply-to-all in mutt I expect it to be sent to the list -
> and in your case it did not not hit the list.

Could easily be the case.  Kmail's gotten increasingly weird ever since 
Kontact ate it, and I do tend to break stuff anyway...

> > A number of embedded people emailed me about it off list, but nobody ever
> > replied to my post _on_ the list to say I wasn't alone in this, or acked
> > the patch to say it worked for them, or anything like that.  So there was
> > a perception of zero support, and I gave up trying to follow up on it for
> > 2.6.25.  I've got it working for me, and if more perl shows up I'll come
> > up with more patches to remove it for my own personal build environment.
> >
> > I might try to submit again in a few months
>
> Then please try to address the comments first.

The comments I remember (it's been a while) were that it was futile to fight 
against the addition of perl because A) nobody else was bothered by it, B) 
plans were in place to add more perl to the build in future so it was only a 
matter of time anyway, C) some out of tree patch might add an architecture 
variant that wanted to define arbitrary clock values.  My response to C 
was "I can't find this patch, show me", my response to B) was "I'll address 
that when it happens", and my response to A) was "yeah, everybody else who 
seemed to care about this has decided to shut up and bog off, haven't they?"

I keep meaning to write a much improved patch that records a comment at the 
start of the .h file with the complete command line the perl thing was run 
as, so re-running the header generator is a question of cut and paste and 
then adding the extra value you want before hitting enter.  And then ripping 
all the logic out of the makefile that tries to rebuild the thing itself 
because only a patch to Kconfig files can ever require a new value, and that 
patch should change the .h file so it can build the result.  If they forget 
to check in the .h file, the build should fail noisily.

The result is simpler, has many fewer lines, and doesn't need perl to compile 
(just to add new clock values during development), but since nobody else in 
the embedded community cared to speak up for it, I kind of lost interest in 
trying to get it merged.  (Maybe I _am_ the only person who still cares about 
building on a host without perl.  If I wasn't, somebody else would have acked 
the patch...)

*shrug*  If I go back to revisit this issue I'll dig up the old thread and 
reread it, but at the moment I have no immediate plans to.

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-09 Thread Sam Ravnborg
On Mon, Jun 09, 2008 at 10:53:11PM -0500, Rob Landley wrote:
> On Monday 09 June 2008 16:27:29 Leon Woestenberg wrote:
> > > I submitted a patch to remove the use of perl to build the linux kernel
> > > (which HPA added in 2.6.25) not because it affected the result, but
> > > because it unnecessarily complicates the build system.  (And perl tends
> > > to metasticize.
> >
> > Thanks, I hope it is or gets accepted.
> 
> Nope, Peter Anvin shot it down (saying what I was doing was a strange, purely 
> academic exercise), and Sam Ravnborg announced his vague intention to rewrite 
> large chunks of kbuild in perl in the future.  (Because nothing 
> says "maintainability" like perl...)
> 
> For some reason they wanted to mail me about it off-list rather than cc:ing 
> the list about this plan.
Rob - please reread the mails. It was your broken mailer or something
that caused it to be off-list.
When I hit reply-to-all in mutt I expect it to be sent to the list -
and in your case it did not not hit the list.

> 
> A number of embedded people emailed me about it off list, but nobody ever 
> replied to my post _on_ the list to say I wasn't alone in this, or acked the 
> patch to say it worked for them, or anything like that.  So there was a 
> perception of zero support, and I gave up trying to follow up on it for 
> 2.6.25.  I've got it working for me, and if more perl shows up I'll come up 
> with more patches to remove it for my own personal build environment.
> 
> I might try to submit again in a few months
Then please try to address the comments first.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-09 Thread Rob Landley
On Monday 09 June 2008 16:27:29 Leon Woestenberg wrote:
> > I submitted a patch to remove the use of perl to build the linux kernel
> > (which HPA added in 2.6.25) not because it affected the result, but
> > because it unnecessarily complicates the build system.  (And perl tends
> > to metasticize.
>
> Thanks, I hope it is or gets accepted.

Nope, Peter Anvin shot it down (saying what I was doing was a strange, purely 
academic exercise), and Sam Ravnborg announced his vague intention to rewrite 
large chunks of kbuild in perl in the future.  (Because nothing 
says "maintainability" like perl...)

For some reason they wanted to mail me about it off-list rather than cc:ing 
the list about this plan.

A number of embedded people emailed me about it off list, but nobody ever 
replied to my post _on_ the list to say I wasn't alone in this, or acked the 
patch to say it worked for them, or anything like that.  So there was a 
perception of zero support, and I gave up trying to follow up on it for 
2.6.25.  I've got it working for me, and if more perl shows up I'll come up 
with more patches to remove it for my own personal build environment.

I might try to submit again in a few months, but in the meantime my patches 
are at
http://landley.net/hg/firmware/file/tip/sources/patches/ (see the 
linux-*noperl*.patch one).

Maybe I'll try linux-kernel again.  I submitted my miniconfig patches 
something like three times.  But if the guys on the list didn't want it, and 
the guys in the embedded world poking me to do something about it weren't 
willing to even ack the darn patch on the list, and the people who want 
changes made to it aren't willing to change it from what I'm happy with to 
what they want and expect me to do it for them when I'm already happy with 
it...

My todo list is long.  This goes somewhere after resorting the contents of my 
bookshelves.

I've found that posting to linux-kernel tends to attract "belling the cat" 
ideas.  For example, I use kconfig in toybox and I posted patches to make it 
easier to use kconfig in other, non-kernel projects.  The resulting thread 
turned into a grandiose plan about a separate kconfig that would be 
maintained as a spearate project and get installed on your system ala make, 
for use by any source package that wants that functionality.  To which my 
response was "feel free, I have no interest in doing that, did you want my 
patches or not?"  Improvements in the UI to use miniconfigs were held up by 
people objecting to how they were generated, which is separate from how 
they're used.  And one of peter's objections to the perl removal patch (which 
basically checked the precalculated header file into the tree) was that some 
out of tree mips patch that never got merged might want to let you enter the 
clock speed as an input field, so you can't possibly just rely on 
precalculated values and people who want to check in code using a new value 
checking in an updated header with that value.  (Even though that makes every 
existing architecture happy, last I checked.)

I'm a hobbyist.  I made it work for me.  If nobody else is interested in what 
I did, I'm ok with that...

Rob
-- 
"One of my most productive days was throwing away 1000 lines of code."
  - Ken Thompson.
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/1] Embedded Maintainer(s), [EMAIL PROTECTED] list

2008-06-09 Thread Leon Woestenberg
Hello,

On Wed, May 28, 2008 at 11:52 PM, Rob Landley <[EMAIL PROTECTED]> wrote:
> On Wednesday 30 April 2008 14:11:49 David Woodhouse wrote:
>> I agree. And if we do want to pay attention to pure code size, there are
>> other approaches -- like --gc-sections and/or building with '--combine
>> -fwhole-program' which I was playing with for OLPC a while back. I must
>> dust that off now that the GCC fixes should mostly have made it into
>> current distributions.
>
> I like simplicity.  I like _simple_.  Half my attraction to embedded systems
>
Same here.

> I submitted a patch to remove the use of perl to build the linux kernel (which
> HPA added in 2.6.25) not because it affected the result, but because it
> unnecessarily complicates the build system.  (And perl tends to metasticize.

Thanks, I hope it is or gets accepted.

In general I think one of the aspects of embedded Linux is about
minimizing the amount of bloat dependencies. Especially, when each
dependency can explode in a hurd of new dependencies.

> "One of my most productive days was throwing away 1000 lines of code."
>  - Ken Thompson.
>
How appropriate.

Regards,
-- 
Leon
--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html