Re: [kbuild-devel] Re: kbuild for linux 2.4.x

2002-01-29 Thread Keith Owens

On Tue, 29 Jan 2002 18:53:07 -0600, 
Peter Samuelson <[EMAIL PROTECTED]> wrote:
>
>[Brendan J Simon]
>> OK.  I saw the instructions.  kbuild-2.5-2.4.17-1 says to patch
>> against the linus-2.4.17 kernel where as kbuild-2.5-2.4.16-ppc-2 says
>> to patch against the marcelo kernel.  I did a search on google and
>> found Marcelo's directory of kernels.  Are these specially patched
>> kernels for PPC or are they stock standard kernels.
>
>Marcelo is the official maintainer of 2.4 now.  He released both 2.4.16
>and 2.4.17.  I'm not sure why someone would refer to the "marcelo
>kernel" except as a synonym for "standard kernel".

The 2.4.16 kbuild patch should have said Marcelo, not Linus.  I use
Linus/Marcelo/AC as a shorthand to tell people which of the 20+ kernel
trees the patch is against.  In particular Marcelo/Linus means the
standard kernel announced by those people, not a RedHat/Debian/whatever
patched kernel and not an architecture specific kernel.


___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: kbuild for linux 2.4.x

2002-01-29 Thread Peter Samuelson


[Brendan J Simon]
> OK.  I saw the instructions.  kbuild-2.5-2.4.17-1 says to patch
> against the linus-2.4.17 kernel where as kbuild-2.5-2.4.16-ppc-2 says
> to patch against the marcelo kernel.  I did a search on google and
> found Marcelo's directory of kernels.  Are these specially patched
> kernels for PPC or are they stock standard kernels.

Marcelo is the official maintainer of 2.4 now.  He released both 2.4.16
and 2.4.17.  I'm not sure why someone would refer to the "marcelo
kernel" except as a synonym for "standard kernel".

Peter

___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: kbuild for linux 2.4.x

2002-01-29 Thread Brendan J Simon



Keith Owens wrote:

>On Wed, 30 Jan 2002 11:07:43 +1100, 
>Brendan J Simon <[EMAIL PROTECTED]> wrote:
>
>>Where can I find documentation on how to install/run/patch or whatever I 
>>have to do to get this working with the latest 2.4 kernel for a powerpc 
>>architecture.
>>
>>I've downloaded kbuild-2.5-2.4.17-1.bz.  Is that all I need ???
>>
>
>That patch contains the core code, the arch independent patches and the
>arch/i386 code, all against 2.4.17.  The various architectures have add
>on patches, the start of each add on patch tells you how to apply it.
>
>For PPC you have a choice between kbuild-2.5-2.4.16-ppc-2 (which might
>fit 2.4.17 as well) or kbuild-2.5-2.4.18-pre1-ppc-1, then you will need
>kbuild-2.5-2.4.18-pre1-1 as well.
>
>Tom, did you get anywhere with adding PPC bzImage support to kbuild 2.5?
>

OK.  I saw the instructions.  kbuild-2.5-2.4.17-1 says to patch against 
the linus-2.4.17 kernel where as kbuild-2.5-2.4.16-ppc-2 says to patch 
against the marcelo kernel.  I did a search on google and found 
Marcelo's directory of kernels.  Are these specially patched kernels for 
PPC or are they stock standard kernels.  They "feel" like stock standard 
kernels by looking at all the filenames.

Is it possible to patch against the ppc kernel tree from the penguinppc 
site (actually I have previousl got mine via rsync from the Monta Vista 
repository) ?

What about a stock standard kernel with a port patch ?  eg. on 
kernel.org there is a linux-2.4.15.tar.bz2 archive along with a 
linux-ppc-patch-2.4.15.bz2.  Unfortunately I can not find a 2.4.16 or 
2.4.17 patch yet :(

Thanks for any advice,
Regards,
Brendan Simon.



___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Bug in kbuild-2.5-2.4.18-pre1-1

2002-01-29 Thread Keith Owens

On Tue, 29 Jan 2002 22:45:24 +0100, 
Rasmus Andersen <[EMAIL PROTECTED]> wrote:
>I've created a 2.4.18p1+kbuild tree (clean 2.4.18p1 tree, 
>apply kbuild-2.5-2.4.16-3.bz2, kbuild-2.5-2.4.17-1.bz2, 
>kbuild-2.5-2.4.18-pre1-1.bz2) and copied in an old .config.
>When I run 'make -f Makefile-2.5 oldconfig installable'
>it loops in the oldconfig phase forever.
>
>
>The tie-over of each iteration look like this:
>
>*** End of Linux kernel configuration.
>*** Check the top-level Makefile for additional configuration.
>*** Next, you must run 'make dep'.
>
>spec value %p not found

