Outils pour utilisateurs

Outils du site


robotics:computing:xenomai_install_on_roboard

Différences

Cette page vous affiche les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue comparative

robotics:computing:xenomai_install_on_roboard [2010/04/16 18:54]
gdo
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Introduction ====== 
  
-This article describes how to install a Linux real-time operating system on a roboard RB-100 motherboard. It is based on the Ubuntu Linux distribution and the Xenomai/​Adeos real-time solution. 
- 
-== Many thanks to : == 
-  * Pascal Moigne from [[http://​www.retdtechfrance.com|R&​D Tech France]] for lending us a roboard RB-100. 
-  * Henri Roosen for his help on the Xenomai patched kernel configuration for Vortex86DX processor. 
- 
-== Hardware used : == 
-  * Roboard RB-100 : [[http://​www.roboard.com/​RB-100.htm]] 
-  * Mini PCI VGA Card : [[http://​www.icop.com.tw/​pddetail.aspx?​id=93&​pid=4]] 
-  * 4 Go micro SD card plugged in the built-in micro-SD card reader. 
-  * 1 Go USB Key 
-  * A desktop PC((is needed to download softwares because Ubuntu does not support roboard ethernet card by default. Also, desktop PC makes kernel compilation faster.)). 
-  * An internet connection. 
- 
-== Downloads : == 
-  * Ubuntu 9.10 : [[http://​www.ubuntu.com/​]] 
-  * Linux Kernel 2.6.32.11 : [[http://​www.kernel.org/​]] 
-  * Xenomai 2.5.2 : [[http://​www.xenomai.org]] 
-  * Adeos patch adeos-ipipe-2.6.32.11-x86-2.6-02.patch : [[https://​gna.org/​projects/​adeos/​]] 
- 
-====== Linux Install ====== 
- 
-We install Ubuntu Desktop edition. But Server edition could be used too if you install from an USB CD-Rom drive((Ubuntu Server edition can not be installed from an USB key for now)). 
-Download the .iso image you choose and burn it on an USB Key (using UNetbootin or usb-creator-gtk for example). 
- 
-Plug your USB Key on the roboard and power on your roboard. At boot time, press **DEL** to enter BIOS setup. 
-Then go to **Boot => Boot Device Priority => 1st Boot Device** and select your USB key. Save your changes and exit. 
- 
-The roboard boots now on your USB key. Install Ubuntu with your own options. If you need more informations about how to install Ubuntu, look at there : [[https://​help.ubuntu.com/​community/​Installation]] 
- 
-Press **Restart** and disconnect your USB Key when it is asked. 
- 
-====== Patching kernel with Xenomai ====== 
- 
-Download Xenomai, the kernel and its corresponding adeos-ipipe patch from the links given in the [[.:​xenomai_install_on_roboard#​Downloads]] section. 
- 
-If you want to use your own kernel version, for kernel **X.X.X.X**,​ download patch **adeos-ipipe-X.X.X.X-ARCH-Y.Y-Y.patch**. Where **X** is the kernel version, **ARCH** the architectire you plan to use and **Y** the version of the adeos patch. 
-For example, if you want to patch kernel version **2.6.30.10** for an **x86** architecture,​ download adeos patch **adeos-ipipe-2.6.30.10-x86-2.4.09.patch** ((The kernel version trivial number could lightly differ. But it is more safe to keep same version for kernel and adeos patch)). 
- 
-Extract kernel sources : 
-<​code>​ $ tar xjpf linux-2.6.32.11.tar.bz2</​code>​ 
- 
-Extract Xenomai sources : 
-<​code>​$ tar xjpf xenomai-2.5.2.tar.bz2</​code>​ 
- 
-Copy the adeos patch in the Xenomai source tree : 
-<​code>​$ mv adeos-ipipe-2.6.32.11-x86-2.6-02.patch xenomai-2.5.2/​ksrc/​arch/​x86/​patches/</​code>​ 
- 
-Enter Xenomai source directory : 
-<​code>​$ cd xenomai-2.5.2/</​code>​ 
- 
-Now prepare your kernel by applying suitable patches : 
-<​code>​$ scripts/​prepare-kernel.sh --linux=../​linux-2.6.32.11/​ --adeos=ksrc/​arch/​x86/​patches/​adeos-ipipe-2.6.32.11-x86-2.6-02.patch --arch=i586 
-patching file arch/​x86/​Kconfig 
-patching file arch/​x86/​include/​asm/​apic.h 
-patching file arch/​x86/​include/​asm/​apicdef.h 
-patching file arch/​x86/​include/​asm/​entry_arch.h 
-patching file arch/​x86/​include/​asm/​hw_irq.h 
-patching file arch/​x86/​include/​asm/​i387.h 
-patching file arch/​x86/​include/​asm/​i8259.h 
-patching file arch/​x86/​include/​asm/​ipi.h 
-patching file arch/​x86/​include/​asm/​ipipe.h 
-patching file arch/​x86/​include/​asm/​ipipe_32.h 
-patching file arch/​x86/​include/​asm/​ipipe_64.h 
-patching file arch/​x86/​include/​asm/​ipipe_base.h 
-patching file arch/​x86/​include/​asm/​irq_vectors.h 
-patching file arch/​x86/​include/​asm/​irqflags.h 
-patching file arch/​x86/​include/​asm/​mmu_context.h 
-patching file arch/​x86/​include/​asm/​nmi.h 
-patching file arch/​x86/​include/​asm/​processor.h 
-patching file arch/​x86/​include/​asm/​system.h 
-patching file arch/​x86/​include/​asm/​traps.h 
-patching file arch/​x86/​kernel/​Makefile 
-patching file arch/​x86/​kernel/​apic/​apic.c 
-patching file arch/​x86/​kernel/​apic/​apic_flat_64.c 
-patching file arch/​x86/​kernel/​apic/​io_apic.c 
-patching file arch/​x86/​kernel/​apic/​ipi.c 
-patching file arch/​x86/​kernel/​apic/​nmi.c 
-patching file arch/​x86/​kernel/​apic/​x2apic_cluster.c 
-patching file arch/​x86/​kernel/​apic/​x2apic_phys.c 
-patching file arch/​x86/​kernel/​cpu/​mtrr/​cyrix.c 
-patching file arch/​x86/​kernel/​cpu/​mtrr/​generic.c 
-patching file arch/​x86/​kernel/​dumpstack.c 
-patching file arch/​x86/​kernel/​dumpstack_32.c 
-patching file arch/​x86/​kernel/​dumpstack_64.c 
-patching file arch/​x86/​kernel/​entry_32.S 
-patching file arch/​x86/​kernel/​entry_64.S 
-patching file arch/​x86/​kernel/​i8253.c 
-patching file arch/​x86/​kernel/​i8259.c 
-patching file arch/​x86/​kernel/​ipipe.c 
-patching file arch/​x86/​kernel/​irq.c 
-patching file arch/​x86/​kernel/​irqinit.c 
-patching file arch/​x86/​kernel/​process.c 
-patching file arch/​x86/​kernel/​process_32.c 
-patching file arch/​x86/​kernel/​process_64.c 
-patching file arch/​x86/​kernel/​smp.c 
-patching file arch/​x86/​kernel/​smpboot.c 
-patching file arch/​x86/​kernel/​time.c 
-patching file arch/​x86/​kernel/​traps.c 
-patching file arch/​x86/​kernel/​vm86_32.c 
-patching file arch/​x86/​lib/​mmx_32.c 
-patching file arch/​x86/​lib/​thunk_64.S 
-patching file arch/​x86/​mm/​fault.c 
-patching file arch/​x86/​mm/​tlb.c 
-patching file drivers/​pci/​htirq.c 
-patching file drivers/​serial/​8250.c 
-patching file fs/exec.c 
-patching file include/​asm-generic/​atomic.h 
-patching file include/​asm-generic/​bitops/​atomic.h 
-patching file include/​asm-generic/​cmpxchg-local.h 
-patching file include/​asm-generic/​percpu.h 
-patching file include/​linux/​hardirq.h 
-patching file include/​linux/​ipipe.h 
-patching file include/​linux/​ipipe_base.h 
-patching file include/​linux/​ipipe_compat.h 
-patching file include/​linux/​ipipe_lock.h 
-patching file include/​linux/​ipipe_percpu.h 
-patching file include/​linux/​ipipe_tickdev.h 
-patching file include/​linux/​ipipe_trace.h 
-patching file include/​linux/​irq.h 
-patching file include/​linux/​kernel.h 
-patching file include/​linux/​preempt.h 
-patching file include/​linux/​sched.h 
-patching file include/​linux/​spinlock.h 
-patching file include/​linux/​spinlock_api_smp.h 
-patching file init/​Kconfig 
-patching file init/main.c 
-patching file kernel/​Makefile 
-patching file kernel/​exit.c 
-patching file kernel/​fork.c 
-patching file kernel/​ipipe/​Kconfig 
-patching file kernel/​ipipe/​Kconfig.debug 
-patching file kernel/​ipipe/​Makefile 
-patching file kernel/​ipipe/​core.c 
-patching file kernel/​ipipe/​tracer.c 
-patching file kernel/​irq/​chip.c 
-patching file kernel/​irq/​handle.c 
-patching file kernel/​lockdep.c 
-patching file kernel/​panic.c 
-patching file kernel/​power/​hibernate.c 
-patching file kernel/​printk.c 
-patching file kernel/​sched.c 
-patching file kernel/​signal.c 
-patching file kernel/​spinlock.c 
-patching file kernel/​time/​tick-common.c 
-patching file kernel/​time/​tick-sched.c 
-patching file kernel/​timer.c 
-patching file kernel/​trace/​ftrace.c 
-patching file lib/​Kconfig.debug 
-patching file lib/​bust_spinlocks.c 
-patching file lib/​ioremap.c 
-patching file lib/​smp_processor_id.c 
-patching file mm/memory.c 
-patching file mm/​mmu_context.c 
-patching file mm/​vmalloc.c</​code>​ 
- 
-Next configure your kernel with **$ make menuconfig** or use my [[.:​xenomai_install_on_roboard#​configuration file]] : 
-<​code>​cp config_roboard linux-2.6.32.11/​.config</​code>​ 
robotics/computing/xenomai_install_on_roboard.1271436875.txt.gz · Dernière modification: 2012/09/20 10:52 (modification externe)