This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-users] Building Xen Linux on SuSE 9.3

To: "Robbie Dinn" <robbie@xxxxxxxxxxxx>
Subject: Re: [Xen-users] Building Xen Linux on SuSE 9.3
From: "Nick Couchman" <Nick.Couchman@xxxxxxxxx>
Date: Wed, 14 Dec 2005 10:06:59 -0700
Cc: XEN Users Mailing List <xen-users@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 14 Dec 2005 17:09:09 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <43A03CFE.1030809@xxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <439EDBBC.87A6.0099.1@xxxxxxxxx> <439FEAFC.7020208@xxxxxxxxxxxx> <439FC06E.87A6.0099.1@xxxxxxxxx> <43A03CFE.1030809@xxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
A couple of corrections...
I don't actually have kernel-xen-source... (since that package doesn't even exist) RPM installed, I just have kernel-source... RPM installed.  And I think I understand what you're saying - you must have the source for the architecture for which you're trying to build the image.  That makes sense.  What I don't understand is this: if that's the case, why is the kernel source included in the kernel-source RPM already patched for XEN?  If you're not supposed to be able to build it for the XEN architecture, why does the source include the patches that make it possible?
I actually did get the kernel to build.  It seems that a couple of the files in the /usr/src/linux- directory related to XEN are not patched correctly.  Copying the files from the xen-2.0 linux-2.6 patch tree seems to fix this problem and allows the kernel to build (now I just have to see if it will actually run).  The fact that these files are not patched correctly causes the errors that I described in the first e-mail when trying to build the .tmp_vmlinux1 piece of the kernel (undefined functions).
Nick Couchman
Systems Integrator
SEAKR Engineering, Inc.
6221 South Racine Circle
Centennial, CO 80111
Main: (303) 790-8499
Fax: (303) 790-8720
Web: http://www.seakr.com

>>> On 2005/12/14 at 08:40:46, in message <43A03CFE.1030809@xxxxxxxxxxxx>, Robbie Dinn <robbie@xxxxxxxxxxxx> wrote:
Nick Couchman wrote:
> Yeah - I have both the kernel-source and kernel-xen packages installed.  The
> kernel builds fine, for the most part, right up until the .tmp_vmlinux1 where it
> fails with those errors.

I didn't explain myself very well.

There are 'source' RPM's and 'binary' RPM's.

I believe you are trying to build a xen kernel from the source tree that
comes with the kernel-source-{,}.i586.rpm
'binary' RPM. That does not work. That source tree is just for building
the kernel-default-{,}.i586.rpm 'binary' RPM.

In an ideal world you would be able to build all the different kernel
architecture from the source one tree, but in practice that is not the case.

Instead you have to start with the 'source' RPM
( kernel-source-{version}.src.rpm ), using the appropriate spec file
for the architecture you want to build (i386 xen in your case?).


If you look at your installation media (CDROM, DVD, FTP mirror site)
there is a binary RPM in ./suse/i586/kernel-source-

That RPM is a 'binary' RPM, that happens to contain just the kernel
sources. Specifically these are kernel sources that were used to build
the kernel-default- 'binary' RPM

Note how these RPM's both end in '.i586.rpm'.

Both these binary RPM's were created from a 'source' RPM found in

This source RPM contains kernel.org kernel, plus architecture
specific patches (xen, uml, ppc, s390, itanic), plus architecture
independant fixes, plus build instructions (spec files, scripts,

This is all described in much more detail and more accurately than I
have done in the documentation found in

One thing that the above documentation file does not mention is
that kernel-source-{version}.src.rpm file alone is not sufficient.
You also need a kernel-source-{arch}-{version}.nosrc.rpm file too.
(except when you are building the kernel-default).

If you want to build the kernel-xen- binary RPM,
you need to fetch:



Read up on 'man rpm' and 'man rpmbuild' for installing and building
RPM files.

It will be difficult to build because that is now gone
from the suse site and its mirrors.

If you want to use a SuSE kernel and xen 3.0, then you will have to
use the source RPM's (or binaries) that Kurt Garloff distibutes.
His page is

and follow the link that reads 'SUSE Linux 10.0 RPMs'
I haven't tried running a SuSE 10.0 kernel with a SuSE 9.3 install
though. It may work.

Alternatively, you could use the kernel source that comes from the
xensource.com or www.cl.cam.ac.uk sites. That might be much less effort
too. You only really need to bother with the SuSE sources if you
want a kernel that is as close as possible to something that SuSE ships.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Xen-users mailing list