Works for me on the same sources.

Format to compile kernel in (vmlinux, vmlinuz, bzImage, zImage) [bzImage] (NEW) 
  defined CONFIG_BZIMAGE
Use a prefix on install paths (CONFIG_INSTALL_PREFIX) [N/y/?] (NEW) 
Where to install the kernel (CONFIG_INSTALL_KERNEL_NAME) 
[/lib/modules/KERNELRELEASE/KERNELBASENAME] (NEW) 
Install System.map (CONFIG_INSTALL_SYSTEM_MAP) [N/y/?] (NEW) 
Install .config (CONFIG_INSTALL_CONFIG) [N/y/?] (NEW) 
  Install vmlinux for debugging (CONFIG_INSTALL_VMLINUX) [N/y/?] (NEW) 
Run a post-install script or command (CONFIG_INSTALL_SCRIPT) [N/y/?] (NEW) 

*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you must run 'make dep'.

make: `oldconfig' is up to date.
Rereading input trees to get new config timestamps
  phase 2 (evaluate selections)
  phase 5 (dependencies from previous build)
  phase 3 (write global makefile)
Starting phase 4 (build) for installable
  CPP arch/i386/vmlinux.lds.i
  AS arch/i386/kernel/head.o

I don't like that 'spec value %p not found' message.  It looks like an
rpm or gcc error message.  Check that your source has no other patches.
If it is clean, run under script with
  make -d -f Makefile-2.5 KBUILD_QUIET= PP_MAKEFILE3_FLAGS=-v oldconfig installable
and send me (not the list) the typescript and .config output.


___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: kbuild for linux 2.4.x

2002-01-29 Thread Keith Owens

On Wed, 30 Jan 2002 11:07:43 +1100, 
Brendan J Simon <[EMAIL PROTECTED]> wrote:
>Where can I find documentation on how to install/run/patch or whatever I 
>have to do to get this working with the latest 2.4 kernel for a powerpc 
>architecture.
>
>I've downloaded kbuild-2.5-2.4.17-1.bz.  Is that all I need ???

That patch contains the core code, the arch independent patches and the
arch/i386 code, all against 2.4.17.  The various architectures have add
on patches, the start of each add on patch tells you how to apply it.

For PPC you have a choice between kbuild-2.5-2.4.16-ppc-2 (which might
fit 2.4.17 as well) or kbuild-2.5-2.4.18-pre1-ppc-1, then you will need
kbuild-2.5-2.4.18-pre1-1 as well.

Tom, did you get anywhere with adding PPC bzImage support to kbuild 2.5?


___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] kbuild for linux 2.4.x

2002-01-29 Thread Brendan J Simon


Where can I find documentation on how to install/run/patch or whatever I 
have to do to get this working with the latest 2.4 kernel for a powerpc 
architecture.

I've downloaded kbuild-2.5-2.4.17-1.bz.  Is that all I need ???

Thanks,
Brendan Simon.



Keith Owens wrote:

>Anything from 2.4.16 onwards, with CML1 or CML2, take your pick.
>
>http://sourceforge.net/project/showfiles.php?group_id=18813, under
>Release 1.12 is the current kbuild 2.5 code.  It was developed against
>2.4.16 onwards.
>



___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Bug in kbuild-2.5-2.4.18-pre1-1

2002-01-29 Thread Rasmus Andersen

Hi.

I've created a 2.4.18p1+kbuild tree (clean 2.4.18p1 tree, 
apply kbuild-2.5-2.4.16-3.bz2, kbuild-2.5-2.4.17-1.bz2, 
kbuild-2.5-2.4.18-pre1-1.bz2) and copied in an old .config.
When I run 'make -f Makefile-2.5 oldconfig installable'
it loops in the oldconfig phase forever.


The tie-over of each iteration look like this:

*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you must run 'make dep'.

spec value %p not found
Using ARCH='i386' AS='as' LD='ld' CC='/usr/bin/kgcc' CPP='/usr/bin/kgcc -E' AR='ar' 
HOSTAS='as' HOSTLD='gcc' HOSTCC='gcc' HOSTAR='ar'
Generating global Makefile
  phase 1 (find all inputs)
#
# Using defaults found in .config
#


Any comments would be appreciated.
-- 
Regards,
Rasmus([EMAIL PROTECTED])

"Men kick friendship around like a football, but it doesn't seem to
 crack. Women treat it like glass and it goes to pieces."
  -- Anne Spencer Morrow Lindbergh

___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] kbuild for linux 2.4.x

2002-01-29 Thread Michael Elizabeth Chastain

Andrew Pimlott writes:

> This isn't accurate.  bar1.h is out of date, but if its rule doesn't
> change its timestamp, so that bar1.h is still older than foo.o,
> foo.o will not be rebuilt.  IOW, make doesn't equate "running its
> rule" with "updating it".

I checked and you are right and I am wrong.  Ouch.  This means that
the "touch" rule is needed for correctness, not just for optimization.

I think GNU Make used to behave the way I described but it certainly
does not now.

So it looks like my skanky workarounds won't work and the fix is to
roll forward to a version of 2.4.NN that Keith Owens has a patch
available for.

Michael C

___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] kbuild for linux 2.4.x

2002-01-29 Thread Andrew Pimlott

This doesn't affect your explanation as a whole, but ...

On Tue, Jan 29, 2002 at 08:35:54AM -0600, Michael Elizabeth Chastain wrote:
> The way that the dependencies are set up is:
> 
>   foo.o: foo.c bar1.h
> gcc -D __KERNEL__ ... -o foo.o foo.c
> 
>   bar1.h: bar2.h
> touch bar1.h
>  
> So when you update bar2.h, then Make will update the timestamp on
> bar1.h by touching it (causing you the problem with read-only files),
> which causes foo.o to be out-of-date and rebuilt.
> 
> Suppose that you nuke out that "touch" command.  And then you update
> bar2.h.  Then bar1.h is out of date, and foo.o will be rebuilt.

This isn't accurate.  bar1.h is out of date, but if its rule doesn't
change its timestamp, so that bar1.h is still older than foo.o,
foo.o will not be rebuilt.  IOW, make doesn't equate "running its
rule" with "updating it".

Tested with GNU make 3.79.1:

% cat Makefile 
foo.o: bar1.h
touch foo.o
bar1.h: bar2.h
% touch bar1.h; sleep 1; touch foo.o; sleep 1; touch bar2.h
% make
make: `foo.o' is up to date.

