[Fedora-xen] FWIW: Howto for building F7 and FC6 xen kernels + xen w/o PAE ...

Mike mc-al34luc at sbcglobal.net
Tue Jun 26 19:34:37 UTC 2007


Hi All,

I've successfully built the F7 source RPMS for the xen kernel + xen 3.1
w/o PAE, and it works ok on my PAE-capable dual Xeon w/ 1GB ram. I'm
able to run the following non-pae guests: freeBSD, NetBSD, as well as my
non-PAE F6 and F7 Guests of course.

I followed the wiki instructions here:
http://fedoraproject.org/wiki/Docs/CustomKernel

With the following modifications:

F7:

Using kernel-xen-2.6-2.6.20-2925.11.fc7.src.rpm:

a) with menuconfig, in "processor type and features",  "High Memory
Support", I selected "off" (I only have 1GB of memory. Selecting "4GB"
would also work just as well). I also turned off "64 bit Memory and IO
resources (EXPERIMENTAL)".

b) Just before starting the final rpmbuild, I edited the spec file and
set pae=n. The difference between the standard xen spec file and mine were:

591B> diff kernel-xen.spec *pae*
35c35
< %define release %(R="$Revision: 2925.11 $"; RR="${R##: }"; echo
${RR%%?})%{?dist}
---
> %define release %(R="$Revision: 2925.11 $"; RR="${R##: }"; echo
${RR%%?}).NO_PAE%{?dist}
97,98c97,98
< # we build always xen HV with pae
< %define xen_flags verbose=y crash_debug=y pae=y
---
> # we build always xen HV with pae - No we don't.
> %define xen_flags verbose=y crash_debug=y pae=n

I installed the resultant RPM on Dom0 and my F7 guests. Note you'll need
to specify --oldpackage, since rpm thinks the currently installed,
redhat-built 2925.11 version is newer for some reason. Reboot ... Now
you're non-PAE, and can utilize all those non-PAE guests out there. And
you can switch back and forth between PAE/non-PAE, by choosing the
appropriate versions of the kernel on dom0 and guests.

FC6 (built for use by my FC6 guest):

Just like F7, with the following exceptions:

a) I used kernel-2.6.20-1.2962.fc6.src.rpm

b) Spec file changes (kernel-2.6.spec) look like:

36c36,37
< %define with_xenonly  %{?_with_xenonly:  1} %{?!_with_xenonly:  0}
---
> #%define with_xenonly  %{?_with_xenonly:  1} %{?!_with_xenonly:  0}
> %define with_xenonly 1
64c65
< %define release %(R="$Revision: 1.2962 $"; RR="${R##: }"; echo
${RR%%?})%{?dist}%{?buildid}
---
> %define release %(R="$Revision: 1.2962 $"; RR="${R##: }"; echo
> ${RR%%?}).NO_PAE.%{?dist}%{?buildid}
178,179c179,180
< # we build always xen i686 HV with pae
< %define xen_flags verbose=y crash_debug=y pae=y
---
> # we build always xen i686 HV with pae - No we don't.
> %define xen_flags verbose=y crash_debug=y pae=n


I haven't tried to see if FC5 guests work - I suspect they will.

Enjoy,

Mike




More information about the Fedora-xen mailing list