[Fedora-ia64-list] 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 Fedora-ia64-list mailing list