* Manoj Srivastava

>         I would be happy to add support, but I do not use Xen, and I
>  can't test it. If you could tell me how you build Xen images manually
>  (without kernel-package, just with the KConfig build system), and any
>  suggestions on how one could distinguish between a normal i386 build
>  and otherwise, I'll see what I can do to provide you with
>  functionality for you to test.

  Hi Manoj.  The only difference is that the generated kernel image is
 found in /usr/src/linux/vmlinuz instead of in
 /usr/src/linux/arch/i386/boot/bzImage.  This is probably only because
 the kernel image doesn't need a boot sector, it's the Xen hypervisor
 (which isn't Linux at all) that are actually booted from Grub;  the
 kernel image itself is in turn executed/booted from the Xen hypervisor,
 which has already done all the nasty stuff (bringing the CPU into
 protected mode, enabling additional CPUs, etc).

  Anyway, when I run make-kpkg I see that it attempts to do make the
 bzImage target, which is just a stub when CONFIG_X86_XEN=y is set, and
 does nothing (successfully).  What is necessary is to make the vmlinuz
 target (or vmlinux for that matter), which will create the kernel
 image.  When I build the kernels I actually use make-kpkg, but I build
 vmlinuz manually and then fool make-kpkg a bit with a symlink from
 bzImage.  My small script for doing so is like this:

    REV=`date "+%Y%m%d"`
    make vmlinuz EXTRAVERSION=-xen$REV
    ln -sf ../../../vmlinuz arch/i386/boot/bzImage
    make-kpkg --initrd --rootcmd fakeroot --revision $REV --append-to-version 
-xen$REV --stem linux kernel_image

  ...which builds a linux-image.deb which works perfectly.  So it's just
 a matter of figuring out when to use vmlinuz instead of bzImage.  Maybe
 just grepping for CONFIG_X86_XEN=y in .config is adequate, but I don't
 think that will work with ia64 or x86_64 and I would assume you want a
 generic solution.  Maybe simply a --use-vmlinuz-instead-of-bzImage
 command line option would suffice.

  In case you want to play around with this yourself and haven't used
 Mercurial before I'll include an ultra-concise guide to getting the
 Xen-as-subarch source tree here:

    apt-get install mercurial
    mkdir /usr/src/linux-2.6-xen
    cd /usr/src/linux-2.6-xen
    hg init .
    echo $'[paths]\ndefault = http://xenbits.xensource.com/linux-2.6-xen.hg' > 
.hg/hgrc
    hg pull -u

Kind regards
-- 
Tore Anderson



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to