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

Re: *-di kernels break multi-kernel bootimage support.



Gaudenz Steinlin wrote:
> Am Don, den 18.12.2003 schrieb Thiemo Seufer um 17:59:
> > Hello All,
> > 
> > i just found that the new *-di kernel flavour puts its kernel image in
> > /boot/vmlinu{x,z}. This breaks the support for building several boot
> > images of the same type but with different kernels.
> If I understand you right you want to have more than one kernel on the
> same boot media, correct?

No, I want to build two netboot images with different kernels
(in the same dpkg-buildpackage run).

> Are these really different kernels (seperate buids with different
> options) or different images from the same build (like the different
> powerpc images which only differ in the in-kernel bootstrap stuff)?

Built with different build options.

> In the first case I ask myself if the current design of d-i is capable
> to support this because this would mean that we have to provide
> different kernel-modules udebs too. AFAIK the linux-kernel-di does not
> include the flavour in the udeb name. 

It does, at least for mips/mipsel.

> In the second case the same modules udebs could be used and this should
> be fixed. It probably has to be fixed anyway for powerpc.
> 
> But then I'm asking myself why your udeb kernel is in /boot/. I have
> never seen that. On powerpc cd-images kernels are in /install/<flavour>

That may be the difference. mips/mipsel has no /install/<flavour> but
uses plain /boot. E.g.

drwxr-xr-x root/root         0 2003-12-18 19:34:17 ./
drwxr-xr-x root/root         0 2003-12-18 19:33:27 ./boot/
-rw-r--r-- root/root   2627527 2003-12-18 19:33:27 ./boot/vmlinux
-rw-r--r-- root/root    293740 2003-12-18 19:33:27 ./boot/System.map
drwxr-xr-x root/root         0 2003-12-18 19:33:30 ./lib/
drwxr-xr-x root/root         0 2003-12-18 19:33:30 ./lib/modules/
drwxr-xr-x root/root         0 2003-12-18 19:33:30 ./lib/modules/2.4.22-r4k-ip22/
drwxr-xr-x root/root         0 2003-12-18 19:33:30 ./lib/modules/2.4.22-r4k-ip22/kernel/

build/Makefile installs these files in e.g. build/tmp/netboot/tree/
and moves then the kernel image away to handle it specially.
Since it first installs all udebs, vmlinux (and System.map) get
overwritten if there's more than one kernel.

The .deb hasn't this problem because the flavour is encoded in the
filename: /boot/vmlinux-2.4.22-r4k-ip22. The linux-kernel-di build
process strips it (for what reason?), and breaks also the bootloaders
install for mips/mipsel by that.


Thiemo



Reply to: