Hi Elmar, The version of the linux kernel you should use is determined by the version of the i-pipe patch that is available for the hardware you are targeting. Here, as it is probably the case for most embedded boards, it turns out that the i-pipe patch alone is not enough.
If you are using a raspberry pi 1, you will also have to apply the ipipe-core-3.8.13-raspberry-pre-2.patch and ipipe-core-3.8.13-raspberry-post-2.patch patches. And you'll then have to use the 'rpi-3.8.y' branch of the raspberry pi kernel source. If you are using a raspberry pi 2, you can find the necessary patch that Mathieu Rondonneau wrote two months ago at https://xenomai.org/pipermail/xenomai/2015-November/035487.html. And you'll then have to use the 'rpi-3.18.y' branch of the raspberry pi kernel source. Hope this helps, Nicolas 2016-01-25 2:10 GMT+01:00 Elmar Grom <[email protected]>: > Hi, > > I think before jumping right into my current problem it might be a good > idea to explain where I am coming from, as there might be other > solutions to my problem. > > What I need is Xenomai running on a Raspberry Pi to operate Machine > Kit. This can be downloaded pre-compiled, which I did and it's running > fine. So, there shouldn't be any need for me to build Xenomai from > sources. The problem is that I need the touchscreen driver for the now > available official Raspberry Pi touchscreen. That was not in the build > I managed to get, as it was obviously compiled before the touchscreen > was available. Using a copy of the driver binary > (drivers/input/touchscreen/rpi-ft5406.ko) and re-building dependencies made > the > driver available but the load attempt failed with a message indicating > binary format incompatibilities. At this point I saw myself forced to > build the OS myself from sources. My goals was, once that worked to > include the driver source in the build and hopefully have myself a > functioning installation. BTW, I am trying to cross compile form an x86 > machine running Ubuntu. > > Now, I am not a Linux hot-shot and have never built a kernel before, so > things are a bit shaky. Though I did a good bit of studying on the > topic in recent weeks. > > I think I have finally figured out all the things I need to download > and install. I also think I managed to generate a good build of the > basic Raspberry Pi. Perhaps I should try to install the image and see > if that is true, but I wanted to press on and try to get compiles to > function. > > At this point I m trying to do step number 1, configure the patch for > Xenomai 3.0.1 with linux-rpi 4.1 using ipipe-core-4.1-arm-1.patch. As I > understand it, the patch number must match the release number of the > target core as closely as possible. So this should be the correct patch. > > Below is the output captured from the console. As you can see it failed > to apply the patch. I can see two locations indicated where it failed. > At this point I am really at a loss as to what to do next. Any advise > would be greatly appreciated. > > scripts/prepare-kernel.sh --arch=arm --linux=~/linux \ > --ipipe=ipipe-core-4.1-arm-1.patch > > checking file arch/arm/Kconfig > Hunk #3 succeeded at 533 (offset 36 lines). > Hunk #4 succeeded at 720 (offset 37 lines). > Hunk #5 succeeded at 1023 (offset 40 lines). > Hunk #6 succeeded at 1542 (offset 40 lines). > checking file arch/arm/boot/compressed/decompress.c > checking file arch/arm/boot/compressed/head.S > checking file arch/arm/boot/compressed/string.c > checking file arch/arm/boot/dts/Makefile > Hunk #1 succeeded at 1 with fuzz 1. > checking file arch/arm/boot/dts/imx6qdl.dtsi > checking file arch/arm/boot/dts/omap3-igep0020-3430.dts > checking file arch/arm/boot/dts/omap3430-igep.dtsi > checking file arch/arm/boot/dts/omap4.dtsi > checking file arch/arm/common/it8152.c > checking file arch/arm/common/timer-sp.c > checking file arch/arm/include/asm/arch_timer.h > checking file arch/arm/include/asm/assembler.h > checking file arch/arm/include/asm/atomic.h > checking file arch/arm/include/asm/barrier.h > checking file arch/arm/include/asm/bitops.h > checking file arch/arm/include/asm/cacheflush.h > checking file arch/arm/include/asm/cmpxchg.h > checking file arch/arm/include/asm/entry-macro-multi.S > Hunk #1 succeeded at 12 (offset 1 line). > Hunk #2 succeeded at 29 with fuzz 1 (offset 1 line). > checking file arch/arm/include/asm/fcse.h > checking file arch/arm/include/asm/hardware/timer-sp.h > checking file arch/arm/include/asm/ipipe.h > checking file arch/arm/include/asm/ipipe_base.h > checking file arch/arm/include/asm/ipipe_hwirq.h > checking file arch/arm/include/asm/irq.h > checking file arch/arm/include/asm/irqflags.h > Hunk #2 succeeded at 175 (offset 10 lines). > checking file arch/arm/include/asm/memory.h > checking file arch/arm/include/asm/mmu.h > checking file arch/arm/include/asm/mmu_context.h > checking file arch/arm/include/asm/percpu.h > checking file arch/arm/include/asm/pgtable.h > checking file arch/arm/include/asm/proc-fns.h > checking file arch/arm/include/asm/processor.h > checking file arch/arm/include/asm/resource.h > checking file arch/arm/include/asm/setup.h > checking file arch/arm/include/asm/switch_to.h > checking file arch/arm/include/asm/thread_info.h > checking file arch/arm/include/asm/tlbflush.h > checking file arch/arm/include/asm/uaccess.h > Hunk #6 succeeded at 473 with fuzz 1. > checking file arch/arm/include/uapi/asm/mman.h > checking file arch/arm/include/uapi/asm/unistd.h > checking file arch/arm/kernel/Makefile > checking file arch/arm/kernel/asm-offsets.c > checking file arch/arm/kernel/devtree.c > checking file arch/arm/kernel/entry-armv.S > checking file arch/arm/kernel/entry-common.S > checking file arch/arm/kernel/entry-header.S > checking file arch/arm/kernel/hibernate.c > checking file arch/arm/kernel/ipipe.c > checking file arch/arm/kernel/ipipe_tsc.c > checking file arch/arm/kernel/ipipe_tsc_asm.S > checking file arch/arm/kernel/perf_callchain.c > checking file arch/arm/kernel/process.c > checking file arch/arm/kernel/ptrace.c > checking file arch/arm/kernel/raw_printk.c > checking file arch/arm/kernel/setup.c > checking file arch/arm/kernel/signal.c > Hunk #1 succeeded at 569 (offset 5 lines). > Hunk #2 succeeded at 594 (offset 5 lines). > checking file arch/arm/kernel/smp.c > checking file arch/arm/kernel/smp_twd.c > checking file arch/arm/kernel/suspend.c > checking file arch/arm/kernel/traps.c > checking file arch/arm/kernel/vdso.c > checking file arch/arm/mach-at91/Kconfig > checking file arch/arm/mach-at91/Makefile > checking file arch/arm/mach-at91/at91_ipipe.c > checking file arch/arm/mach-at91/at91_ipipe.h > checking file arch/arm/mach-at91/at91sam926x_time.c > checking file arch/arm/mach-at91/include/mach/at91_ipipe.h > checking file arch/arm/mach-davinci/Kconfig > checking file arch/arm/mach-davinci/cp_intc.c > checking file arch/arm/mach-davinci/time.c > checking file arch/arm/mach-imx/3ds_debugboard.c > checking file arch/arm/mach-imx/Kconfig > checking file arch/arm/mach-imx/avic.c > checking file arch/arm/mach-imx/clk-imx1.c > checking file arch/arm/mach-imx/clk-imx21.c > checking file arch/arm/mach-imx/clk-imx27.c > checking file arch/arm/mach-imx/clk-imx31.c > checking file arch/arm/mach-imx/clk-imx35.c > checking file arch/arm/mach-imx/clk-imx51-imx53.c > checking file arch/arm/mach-imx/common.h > checking file arch/arm/mach-imx/gpc.c > checking file arch/arm/mach-imx/mach-imx25.c > checking file arch/arm/mach-imx/mach-imx51.c > checking file arch/arm/mach-imx/mach-imx53.c > checking file arch/arm/mach-imx/mach-imx6q.c > checking file arch/arm/mach-imx/mach-mx31_3ds.c > checking file arch/arm/mach-imx/mach-mx31ads.c > checking file arch/arm/mach-imx/mm-imx1.c > checking file arch/arm/mach-imx/mm-imx27.c > checking file arch/arm/mach-imx/mm-imx3.c > checking file arch/arm/mach-imx/mm-imx5.c > checking file arch/arm/mach-imx/time.c > checking file arch/arm/mach-imx/tzic.c > checking file arch/arm/mach-integrator/core.c > checking file arch/arm/mach-integrator/integrator_cp.c > checking file arch/arm/mach-ixp4xx/common.c > checking file arch/arm/mach-ixp4xx/include/mach/platform.h > checking file arch/arm/mach-mxs/Kconfig > checking file arch/arm/mach-omap2/Kconfig > checking file arch/arm/mach-omap2/io.c > checking file arch/arm/mach-omap2/irq.c > checking file arch/arm/mach-omap2/mux.c > checking file arch/arm/mach-omap2/omap-wakeupgen.c > Hunk #3 succeeded at 411 with fuzz 2. > checking file arch/arm/mach-omap2/pm34xx.c > checking file arch/arm/mach-omap2/pm44xx.c > checking file arch/arm/mach-omap2/prm_common.c > checking file arch/arm/mach-omap2/timer.c > checking file arch/arm/mach-pxa/irq.c > checking file arch/arm/mach-pxa/lpd270.c > checking file arch/arm/mach-pxa/pcm990-baseboard.c > checking file arch/arm/mach-pxa/time.c > checking file arch/arm/mach-pxa/viper.c > checking file arch/arm/mach-realview/core.c > checking file arch/arm/mach-realview/core.h > checking file arch/arm/mach-realview/realview_eb.c > checking file arch/arm/mach-realview/realview_pb1176.c > checking file arch/arm/mach-realview/realview_pb11mp.c > checking file arch/arm/mach-realview/realview_pba8.c > checking file arch/arm/mach-realview/realview_pbx.c > checking file arch/arm/mach-s3c24xx/bast-irq.c > checking file arch/arm/mach-sa1100/irq.c > checking file arch/arm/mach-spear/Kconfig > checking file arch/arm/mach-spear/time.c > checking file arch/arm/mach-versatile/core.c > checking file arch/arm/mm/Kconfig > checking file arch/arm/mm/Makefile > checking file arch/arm/mm/alignment.c > checking file arch/arm/mm/cache-l2x0.c > checking file arch/arm/mm/context.c > checking file arch/arm/mm/copypage-v4mc.c > checking file arch/arm/mm/copypage-xscale.c > checking file arch/arm/mm/fault-armv.c > checking file arch/arm/mm/fault.c > checking file arch/arm/mm/fcse.c > checking file arch/arm/mm/flush.c > checking file arch/arm/mm/idmap.c > checking file arch/arm/mm/ioremap.c > checking file arch/arm/mm/mmap.c > checking file arch/arm/mm/pgd.c > checking file arch/arm/mm/proc-arm920.S > checking file arch/arm/mm/proc-arm926.S > checking file arch/arm/mm/proc-feroceon.S > checking file arch/arm/mm/proc-xscale.S > checking file arch/arm/plat-omap/dmtimer.c > checking file arch/arm/plat-omap/include/plat/dmtimer.h > checking file arch/arm/plat-samsung/include/plat/gpio-core.h > checking file arch/arm/vfp/entry.S > checking file arch/arm/vfp/vfphw.S > checking file arch/arm/vfp/vfpmodule.c > checking file drivers/clocksource/arm_arch_timer.c > checking file drivers/clocksource/arm_global_timer.c > checking file drivers/clocksource/mxs_timer.c > checking file drivers/clocksource/pxa_timer.c > checking file drivers/gpio/gpio-davinci.c > checking file drivers/gpio/gpio-mvebu.c > checking file drivers/gpio/gpio-mxc.c > checking file drivers/gpio/gpio-mxs.c > checking file drivers/gpio/gpio-omap.c > checking file drivers/gpio/gpio-pxa.c > checking file drivers/gpio/gpio-sa1100.c > checking file drivers/gpio/gpio-zynq.c > checking file drivers/gpu/ipu-v3/ipu-common.c > checking file drivers/gpu/ipu-v3/ipu-prv.h > checking file drivers/irqchip/irq-atmel-aic.c > checking file drivers/irqchip/irq-atmel-aic5.c > Hunk #2 FAILED at 96. > Hunk #3 FAILED at 110. > Hunk #4 succeeded at 147 (offset 8 lines). > Hunk #5 succeeded at 169 (offset 8 lines). > Hunk #6 succeeded at 185 (offset 8 lines). > Hunk #7 succeeded at 194 (offset 8 lines). > Hunk #8 succeeded at 210 (offset 8 lines). > Hunk #9 succeeded at 219 (offset 8 lines). > Hunk #10 succeeded at 275 (offset 8 lines). > Hunk #11 succeeded at 289 (offset 8 lines). > Hunk #12 succeeded at 351 (offset 8 lines). > 2 out of 12 hunks FAILED > checking file drivers/irqchip/irq-bcm7120-l2.c > checking file drivers/irqchip/irq-brcmstb-l2.c > checking file drivers/irqchip/irq-dw-apb-ictl.c > checking file drivers/irqchip/irq-gic-v3.c > checking file drivers/irqchip/irq-gic.c > checking file drivers/irqchip/irq-mxs.c > checking file drivers/irqchip/irq-omap-intc.c > checking file drivers/irqchip/irq-s3c24xx.c > checking file drivers/irqchip/irq-sunxi-nmi.c > checking file drivers/irqchip/irq-versatile-fpga.c > checking file drivers/irqchip/irq-vic.c > checking file drivers/irqchip/spear-shirq.c > checking file drivers/memory/omap-gpmc.c > checking file drivers/mfd/twl4030-irq.c > checking file drivers/mfd/twl6030-irq.c > checking file drivers/misc/Kconfig > Hunk #1 succeeded at 69 (offset 8 lines). > checking file drivers/pinctrl/pinctrl-at91.c > Hunk #3 succeeded at 1629 (offset 15 lines). > Hunk #4 succeeded at 1684 (offset 15 lines). > Hunk #5 succeeded at 1784 (offset 15 lines). > Hunk #6 succeeded at 1853 (offset 15 lines). > checking file drivers/pinctrl/pinctrl-rockchip.c > checking file drivers/pinctrl/pinctrl-single.c > checking file drivers/tty/serial/xilinx_uartps.c > checking file drivers/cpuidle/Kconfig > checking file drivers/tty/serial/8250/8250_core.c > Hunk #1 succeeded at 3442 (offset 10 lines). > Hunk #2 succeeded at 3593 (offset 10 lines). > checking file fs/exec.c > checking file include/asm-generic/atomic.h > checking file include/asm-generic/bitops/atomic.h > checking file include/asm-generic/cmpxchg-local.h > checking file include/asm-generic/percpu.h > checking file include/asm-generic/preempt.h > checking file include/asm-generic/switch_to.h > checking file include/ipipe/setup.h > checking file include/ipipe/thread_info.h > checking file include/linux/clockchips.h > checking file include/linux/clocksource.h > checking file include/linux/console.h > checking file include/linux/hardirq.h > checking file include/linux/i8253.h > checking file include/linux/ipipe.h > checking file include/linux/ipipe_base.h > checking file include/linux/ipipe_compat.h > checking file include/linux/ipipe_debug.h > checking file include/linux/ipipe_domain.h > checking file include/linux/ipipe_lock.h > checking file include/linux/ipipe_tickdev.h > checking file include/linux/ipipe_trace.h > checking file include/linux/irq.h > Hunk #3 succeeded at 583 (offset 1 line). > Hunk #4 succeeded at 758 (offset 1 line). > Hunk #5 succeeded at 859 (offset 1 line). > checking file include/linux/irqchip/arm-gic.h > checking file include/linux/irqdesc.h > checking file include/linux/irqnr.h > checking file include/linux/kernel.h > checking file include/linux/kvm_host.h > checking file include/linux/preempt.h > Hunk #2 succeeded at 126 (offset 1 line). > Hunk #3 succeeded at 154 (offset 1 line). > checking file include/linux/printk.h > checking file include/linux/rwlock.h > checking file include/linux/rwlock_api_smp.h > checking file include/linux/sched.h > checking file include/linux/spinlock.h > checking file include/linux/spinlock_api_smp.h > checking file include/linux/spinlock_up.h > checking file include/linux/timekeeper_internal.h > checking file include/uapi/asm-generic/mman-common.h > checking file include/uapi/asm-generic/resource.h > checking file include/uapi/linux/resource.h > checking file init/Kconfig > checking file init/main.c > Hunk #4 succeeded at 882 (offset 1 line). > checking file kernel/Makefile > checking file kernel/context_tracking.c > checking file kernel/debug/debug_core.c > checking file kernel/debug/gdbstub.c > checking file kernel/exit.c > checking file kernel/fork.c > checking file kernel/ipipe/Kconfig > checking file kernel/ipipe/Kconfig.debug > checking file kernel/ipipe/Makefile > checking file kernel/ipipe/compat.c > checking file kernel/ipipe/core.c > checking file kernel/ipipe/timer.c > checking file kernel/ipipe/tracer.c > checking file kernel/irq/chip.c > checking file kernel/irq/generic-chip.c > checking file kernel/irq/internals.h > checking file kernel/irq/irqdesc.c > checking file kernel/irq/manage.c > checking file kernel/locking/lockdep.c > checking file kernel/locking/spinlock.c > checking file kernel/module.c > Hunk #1 succeeded at 943 (offset 4 lines). > Hunk #2 succeeded at 951 (offset 4 lines). > Hunk #3 succeeded at 962 (offset 4 lines). > checking file kernel/panic.c > checking file kernel/power/hibernate.c > checking file kernel/printk/printk.c > Hunk #2 succeeded at 1260 (offset 1 line). > Hunk #3 succeeded at 1313 (offset -3 lines). > Hunk #4 succeeded at 1333 (offset -3 lines). > Hunk #5 succeeded at 1624 (offset -3 lines). > Hunk #6 succeeded at 1692 (offset -3 lines). > Hunk #7 succeeded at 1707 (offset -3 lines). > Hunk #8 succeeded at 1785 (offset -3 lines). > Hunk #9 succeeded at 1828 (offset -3 lines). > Hunk #10 succeeded at 1888 (offset -3 lines). > Hunk #11 succeeded at 1960 (offset -3 lines). > Hunk #12 succeeded at 1999 (offset -3 lines). > Hunk #13 succeeded at 2647 (offset -3 lines). > Hunk #14 succeeded at 2703 (offset -3 lines). > Hunk #15 succeeded at 2798 (offset -3 lines). > checking file kernel/sched/core.c > Hunk #6 succeeded at 2568 (offset 7 lines). > Hunk #7 succeeded at 2597 (offset 7 lines). > Hunk #8 succeeded at 2652 (offset 7 lines). > Hunk #9 succeeded at 2750 (offset 7 lines). > Hunk #10 succeeded at 2763 (offset 7 lines). > Hunk #11 succeeded at 2820 (offset 7 lines). > Hunk #12 succeeded at 2853 (offset 7 lines). > Hunk #13 succeeded at 2894 (offset 7 lines). > Hunk #14 succeeded at 2918 (offset 7 lines). > Hunk #15 succeeded at 3647 (offset 7 lines). > Hunk #16 succeeded at 4831 (offset 7 lines). > Hunk #17 succeeded at 8423 (offset 15 lines). > checking file kernel/sched/wait.c > checking file kernel/signal.c > checking file kernel/time/clockevents.c > checking file kernel/time/clocksource.c > checking file kernel/time/tick-common.c > checking file kernel/time/tick-sched.c > checking file kernel/time/timekeeping.c > checking file kernel/time/timer.c > checking file kernel/trace/Kconfig > checking file kernel/trace/ftrace.c > Hunk #2 succeeded at 2519 (offset 18 lines). > Hunk #3 succeeded at 2535 (offset 18 lines). > Hunk #4 succeeded at 4887 (offset 18 lines). > Hunk #5 succeeded at 4989 (offset 18 lines). > Hunk #6 succeeded at 5186 (offset 15 lines). > checking file kernel/trace/ring_buffer.c > checking file kernel/trace/trace.c > checking file kernel/trace/trace_clock.c > checking file kernel/trace/trace_functions.c > checking file kernel/trace/trace_functions_graph.c > checking file lib/Kconfig.debug > checking file lib/atomic64.c > checking file lib/bust_spinlocks.c > checking file lib/ioremap.c > checking file lib/smp_processor_id.c > checking file mm/Kconfig > checking file mm/memory.c > Hunk #7 succeeded at 3887 (offset 6 lines). > checking file mm/mlock.c > checking file mm/mmap.c > checking file mm/mmu_context.c > checking file mm/mprotect.c > checking file mm/vmalloc.c > prepare-kernel.sh: Unable to patch kernel 4.1.15 with > ipipe-core-4.1-arm-1.patch > > > _______________________________________________ > Xenomai mailing list > [email protected] > http://xenomai.org/mailman/listinfo/xenomai > _______________________________________________ Xenomai mailing list [email protected] http://xenomai.org/mailman/listinfo/xenomai
