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 .
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).