andylyon wrote:trikolon wrote:
Having made the list of patches I have a script which extracts the vanilla kernel source and attempts to apply the patches, when it fails it stops and drops to bash so that I can fix the problem manually, to give you an idea of the changes here is the diff output between the original and my updated patches:
Andy
can you post that script you're using so i can see whether i can get some patches to apply too?
thanks...
The script I use is only useful in my development environment so I am not going to post it, but I will explain the process you need to follow:
First you need to unpack the suse rpm, I usually convert it using rpm2targz then extract the contents, then there is a script you can run which will output the list of patches that would be applied by the rpm build process, it takes the architecture as an argument (x86_64 or i386/i686) and you need to pipe in the series.conf which lists all patches, then just grep for patches.xen , e.g.:
ubermicro suse-kernel-source-2.6.30-55.1 # ./guards x86_64 <series.conf | grep patches.xen
patches.xen/add-console-use-vt
patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
patches.xen/ipv6-no-autoconf
patches.xen/pci-guestdev
patches.xen/pci-reserve
patches.xen/sfc-driverlink
patches.xen/sfc-resource-driver
patches.xen/sfc-driverlink-conditional
patches.xen/sfc-external-sram
patches.xen/tmem
patches.xen/xen3-auto-xen-arch.diff
patches.xen/xen3-auto-xen-drivers.diff
patches.xen/xen3-auto-include-xen-interface.diff
patches.xen/xen3-auto-xen-kconfig.diff
patches.xen/xen3-auto-common.diff
patches.xen/xen3-auto-arch-x86.diff
<snip>
Some of the patches are required only if the kernel has already been patched, I use the following command to identify them:
grep "Automatically created from" patches.xen/* | grep -v "kernel.org"
patches.xen/xen3-driver-core-misc-add-nodename-support-for-misc-devices.patch:Automatically created from "patches.suse/driver-core-misc-add-nodename-support-for-misc-devices.patch" by xen-port-patches.py
patches.xen/xen3-kdb-x86:Automatically created from "patches.suse/kdb-x86" by xen-port-patches.py
patches.xen/xen3-panic-on-io-nmi.diff:Automatically created from "patches.suse/panic-on-io-nmi.diff" by xen-port-patches.py
patches.xen/xen3-seccomp-disable-tsc-option:Automatically created from "patches.fixes/seccomp-disable-tsc-option" by xen-port-patches.py
patches.xen/xen3-stack-unwind:Automatically created from "patches.suse/stack-unwind" by xen-port-patches.py
patches.xen/xen3-x86-mark_rodata_rw.patch:Automatically created from "patches.suse/x86-mark_rodata_rw.patch" by xen-port-patches.py
patches.xen/xen3-x86_64-unwind-annotations:Automatically created from "patches.arch/x86_64-unwind-annotations" by xen-port-patches.py
Unless you plan to include the other suse patches you should not try to apply these, having removed them I review the list and read the top of each patch to understand what it does, FYI my current list of patches to exclude for 2.6.30 is:
#patches.xen/xen3-seccomp-disable-tsc-option
#patches.xen/xen3-driver-core-misc-add-nodename-support-for-misc-devices.patch
#patches.xen/xen3-kdb-x86
#patches.xen/xen3-stack-unwind
#patches.xen/xen3-panic-on-io-nmi.diff
#patches.xen/xen3-x86_64-unwind-annotations
#patches.xen/xen-modular-blktap
#patches.xen/xen-blkback-bimodal-suse
#patches.xen/xen-blkif-protocol-fallback-hack
#patches.xen/xen-swiotlb-heuristics
Having trimmed the list it is simply a matter of applying the patches in order, some will fail but the changes required to fix are usually quite minor.
Good luck, if you have any luck with 2.6.31-rc5 please do post your results and I will upload the ebuild to the usual place, I will also try to find time to have a look at 2.6.31-rc5 myself this week.
Andy