Xenomai master -> BBB RCNelson 3.13-bone5 kernel patches

I 200% agree : that’s why I was refering to it :

Is it possible to get a same instructions list for the official one ?

anyway with a checkout from any branch, I’m not sure that xenomai will be compiled as from docs, blog, forums, book
it’s clearly precise that not all kernel version accept xenomai patches. Therefore, from my understanding only 1 commit is currenlty guaranteed to work :

---- Beaglebone

1- Checkout the "am33x-v3.8" branch in the Robert Nelson repository [3],
the patch has been tested with commit **3fc8a73d782231ab2750ff29793a760e8fa076bb**
2- apply beaglebone/ipipe-core-3.8.13-beaglebone-pre.patch
3- apply ipipe-core-3.8.13-arm-1.patch
4- apply beaglebone/ipipe-core-3.8.13-beaglebone-post.patch
5- you can resume to generic installation instructions.

John: until now I’ve been just compiled vanilla kernels, -ie no xenomai worked- could you please indicate what are these steps you have followed to compile it ?

Way to complicated. Simply clone Robert’s linux-dev repo and apply the attached patch. Build the kernel as normal.

Regards,
John

cds_xenomai.patch (4.71 KB)

OK will give it a try, thanks for the tip.

John,
from the KERNEL dir :

patch -p1 < cds_xenomai.patch

outputs error on :

Can’t find file at

John,
from the KERNEL dir :

patch -p1 < cds_xenomai.patch

outputs error on :

Can’t find file at

@@ -866,12 +866,40 @@ saucy () {

Did you checkout the am33x-v3.8 branch?
git checkout am33x-v3.8
Place the patch so that it is in the same folder as linux-dev, not in the linux-dev folder.
patch –p1 < …/cds_xenomai.patch

Regards,
John

Redid clone + checkout am33x-v3.8
Doing so then display:

This doens’t work neither :

git status :

On branch 3.8.13-bone39-xenomai

nothing to commit (working directory clean)

  • ./build_kernel.sh :

generates a 3.11.0-rc1-armv7-d1.zImage

Lets... see..

https://github.com/cdsteinkuehler/linux-dev/blob/3.8.13-bone39-xenomai/version.sh#L32

branch/tag: 3.8.13-bone39-xenomai
build: BUILD=bone39

Just checkout the branch like a normal user.

   - git clone https://github.com/cdsteinkuehler/linux-dev
   - git checkout origin/3.8.13-bone39-xenomai -b
   some_local_temp_branch_name

Regards,

Hi Robert,

This would be the easiest solution, but Charles doesn’t always keep up to date with your latest patches. Last I checked, Charles was still at bone36 when you were at bone41. The way I do this is to checkout both your linux-dev and Charles linux-dev and then use BeyondCompare to update your repo with the xenomai changes from Charles repo. I only have to do this once and thereafter, I simply pull from your updates and I get the latest updates.

I understand that I should be able to track both repos using GIT, and get updates from both, but I don’t know how to do this.

Regards,
John

Indeed, that was my point previously. Thus, as now I m with the Charles’ image, what should
3.8.13xenomai-bone39

correspond to Debian one to swap kernel to ?

In other words : what zImage version should I use that would correspond to a specific Debian version ?

In other words : what zImage version should I use that would correspond to a specific Debian version ?

The zImage you build with Charles’ repo can be used with the Robert’s latest Debian build.

Regards,
John

well not really, it didn’t succeeded unlesse the following is wrong:

flashing :

[rcn-ee.net/deb/microsd/wheezy/bone-debian-7.3-2014-01-24-2gb.img.xz](https://rcn-ee.net/deb/microsd/wheezy/bone-debian-7.3-2014-01-24-2gb.img.xz)

and then overwrite

scp …/xenomai/cdsteinkuehler/linux-dev/deploy/3.8.13xenomai-bone39.zImage root@192.168.7.2:/boot/uboot/zImage

This, allows to boot the board - leds are ok - but in a way that I can’t

  • ssh to it as 192.168.7.2

  • ssh to it with a dhcp server running with ETH connected

  • retrieved any status with my usb serial cable

Just follow this guide

http://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-SerialLogin

You might have better luck if you copy over the modules along with the
kernel. There are also the device tree and firmware files, but those
are probably OK w/o being updated.

cd /
tar -xzvf /path/to/xenomai/cdsteinkuehler/linux-dev/
deploy/3.8.13xenomai-bone39-modules.tar.gz

The 3.8.13-bone37 from flashed image is starting with ssh access, etc.

So be sure :in addition to override the 3.8.13-bone39 .zImage to /boot/uboot over it I need also to copy

the deploy/lib/modules/3.8.13xenomai-bone39

over

/lib/modules/3.8.13-bone37

do you confirm ?

In your deploy directory is a tarball containing the kernel modules for
the Xenomai kernel you just compiled. You need to extract those modules
into the appropriate location on your target system. As mentioned
previously, to do this you cd to root and extract the tarball.

Well I found why; this is not exactly to be copied as is from the tarball: build is a symbolic link to KERNEL and source don’t need to be copied neither : so kernel dir is left

Anyway it didn’t changed from the previous behaviour :

  • the board leds are ok, but can’t access anymore -as I did with the 3.8.13-bone37 kernel- the 192.168.7.2 seems down
  • Usb prolific cable is not answering : but my cable may be in cause

Seems Adafruit USB cable not not so great after all.I’ve managed to get a dhcp server on, reboot the board with external 5V power and finally the board has an IP to ssh : there is is a 3.8.13xenomai-bone39 in there.
For a reason I don’t understand the USB gadget interface is not mounted, while the last connection on Debian could.

Hi,

To get a step further to build executable I thought it was easier to directly compile my sources from the board itself, even I’d rather prefer to cross compile anyway. So I’ve copied the entire linux-dev/KERNEL/xenomai dir to /usr/xenomai/include which solve a bit my compilation dependencies but some remains like asm/xenomai/system.h

From that I have to independant questions :

  • what are all the Xenomai dependencies to install onto the board ?
  • cross compiling : I could use the same linaro gnueabihf set in my local pc ( == the one that build_kernel.sh has used ) is it possible to set the Xenomai envirronement libs + includes +etc to be able to compile on the PC ?

Thanks