source ~/oe-overo/kernel_dev.txt
# make a directory for this test
make ~/xenomai_test
# get the kernel and uncompress it, of course we can download from kenrel.org, but at the time of writing, kernel.org is under maintainance
cd /home/thachdd/xenomai_test
wget http://www.linuxgrill.com/
tar -xjf ./linux-2.6.35.9.tar.bz2
export LINUX_SRC=/home/thachdd/
# get xenomai source and uncompress it
cd /home/thachdd/xenomai_test# export the Adeos for ease of use
export ADEOS_SRC=/home/thachdd/
# patch the kernel 2.6.35.9 with adeos
cd /home/thachdd/xenomai_test/
./scripts/prepare-kernel.sh --arch=arm --linux=${LINUX_SRC} --adeos=${ADEOS_SRC}
thachdd@thachdd-desktop:~/
patching file arch/arm/Kconfig
patching file arch/arm/boot/compressed/head.
patching file arch/arm/common/it8152.c
patching file arch/arm/include/asm/
patching file arch/arm/include/asm/atomic.h
patching file arch/arm/include/asm/bitops.h
patching file arch/arm/include/asm/
patching file arch/arm/include/asm/cpu-
patching file arch/arm/include/asm/cpu-
patching file arch/arm/include/asm/fcse.h
patching file arch/arm/include/asm/ipipe.h
patching file arch/arm/include/asm/ipipe_
patching file arch/arm/include/asm/irqflags.
patching file arch/arm/include/asm/memory.h
patching file arch/arm/include/asm/mmu.h
patching file arch/arm/include/asm/mmu_
patching file arch/arm/include/asm/percpu.h
patching file arch/arm/include/asm/pgtable.h
patching file arch/arm/include/asm/proc-fns.
patching file arch/arm/include/asm/
patching file arch/arm/include/asm/resource.
patching file arch/arm/include/asm/system.h
patching file arch/arm/include/asm/thread_
patching file arch/arm/include/asm/tlbflush.
patching file arch/arm/kernel/Makefile
patching file arch/arm/kernel/entry-armv.S
patching file arch/arm/kernel/entry-common.S
patching file arch/arm/kernel/entry-header.S
patching file arch/arm/kernel/ipipe.c
patching file arch/arm/kernel/ipipe_tsc.c
patching file arch/arm/kernel/ipipe_tsc_asm.
patching file arch/arm/kernel/irq.c
patching file arch/arm/kernel/process.c
patching file arch/arm/kernel/ptrace.c
patching file arch/arm/kernel/smp.c
patching file arch/arm/kernel/traps.c
patching file arch/arm/mach-at91/Kconfig
patching file arch/arm/mach-at91/Makefile
patching file arch/arm/mach-at91/at91_ipipe_
patching file arch/arm/mach-at91/at91rm9200.
patching file arch/arm/mach-at91/
patching file arch/arm/mach-at91/
patching file arch/arm/mach-at91/
patching file arch/arm/mach-at91/at91sam9rl.
patching file arch/arm/mach-at91/gpio.c
patching file arch/arm/mach-at91/include/
patching file arch/arm/mach-at91/include/
patching file arch/arm/mach-at91/include/
patching file arch/arm/mach-at91/irq.c
patching file arch/arm/mach-integrator/core.
patching file arch/arm/mach-integrator/
patching file arch/arm/mach-integrator/
patching file arch/arm/mach-integrator/
patching file arch/arm/mach-integrator/
patching file arch/arm/mach-integrator/
patching file arch/arm/mach-ixp4xx/common.c
patching file arch/arm/mach-ixp4xx/include/
patching file arch/arm/mach-mx1/clock.c
patching file arch/arm/mach-mx2/clock_imx21.
patching file arch/arm/mach-mx2/clock_imx27.
patching file arch/arm/mach-mx2/devices.c
patching file arch/arm/mach-mx25/clock.c
patching file arch/arm/mach-mx25/devices.c
patching file arch/arm/mach-mx3/clock-imx31.
patching file arch/arm/mach-mx3/clock-imx35.
patching file arch/arm/mach-mx3/devices.c
patching file arch/arm/mach-mx3/mach-mx31_
patching file arch/arm/mach-mx3/mach-
patching file arch/arm/mach-mx5/clock-mx51.c
patching file arch/arm/mach-mxc91231/clock.c
patching file arch/arm/mach-omap2/irq.c
patching file arch/arm/mach-omap2/timer-gp.c
patching file arch/arm/mach-pxa/irq.c
patching file arch/arm/mach-pxa/leds-idp.c
patching file arch/arm/mach-pxa/leds-
patching file arch/arm/mach-pxa/leds-
patching file arch/arm/mach-pxa/lpd270.c
patching file arch/arm/mach-pxa/lubbock.c
patching file arch/arm/mach-pxa/mainstone.c
patching file arch/arm/mach-pxa/pcm990-
patching file arch/arm/mach-pxa/time.c
patching file arch/arm/mach-pxa/viper.c
patching file arch/arm/mach-realview/core.c
patching file arch/arm/mach-realview/core.h
patching file arch/arm/mach-realview/
patching file arch/arm/mach-realview/
patching file arch/arm/mach-realview/
patching file arch/arm/mach-realview/
patching file arch/arm/mach-realview/
patching file arch/arm/mach-s3c2410/include/
patching file arch/arm/mach-s3c2440/irq.c
patching file arch/arm/mach-s3c2440/s3c244x-
patching file arch/arm/mach-sa1100/gpio.c
patching file arch/arm/mach-sa1100/irq.c
patching file arch/arm/mach-sa1100/leds-
patching file arch/arm/mach-sa1100/leds-
patching file arch/arm/mach-sa1100/leds-
patching file arch/arm/mach-sa1100/leds-
patching file arch/arm/mach-sa1100/leds-
patching file arch/arm/mach-sa1100/leds-
patching file arch/arm/mach-sa1100/time.c
patching file arch/arm/mach-versatile/core.c
patching file arch/arm/mach-vexpress/ct-
patching file arch/arm/mach-vexpress/v2m.c
patching file arch/arm/mm/Kconfig
patching file arch/arm/mm/Makefile
patching file arch/arm/mm/alignment.c
patching file arch/arm/mm/context.c
patching file arch/arm/mm/copypage-v4mc.c
patching file arch/arm/mm/copypage-xscale.c
patching file arch/arm/mm/fault-armv.c
patching file arch/arm/mm/fault.c
patching file arch/arm/mm/fcse.c
patching file arch/arm/mm/flush.c
patching file arch/arm/mm/ioremap.c
patching file arch/arm/mm/mmap.c
patching file arch/arm/mm/pgd.c
patching file arch/arm/mm/proc-arm920.S
patching file arch/arm/mm/proc-arm926.S
patching file arch/arm/mm/proc-feroceon.S
patching file arch/arm/mm/proc-xscale.S
patching file arch/arm/plat-mxc/cpu.c
patching file arch/arm/plat-mxc/gpio.c
patching file arch/arm/plat-mxc/include/
patching file arch/arm/plat-mxc/include/
patching file arch/arm/plat-mxc/include/
patching file arch/arm/plat-mxc/irq.c
patching file arch/arm/plat-mxc/time.c
patching file arch/arm/plat-mxc/tzic.c
patching file arch/arm/plat-omap/Kconfig
patching file arch/arm/plat-omap/dmtimer.c
patching file arch/arm/plat-omap/gpio.c
patching file arch/arm/plat-omap/include/
patching file arch/arm/plat-omap/include/
patching file arch/arm/plat-pxa/gpio.c
patching file arch/arm/plat-s3c24xx/irq.c
patching file arch/arm/plat-samsung/include/
patching file arch/arm/plat-samsung/time.c
patching file arch/arm/plat-versatile/
patching file arch/arm/plat-versatile/timer-
patching file arch/arm/vfp/entry.S
patching file arch/arm/vfp/vfphw.S
patching file arch/arm/vfp/vfpmodule.c
patching file drivers/mfd/twl4030-irq.c
patching file drivers/misc/Kconfig
patching file drivers/pci/htirq.c
patching file drivers/serial/8250.c
patching file fs/exec.c
patching file fs/proc/array.c
patching file include/asm-generic/atomic.h
patching file include/asm-generic/bitops/
patching file include/asm-generic/cmpxchg-
patching file include/asm-generic/percpu.h
patching file include/asm-generic/resource.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_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/irqnr.h
patching file include/linux/kernel.h
patching file include/linux/preempt.h
patching file include/linux/resource.h
patching file include/linux/rwlock.h
patching file include/linux/rwlock_api_smp.h
patching file include/linux/sched.h
patching file include/linux/spinlock.h
patching file include/linux/spinlock_api_
patching file include/linux/spinlock_up.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/Kconfig
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
# compile the kernel uImage
cd /home/thachdd/xenomai_test/
make overo_defconfig
# by default, overo config does not include ethernet driver SMSC911x, this will cause problem if you try to mount rootfs on NFS. Also disable CPU frequency because it is not recommended for Xenomai
make menuconfig
> disable CONFIG_CPU_FREQ in CPU Power Management
> enable network eth0 driver Device Driver > Network device support > Ethernet 10 or 100Mbit > SMSC LAN911x/LAN921x families embedded ethernet support
make -j 4 uImage
# copy your uImage to the tftp server location
cp ./arch/arm/boot/uImage /exports/overo/boot/uImage_
# compile the user-space part xenomai
cd /home/thachdd/xenomai_test/
mkdir _BUILDS
/home/thachdd/xenomai_test/
./configure --prefix=`pwd`/_BUILDS --host=arm-linux --target=arm-linux CC=${CROSS_COMPILE}gcc --enable-arm-mach=omap3 --enable-arm-tsc --enable-arm-eabi
make
make install
# your built files are in _BUILDS directory, you can move them to your root file system
cd ./_BUILDS
tar -cf - ./ | (cd <your_destination_dir> && tar -xf - )
# notice the xeno-config that is installed under _BUILDS/bin, we need it to build example files
# build some examples
cd ./examples/native
make XENOCONFIG=/home/thachdd/
# you will see the result file rtprint, sigdebug, trivial-periodic, copy them to your rootfs
cp rtprint sigdebug trivial-periodic /exports/overo/root
# try to run these files on your board, have fun!
Không có nhận xét nào:
Đăng nhận xét