I don’t know if it’s possible to generate an rt-preempt image from the BSP. Take a look at Sergey’s blog it might help you http://www.malinov.com/Home/sergey-s-blog. He makes some changes before building the image in his Intel Galileo – Building Linux Image post.
Thank you for the hint Intel_JEspinoza, but I have already read Sergey's post before, when searching information.
Since I have not used Yocto Project tools before, then I give a fast look to its documentation and read there are three types of kernel types in BSP descriptions: KTYPE "tiny", "standard" and "rt-preempt".
However I need to know if the Intel BSP v0.7.5.7 or v0.9.0.7 are configurable to easily switch to rt-preempt editing few lines of code or passing through big efforts and deep-knowledge of Yocto Project.
I suppose a Yocto Project expert user could answer this question in a very short time. Thanks a lot.
Update: I tried to download a 3.12.6 kernel and patch it with its RT_PREEMPT using the BSP image-spi generated toolchain generated before. in brief: make menuconfig to set fully preemptible kernel and check high resolution timer support PATH=$PATH:[...]/sysroots/clanton/usr/bin make ARCH=x86 and CROSS-COMPILER=[...]/sysroots/clanton/usr/bin/i586-uclibc....- when the kernel "bzImage" file is produced, I substituted it on the "image-spi" micro SD, but the board freezes at boot after: #Clanton Microcode Version a0_1_00_23 [Linux-EFI, setup=0x1091, size=0x222d80] [Initrd, addr=0xd82f000, size=0x30fd89]
Adding RT-Preempt should be possible but would require Yocto® knowledge. I recommend looking at the Yocto® Project Community for additional information.
Finally I managed to build an RT_PREEMPT kernel.
1) replace standard kernel with rt-patched kernel source
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;branch=linux-3.8.y"
SRCREV = "531ec28f9f26f78797124b9efcf2138b89794a1e"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git;branch=v3.8-rt"
SRCREV = "1ceec8c6737b01eeebdf1b40c3da7e489b7f02d5"
2) adapt the clanton.patch to fit the new kernel, mainly code-adaptations and some asm-generic/ includes to change in asm/
3) take the new kernel .config and add to it the clanton.cfg special CONFIG's (run a diff to find and check the differences)
4) run bitbake linux-yocto-clanton
5) go to yocto_build/tmp/work/clanton-poky-linux-uclibc/linux-yocto-clanton/3.8-r0/linux and run patch -p1 < ../clanton.patch
6) replace the .config of yocto_build/tmp/work/clanton-poky-linux-uclibc/linux-yocto-clanton/3.8-r0/linux-clanton-standard-build with the clanton.cfg renamed .config
7) run bitbake linux-yocto-clanton -c compile
8) run bitbake image-full (or image-spi)
the result image has rt-patched kernel. This is not the most beautiful solution (e.g. the label "linux-yocto-standard" is no more correct) but it seems to work. Some tests should be done.