* 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]