Andrew

___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] kbuild for linux 2.4.x

2002-01-29 Thread Michael Elizabeth Chastain

Hi Brendan,

Here's the historical rationale on the "touch" commands.

Suppose that foo.c includes bar1.h, bar1.h includes bar2.h.

Suppose that you edit bar2.h, or more likely, you apply a patch
that changes bar2.h.  Either way, you do something that updates bar2.h.

The way that the dependencies are set up is:

  foo.o: foo.c bar1.h
gcc -D __KERNEL__ ... -o foo.o foo.c

  bar1.h: bar2.h
touch bar1.h
 
So when you update bar2.h, then Make will update the timestamp on
bar1.h by touching it (causing you the problem with read-only files),
which causes foo.o to be out-of-date and rebuilt.

Suppose that you nuke out that "touch" command.  And then you update
bar2.h.  Then bar1.h is out of date, and foo.o will be rebuilt.  And
the next time you run Make, bar1.h will still be out-of-date, and
it will be rebuilt, again and again.

The function of the "touch" command is to provide that when you update
bar2.h, foo.o is going to get built only once, not every time you run
Make forever more.

There are a couple of ways to fix this:

. the right way: change the dependencies to:

  foo.o: foo.c bar1.h bar2.h
gcc -D __KERNEL__ ... -o foo.o foo.c

  unfortunately you can't get there from here easily.

. skanky way #1: change your path to add a directory that contains a
  shell script named "touch" that just returns successfully without
  doing anything.

. skanky way #2: change the source code in scripts/mkdep.c to replace
  the "touch" command with a ":" command (a shell no-op).

I recommend experimenting with skanky way #2.  The makefile system
will still have correct dependencies.  If you update the header files
a lot (such as by applying patches), you will see that it builds too
much on repeated builds, but it will never fail to build a necessary
file.

If an entire kernel build takes only a couple of minutes in your
environment then this might be good enough for you forever.
(The files aren't getting updated all that often anyways if you are
seeing them as read-only).

CML2 is outside this whole area.  You would be looking for Keith Owen's
makefile rewrite, which addresses this issue.
 
Michael Elizabeth Chastain

"love without fear"

___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] kbuild for linux 2.4.x

2002-01-29 Thread Keith Owens

On Tue, 29 Jan 2002 17:19:49 +1100, 
Brendan J Simon <[EMAIL PROTECTED]> wrote:
>So, can I use kbuild on a 2.4.0 linux tree ?


Not on 2.4.0, but nobody in their right mind would use that kernel
anyway, it was very buggy.

>If not, what about a later 2.4.x kernel (eg. 2.4.17) ???

Anything from 2.4.16 onwards, with CML1 or CML2, take your pick.

http://sourceforge.net/project/showfiles.php?group_id=18813, under
Release 1.12 is the current kbuild 2.5 code.  It was developed against
2.4.16 onwards.


___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel