Hi Ross,
Thank you very much for the reply. It makes sense! So let me break
down the instructions:
1. rpm -i
http://bits.xensource.com/oss-xen/release/3.2.0/centos-5.1/xen-3.2.0-0xs.centos5.src.rpm
2> /dev/null
2. cd /usr/src/redhat/SOURCES ; wget
http://bits.xensource.com/oss-xen/release/3.2.1/xen-3.2.1.tar.gz
3. vi ../SPECS/xen.spec
i. Change "Version: 3.2.0" to "Version 3.2.1"
ii. Change "Source0: xen-3.2.0.tar.gz" to "Source0:
xen-3.2.1.tar.gz"
iii. Uncomment "# /usr/lib/xen/boot/hvmloader" to "/usr/lib/xen/boot/hvmloader".
(noted from previous threads to avoid rpmbuild error of unpackaged file)
4. yum -y install transfig texi2html tetex-latex gtk2-devel
libaio-devel gnutls-devel (dependencies needed for rpmbuild of
xen.spec in CentOS)
5. cd /usr/src/redhat/SPECS ; rpmbuild -ba ./xen.spec
6. Grab some coffee...
... and come back to this:
Wrote: /usr/src/redhat/SRPMS/xen-3.2.1-0xs.src.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/xen-3.2.1-0xs.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/xen-libs-3.2.1-0xs.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/xen-devel-3.2.1-0xs.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/xen-debuginfo-3.2.1-0xs.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.xxxxxx
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd xen-3.2.1
+ rm -rf /var/tmp/xen-3.2.1-0xs-root
+ exit 0
7. vi /etc/yum.conf and temporarily set "gpgcheck=0"
to "gpgcheck=1" since RPMs aren't signed.
8. cd /usr/src/redhat/RPMS/x86_64 ; yum -y install
xen-3.2.1-0xs.x86_64.rpm xen-libs-3.2.1-0xs.x86_64.rpm
xen-devel-3.2.1-0xs.x86_64.rpm
9. vi /etc/yum.conf and set gpgcheck back to "gpgcheck=1".
Reboot.
xend won't start now with the following in /var/log/xen/xend.log
[2008-07-17 16:30:23 7029] INFO (SrvDaemon:226) Xend stopped due to
signal 15.
[2008-07-17 16:30:23 7870] INFO (SrvDaemon:331) Xend Daemon started
[2008-07-17 16:30:23 7870] INFO (SrvDaemon:335) Xend changeset:
unavailable.
[2008-07-17 16:30:23 7870] INFO (SrvDaemon:342) Xend version: Unknown.
[2008-07-17 16:30:23 7870] ERROR (SrvDaemon:353) Exception starting
xend ((13, 'Permission denied'))
Traceback (most recent call last):
File
"/usr/lib64/python2.4/site-packages/xen/xend/server/SrvDaemon.py", line
345, in run
servers = SrvServer.create()
File
"/usr/lib64/python2.4/site-packages/xen/xend/server/SrvServer.py", line
251, in create
root.putChild('xend', SrvRoot())
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvRoot.py",
line 40, in __init__
self.get(name)
File "/usr/lib64/python2.4/site-packages/xen/web/SrvDir.py", line 82,
in get
val = val.getobj()
File "/usr/lib64/python2.4/site-packages/xen/web/SrvDir.py", line 52,
in getobj
self.obj = klassobj()
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvNode.py",
line 30, in __init__
self.xn = XendNode.instance()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line
709, in instance
inst = XendNode()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line
83, in __init__
self.other_config["xen_pagesize"] =
self.xeninfo_dict()["xen_pagesize"]
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line
673, in xeninfo_dict
return dict(self.xeninfo())
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line
617, in xeninfo
info['xen_scheduler'] = self.xenschedinfo()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line
607, in xenschedinfo
sched_id = self.xc.sched_id_get()
Error: (13, 'Permission denied')
I did a quick peek in /usr/lib64/python2.4/site-packages/xen and all
the Python tools looks to be correct with 3.2.1.
Any ideas?
--
Daniel Kao
Übermind, Inc.
Seattle, WA, U.S.A.
Ross S. W. Walker wrote:
Don't use the xen kernel from xen.org just the hypervisor.
Download the 3.2 SRPM from xen.org, download the 3.2.1 tarball,
put the 3.2.1 tarball into the SOURCES directory, edit the
3.2 spec file and change the version to 3.2.1 then do an
rpmbuild of the spec.
This will produce RPMs that you can then substitute the CentOS
ones with and it won't compile the kernel just the hypervisor,
continue to use the CentOS supplied xen kernels with the
new hypervisor.
-Ross
|