[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: creating kernel udebs from kernel-source

On Tue, Nov 30, 2004 at 10:14:27AM +0100, Fabio Massimo Di Nitto wrote:
> Hash: SHA1
> Sven Luther wrote:
> | On Tue, Nov 30, 2004 at 09:17:45AM +0100, Fabio Massimo Di Nitto
> | wrote:
> |
> |> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
> |>
> |> Hi Sven,
> |>
> |> Sven Luther wrote:
> |>
> |> | | Imagine all the .udebs for all the modules plus the kernel,
> |>
> |> Let say for example that i386 builds 14 debs (386, 686, 686-smp,
> |> k7 and k7-smp flavours) + 1 _all.deb (the docs). linux-kernel-di
> |> generates approx 40 udebs.
> |>
> |> That means 55 binary packages (and i would say in the worst case
> |> since i386 is one of the arch that generates more modules than
> |> any other iirc)
> |
> |
> | Oh, no, you are oh so wrong. you forgot all the modules .udeb, and
> | they are loads of them.
> Sven chill down before accounsing people to be so wrong..

Come on, it was not meant so, if i have offended you, i apologize about it,
the language barrier or something.

> the numbers above includes kernel udebs and modules udebs for i386
> in the flavours (from the ubuntu archive that builds what i wrote
> above and before).

debian i386 package has 81 .udebs for 2.4 kernels and 41 for 2.6 ones, for a
total of 122 .udebs.

> You don't generate udebs for each flavour because there
> is not necessarely the need for it. In the i386 example there is only
> one set of udebs coming from the -386- flavour.

Well, maybe, i am no expert on x86, but on powerpc, you need one set of
modules for each flavour, since they are using incompatible instruction set
optimization : powerpc (everything from 601 to the G4, passing by some
embedded processors), power3 (used in ibm rs6k, 64bit and more of a power than
powerpc processor), and power4/g4. 

> | Like waldi said, it was around 200 packages 6 month ago, and
> | probably over 400 today,
> My request of being in CC has been ignored and I lost part of the
> messages.

Ah, missed that also. like said a current calulation brings a total of 739
.udebs in all the debian kernel packages. Maybe some of it is overkill given
the small number of .udebs ubuntu has. Maybe you can have some insight here ? 

> |> | multiplied by the number of architectures plus the number of |
> |> architectures having 2.6 kernels.
> |>
> |> ??? this makes no sence to me at all. and we are only talking
> |> about one kernel.
> |>
> |> You only multiply once by the number of arch.
> |
> |
> | Nope. you have the 2.4 kernels and the 2.6 kernel, so you add the
> | total number of kernels which is between the number of arches and
> | two time the number of arches.
> The patch doesn't merge kernel-source-* into one big kernel source
> that includes ver 1.0 to 2.8.
> It applies to only one kernel source (let say 2.6.9) and from that one
> generate propers udebs for the arch where it is building.

Ok, my fault, so we still have all the 2.4 and all the 2.6 kernels, That still
means 303 .udebs for the 2.6 kernels and 436 for the 2.4 ones. Not counting
the .debs that needs to be generated too, which should amount to 10-20
packages, if i am not mistaken (powerpc 2.6 has 20, and 2.4 has 37, while i386
2.4 has 23).

> | Actually, you have to take every available flavours as you
> | mentioned above. On powerpc this is 5 for 2.4 kernels and 3 for 2.6
> | ones for a total of 8. (2.4 : powerpc, powerpc-small, power3,
> | power4, apus, 2.6: powerpc, power3, power4, soon to come ppc64
> | iserie-legacy, generic and generic-power4 additionally, and i have
> | had at least one case where the UP kernel failed and a SMP kernel
> | is needed, so maybe we should double some of these).
> You don't build udes for all the possible flavours simply because
> there is
> no need to. You build udebs only for the minimal amount that you need.

Sure you do, since these kernels are *incompatible* on the instruction level
set. And i wish you much luck trying to modprobe a powerpc module into a
power4 kernel. Or in an apus kernel for that matter.

> I doubt anybody will ever require -smp udebs, right?

I was not counting those in the above, we don't build them yet, but i know of
at least one power3 machine which worked fine with the -smp kernel, but failed
with the -up one. So i would be cautious about this.

> Or for example you don't need k7 udebs, since the 386 will do.

Sure, but this is because on x86 the flavours are mostly only different
optimization, but on other arches this is not the case. I believe that on
powerpc, m68k, mips/mipsel and arm at least, the different kernels are there
because of real incompatibilities, maybe for other this is the case also. We
speak more of subarches than flavours here really.

> There are clearly exceptions like ppc that needs more.. i don't disagree
> and i did never questioned this situation.

I believe that x86 is the exception here, while the other arches situation is
the norm, and even on x86, if you think about pure64, and 386/486 situation,
you would reconsider this, but then ubuntu probably don't care about such old
x86 hardware, and rightly so.

> |> | | That was by far the most .udebs any package could hold, and
> |> it did | break.
> |>
> |> eh? how? what is difference of having 40 udebs from package foo
> |> or 40 udebs + 15 debs from package bar?
> |
> |
> | The difference is between having (in the powerpc case) 114 .udebs
> | in one package and 127 in another, over having 241 in the conjunct
> | package, which breaks the packaging tool if i am not wrong.
> Are you mixing 2.4 and 2.6?

Sure, it was a mistake, but still the numbers are >300 for 2.6 and >400 for
2.4, and i believe the packaging stuff broke a bit under 200 last time, so ...


Sven Luther

Reply to: