Mike
2007-Jun-26 19:34 UTC
[Fedora-xen] FWIW: Howto for building F7 and FC6 xen kernels + xen w/o PAE ...
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=nI 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 164c65 < %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=nI haven''t tried to see if FC5 guests work - I suspect they will. Enjoy, Mike