Hello, I've made a first pass at modifying the Fedora Rawhide xen and kernel rpms to support ia64. There is still a lot of work to do before this would be suitable for inclusion in Fedora, but hopefully this represents a proof-of-concept that can be improved to that point. If you'd like to browse or contribute, the bits are available as mercurial repositories at: http://free.linux.hp.com/~agriffis/ There are 5 repositories presently: fedora-xen-rpm Tracks xen.src.rpm from rawhide. fedora-xen-ia64 Pulls from fedora-xen-rpm, contains (trivial) modifications for ia64 fedora-kernel-rpm Tracks kernel.src.rpm from rawhide. fedora-kernel-ia64 Pulls from fedora-kernel-rpm, contains modifications for ia64 xen-ia64-unstable-2.6.17 Forward port of xen-ia64-unstable sparse tree from 2.6.16.13 to 2.6.17, generates linux-2.6-xen.patch for fedora-kernel-ia64 Here is my non-comprehensive list of notes/issues for fedora-kernel-ia64: 1. Upstream xen is presently based on 2.6.16.13. Fedora kernel is (or was yesterday) based on 2.6.17-rc4-git5. To port xen forward, the most maintainable method seems to be to do the port in the context of a xen-ia64-unstable mercurial clone (xen-ia64-unstable-2.6.17 above). Using this method makes it relatively easy to: (a) port forward to a new kernel at any time using the sparse-merge script (b) pull new changes from upstream xen and avoid most manual merging (c) extract a patch at any time that represents the forward-port of xen to a new kernel (d) generate a patch at any time that adds xen support to the fedora kernel (linux-2.6-xen.patch generated with "make mkpatches") The only caveat here is that I probably didn't do the forward port perfectly. In particular I know I bungled the TPM stuff because there are lots of changes going into kernel.org and xen simultaneously. Additionally I didn't pay a lot of attention to other architectures for the moment. Hopefully 2.6.17 will pop any day now, then xen upstream will move to it, and we won't have to carry the forward port in the Fedora patch. If by some chance this doesn't happen, then my forward porting work will need to be revisited. 2. This first pass was created using the xen-ia64-unstable repo instead of the xen-unstable repo. This is because xen-unstable is broken recently on ia64. When the two have been resynced upstream, and xen-unstable works on ia64, we should move this prototype to using xen-unstable (which is what the current Fedora Xen patch is based on). 3. The bare metal config is built for Generic. The xen0 and xenU configs are built for DIG-Compliant. It seems that the kernel won't build for Generic with CONFIG_XEN enabled. Using DIG-compliant for the xen kernels is probably okay for now, but it would be good to get Generic building. 4. After applying patch700 (linux-2.6-xen.patch), the spec file executes xen-mkbuildtree-pre if it exists for the architecture. In effect, this is applying an ia64-specific patch, even though it looks more generic in the spec. The special modifications being made by xen-mkbuildtree-pre need to be folded into linux-2.6-xen.patch to prevent architecture-specific maintenance headaches in the stack of Fedora kernel patches. 5. My forward port broke the exec-shield patch application. Juan has this resolved in his version, but that's based on an older xen-unstable changeset. I commented out patch810-812 for the moment. 6. The xen patch is missing some function prototypes. (I believe this is a problem in xen upstream not something introduced by my port.) The Fedora kernel build normally turns on -Werror-implicit-function-declaration in patch1018 (linux-2.6-debug-Wundef.patch). I commented out this patch for the moment. 7. The hypervisor doesn't build on ia64 with "debug=y verbose=y crash_debug=y". For the moment it builds with default flags on ia64 instead. 8. /sbin/new-kernel-pkg doesn't handle installation of the hypervisor to the EFI partition. This should be a trivial fix. 9. Various other rpms need trivial updates to build/install on ia64, for example libvirt. 10. Anaconda needs updates to handle installation of xen on ia64 (interaction with elilo, etc) 11. After finally getting a full build, I tested it once on my rx2620. The hypervisor booted, but the console didn't get hooked up for xen0, and eventually the machine reset. Hopefully these are trivial configuration or elilo.conf updates, but there may be more work involved. If you'd like to build these rpms for yourself, here's the quick and dirty guide (thanks Anil): hg clone http://free.linux.hp.com/~agriffis/fedora-kernel-ia64 # or http://free.linux.hp.com/~agriffis/fedora-xen-ia64 cd fedora-kernel-ia64 mkdir -p BUILD RPMS/ia64 source bashrc-snippet # might want this in your ~/.bashrc cd SPECS rpmbuild -ba kernel-2.6.spec Regards, Aron