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

Re: Which kernels to include on ISOs? (Was: Re: Netboot Xen images for amd64)

On Thursday 04 June 2009, Ian Campbell wrote:
> On Thu, 2009-06-04 at 01:10 +0200, Frans Pop wrote:
> [...snipped a bunch of good points which I won't contest...]


> > But there is one image that might exactly fit the bill: the
> > i386/amd64/ppc multi-arch netinst CD. Current size (Lenny): 488MB.
> > For that it does not matter if it would grow a bit, and it's targeted
> > exactly at your users: (semi-)professional sysadmins.
> That sounds ideal, thanks for the suggestion. Am I right in thinking
> that a netinst CD includes the base system but not any of the other
> stuff? (as opposed to just including the installer itself)

Correct. But if you implement it correctly, building a "Xen businesscard 
image" (multi-arch or not) should automatically be supported too.

> > Only problem is that implementing adding Xen to just that image will
> > require a fair few changes in debian-cd. In configuration, but I
> > think also in code (you'll need to introduce a concept of variants
> > within arches for D-I tasks). It'll not be trivial to implement that
> > cleanly, though it should certainly be possible.
> Do you have any specific guidance regarding the direction you'd like to
> see me take with this or shall I just dive in and see what I come up
> with? Initially from the debian-cd end I'm thinking along the lines of
> adding "-DMULTIARCH=1" (where appropriate) to the preprocessor when
> generating the package lists.

That sounds wrong. The condition is not "am I building multiarch?".
It should be "please build a multi-arch image, but add Xen variations".
I.e, building a "normal" m-a image should still be possible and should be 
default. The challenge is to find a way to specify that _optionally_ the 
bits needed for Xen should be added on top of the normal image.

There are three things you need to accomplish:
1) include the kernel udebs for 686-bigmem on the image
2) include the 686-bigmem kernel-image deb (+ maybe headers packages?)
3) support it in build scripts on farbror (d-cd buildd) and possibly
   the easybuild script (recommended for testing!)

For 1) you need to somehow ensure the 686-bigmem udebs do *not get 
excluded* for only (!) the m-a netinst CD (see tools/generate_di_list and 
data/squeeze/exclude-udebs-i386), but not for other images.

Similar challenge for 2). Kernel packages get included through the script 
ools/generate_di+k_list, which currently does not allow for variations 
within an architecture.

Ignore the tasks directory: that is only used for full CD and DVD images, 
not for netinst and businesscard.

For 3) you can find the current build scripts used on farbror at [1]. 
The "please add Xen support" option should be set in the cronjob.daily 
script in the bit starting with:
    for arch in $ARCHES; do
        echo "Building $arch:"
        if [ "$arch" = "multi-arch" ] ; then
            echo "  i386/amd64/ppc sid netinst"
            echo "  i386/amd64/ppc squeeze netinst"

IMO it should be something like adding 'VARIANT=xen', which should 
automatically only result in changes for arches that support the variant 
(the m-a CD also includes powerpc, which does not support Xen, and thus 
should build without any differences with or without the VARIANT option 

Bonus points if it can be implemented in such a way that
'VARIANT=foo,bar,baz' would be supported too (but that might be tricky 
with the exclude-udeb files; maybe those need a different implementation 

Such a variant option could be included in the default CONF.sh (commented 
out by default) and could also be added in the easybuild.sh script 
(either commented out by default or activated with a new parameter).

All the above is subject to comments from Steve McIntyre. Please check 
your planned solution with him (by mailing d-cd list).


[1] http://svn.debian.org/wsvn/debian-cd/setup/#_setup_

Reply to: