[Fedora-xen] Re: Four ways RH could help with xen-ia64
Prarit Bhargava
prarit at redhat.com
Sat Jul 22 13:40:32 UTC 2006
>
>
> 4. Apply the xen.spec and libvirt.spec changes.
> https://www.redhat.com/archives/fedora-xen/2006-July/msg00022.html
> https://www.redhat.com/archives/fedora-xen/2006-July/msg00021.html
>
> Regarding libvirt.spec, I've talked with Daniel and he's just
> waiting for xen.spec to be ia64-enabled...
>
> Objections/comments? I'll attempt to update any relevant BZs today.
>
>
Aron,
Fedora has moved forward to 2.6.18. We'll have to port forward the
2.6.17 ia64 changes and then apply the kernel.rpm patch below.
The BZs I've opened are:
199683 <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=199683>
Fedora Core
<https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora%20Core&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=MODIFIED&bug_status=CLOSED>
NEW normal enable xen-ia64 in fedora kernel cvs
199684 <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=199684>
Fedora Core
<https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora%20Core&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=MODIFIED&bug_status=CLOSED>
NEW normal Forward port 2.6.17 ia64 xen to 2.6.18
199685 <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=199685>
Fedora Core
<https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora%20Core&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=MODIFIED&bug_status=CLOSED>
NEW normal enable ia64 builds for libvirt
199686 <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=199686>
Fedora Core
<https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora%20Core&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=MODIFIED&bug_status=CLOSED>
NEW normal enable ia64 builds for the xen rpm
P.
> Thanks,
> Aron
>
> b/devel/configs/config-xen-ia64 | 20 ++++++++++++++++
> devel/Makefile.config | 18 ++++++++++++--
> devel/kernel-2.6.spec | 50 +++++++++++++++++++++++++++++-----------
> 3 files changed, 72 insertions(+), 16 deletions(-)
>
> diff -r 658c33aa557a -r 250cc32cdde6 devel/Makefile.config
> --- a/devel/Makefile.config Sat Jul 22 09:19:48 2006 -0400
> +++ b/devel/Makefile.config Sat Jul 22 09:25:25 2006 -0400
> @@ -12,7 +12,8 @@ CONFIGFILES = \
> $(CFG)-s390.config $(CFG)-s390x.config \
> $(CFG)-ppc.config $(CFG)-ppc-smp.config \
> $(CFG)-ppc64.config $(CFG)-ppc64-kdump.config $(CFG)-ia64.config \
> - $(CFG)-i686-xen.config $(CFG)-x86_64-xen.config
> + $(CFG)-i686-xen.config $(CFG)-x86_64-xen.config \
> + $(CFG)-ia64-xen.config
>
> PLATFORMS = x86 x86_64 powerpc powerpc32 powerpc64 s390 ia64 # sparc sparc64
> TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))
> @@ -20,8 +21,10 @@ configs: $(CONFIGFILES)
> configs: $(CONFIGFILES)
> @rm -f kernel-*-config
> @rm -f $(TEMPFILES)
> - @rm -f temp-xen-generic temp-x86-xen-generic temp-x86_64-xen-generic \
> - temp-generic temp-x86_64-xen-generic-tmp
> + @rm -f temp-generic temp-xen-generic \
> + temp-x86-xen-generic \
> + temp-x86_64-xen-generic temp-x86_64-xen-generic-tmp \
> + temp-ia64-xen-generic temp-ia64-xen-generic-tmp
>
> # Augment the clean target to clean up our own cruft
> clean ::
> @@ -67,6 +70,12 @@ temp-x86_64-xen-generic-tmp: configs/con
> perl merge.pl $^ > $@
>
> temp-x86_64-xen-generic: configs/config-xen-x86_64 temp-x86_64-xen-generic-tmp
> + perl merge.pl $^ > $@
> +
> +temp-ia64-xen-generic-tmp: configs/config-xen-generic temp-ia64-generic
> + perl merge.pl $^ > $@
> +
> +temp-ia64-xen-generic: configs/config-xen-ia64 temp-ia64-xen-generic-tmp
> perl merge.pl $^ > $@
>
> kernel-$(VERSION)-i686.config: configs/config-i686 temp-x86-generic
> @@ -132,3 +141,6 @@ kernel-$(VERSION)-x86_64-xen.config: con
> kernel-$(VERSION)-x86_64-xen.config: configs/config-x86_64 temp-x86_64-xen-generic
> perl merge.pl $^ x86_64 > $@
>
> +kernel-$(VERSION)-ia64-xen.config: configs/config-xen-xen temp-ia64-xen-generic
> + perl merge.pl $^ ia64 > $@
> +
> diff -r 658c33aa557a -r 250cc32cdde6 devel/kernel-2.6.spec
> --- a/devel/kernel-2.6.spec Sat Jul 22 09:19:48 2006 -0400
> +++ b/devel/kernel-2.6.spec Sat Jul 22 09:25:25 2006 -0400
> @@ -36,6 +36,9 @@ Summary: The Linux kernel (the core of t
> %define xen_version 20060719
> %define make_target bzImage
> %define kernel_image x86
> +%define xen_flags verbose=y debug=y crash_debug=y pae=y
> +%define xen_target vmlinuz
> +%define xen_image vmlinuz
>
> %define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE}
>
> @@ -56,10 +59,14 @@ Summary: The Linux kernel (the core of t
> %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-*.config
> %endif
>
> -# Xen and kdump only build on i686 and x86_64 ...
> +# kdump only builds on i686 and x86_64
> %ifnarch i686 x86_64
> +%define buildkdump 0
> +%endif
> +
> +# Xen only builds on i686, x86_64 and ia64 ...
> +%ifnarch i686 x86_64 ia64
> %define buildxen 0
> -%define buildkdump 0
> %endif
>
> %ifarch ppc64
> @@ -134,11 +141,15 @@ Summary: The Linux kernel (the core of t
> %endif
>
> %ifarch ia64
> -%define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-ia64.config
> +%define all_arch_configs $RPM_SOURCE_DIR/kernel-%{kversion}-ia64*.config
> %define image_install_path boot/efi/EFI/redhat
> #define signmodules 1
> %define make_target compressed
> %define kernel_image vmlinux.gz
> +# ia64 doesn't building with debug=y at the moment
> +%define xen_flags verbose=y crash_debug=y
> +%define xen_target compressed
> +%define xen_image vmlinux.gz
> %endif
>
> #
> @@ -237,6 +248,7 @@ Source33: kernel-%{kversion}-i686-xen.co
> Source33: kernel-%{kversion}-i686-xen.config
> Source34: kernel-%{kversion}-x86_64-xen.config
> Source35: kernel-%{kversion}-i686-kdump.config
> +Source36: kernel-%{kversion}-ia64-xen.config
>
> #Source66: kernel-%{kversion}-sparc.config
> #Source67: kernel-%{kversion}-sparc64.config
> @@ -785,17 +797,29 @@ cd linux-%{kversion}.%{_target_cpu}
> #
> %patch950 -p1 -b .p.xen
> #
> -# ... and back out all the ia64-specific sections, as they currently prevent
> +# ... and back out all the tpm-specific sections, as they currently prevent
> # non-xen builds from working.
> -# Now also with tpm
> -#
> -for f in `find drivers/char/tpm arch/ia64/ include/asm-ia64/ include/xen/interface/arch-ia64.h* -type f -name "*.p.xen"` ; do \
> +#
> +for f in `find drivers/char/tpm -type f -name "*.p.xen"` ; do \
> g=`dirname $f`/`basename $f .p.xen`; \
> mv "$f" "$g"; \
> if [ ! -s "$g" ] ; then rm -f "$g" ; fi; \
> done
> # Delete the rest of the backup files, they just confuse the build later
> find -name "*.p.xen" | xargs rm -f
> +
> +# These are fixed in xen-ia64-unstable, they will announce their retirement
> +# automatically when the changes propogate down the chain to Juan
> +if [[ ! -f arch/ia64/kernel/asm-offsets.c ]]; then
> + ln -sf ../../../../xen/include/asm-ia64/asm-xsi-offsets.h include/asm-ia64/xen/
> +else
> + printf "*\n* please retire asm-xsi-offsets.h symlink from kernel-2.6.spec\n*\n"
> +fi
> +if grep -q xenia64_init drivers/xen/core/Makefile; then
> + ln -sf ../../../arch/ia64/xen/drivers/xenia64_init.c drivers/xen/core/
> +else
> + printf "*\n* please retire xenia64_init.c symlink from kernel-2.6.spec\n*\n"
> +fi
>
> %patch951 -p1
> %patch952 -p1
> @@ -1235,9 +1259,9 @@ mkdir -p $RPM_BUILD_ROOT/boot
> %if %{includexen}
> %if %{buildxen}
> cd xen
> - mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
> - make debug=y verbose=y crash_debug=y pae=y
> - install -m 644 xen.gz $RPM_BUILD_ROOT/boot/xen.gz-%{KVERREL}
> + mkdir -p $RPM_BUILD_ROOT/%{image_install_path} $RPM_BUILD_ROOT/boot
> + make %{?_smp_mflags} %{xen_flags}
> + install -m 644 xen.gz $RPM_BUILD_ROOT/%{image_install_path}/xen.gz-%{KVERREL}
> install -m 755 xen-syms $RPM_BUILD_ROOT/boot/xen-syms-%{KVERREL}
> cd ..
> mkdir -p $RPM_BUILD_ROOT/usr/src/kernels/%{KVERREL}-xen-%{_target_cpu}
> @@ -1261,7 +1285,7 @@ BuildKernel %make_target %kernel_image s
>
> %if %{includexen}
> %if %{buildxen}
> -BuildKernel vmlinuz vmlinuz xen
> +BuildKernel %xen_target %xen_image xen
> %endif
> %endif
>
> @@ -1432,7 +1456,7 @@ fi
> %post xen
> [ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{release}-xen
> if [ -e /proc/xen/xsd_kva -o ! -d /proc/xen ]; then
> - /sbin/new-kernel-pkg --package kernel-xen --mkinitrd --depmod --install --multiboot=/boot/xen.gz-%{KVERREL} %{KVERREL}xen
> + /sbin/new-kernel-pkg --package kernel-xen --mkinitrd --depmod --install --multiboot=/%{image_install_path}/xen.gz-%{KVERREL} %{KVERREL}xen
> else
> /sbin/new-kernel-pkg --package kernel-xen --mkinitrd --depmod --install %{KVERREL}xen
> fi
> @@ -1565,7 +1589,7 @@ fi
> /boot/symvers-%{KVERREL}xen.gz
> /boot/symsets-%{KVERREL}xen.tar.gz
> /boot/config-%{KVERREL}xen
> -/boot/xen.gz-%{KVERREL}
> +/%{image_install_path}/xen.gz-%{KVERREL}
> /boot/xen-syms-%{KVERREL}
> %dir /lib/modules/%{KVERREL}xen
> /lib/modules/%{KVERREL}xen/kernel
> diff -r 658c33aa557a -r 250cc32cdde6 devel/configs/config-xen-ia64
> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> +++ b/devel/configs/config-xen-ia64 Sat Jul 22 09:25:25 2006 -0400
> @@ -0,0 +1,20 @@
> +# override i686 xen
> +
> +# CONFIG_X86 is not set
> +# CONFIG_X86_XEN is not set
> +CONFIG_IA64=y
> +CONFIG_XEN=y
> +CONFIG_XEN_IA64_DOM0_VP=y
> +CONFIG_XEN_DISABLE_SERIAL=y
> +
> +# override ia64 generic
> +
> +# CONFIG_IA64_GENERIC is not set
> +CONFIG_IA64_DIG=y
> +# CONFIG_DISCONTIGMEM_MANUAL is not set
> +# CONFIG_SPARSEMEM_MANUAL is not set
> +CONFIG_FLATMEM_MANUAL=y
> +CONFIG_FORCE_MAX_ZONEORDER=11
> +
> +# internal #defines conflict with xen-ia64
> +# CONFIG_FB_NEOMAGIC is not set
>
More information about the xen
mailing list