| 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-2.6.11.4-21.9 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 CouchmanSystems 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-{2.6.11.4-20a,2.6.11.4-21.8}.i586.rpm
 'binary' RPM. That does not work. That source tree is just for building
 the kernel-default-{2.6.11.4-20a,2.6.11.4-21.8}.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?).
 
 Background...
 
 If you look at your installation media (CDROM, DVD, FTP mirror site)
 there is a binary RPM in ./suse/i586/kernel-source-2.6.11.4-20a.i586.rpm
 
 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-2.6.11.4-20a.i586.rpm '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
 ./suse/src/kernel-source-2.6.11.4-20a.src.rpm
 
 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,
 Makefile).
 
 This is all described in much more detail and more accurately than I
 have done in the documentation found in
 /usr/share/doc/pakages/kernel-source/README.SUSE
 
 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-2.6.11.4-21.9 binary RPM,
 you need to fetch:
 
 ftp://your.suse.mirror/pub/suse/i386/update/9.3/rpm/src/kernel-source-2.6.11.4-21.9.src.rpm
 
 ftp://your.suse.mirror/pub/suse/i386/update/9.3/rpm/src/kernel-xen-2.6.11.4-21.9.nosrc.rpm
 
 Read up on 'man rpm' and 'man rpmbuild' for installing and building
 RPM files.
 
 It will be difficult to build 2.6.11.4-21.8 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
 http://www.suse.de/~garloff/linux/xen/
 
 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.
 
 |