Sagar Behere

I doubt, therefore I might be

Installing xenomai and debian on beaglebone black

UPDATE: There is now a much simpler method to install xenomai+ on the beaglebone. That method is described below, and the older method is retained at the bottom of the post.

---new method---

You basically need two components:

  1. A rootfs, with the distribution of your choice
  2. A xenomai patched kernel+kernel modules

For step 1, simply start with a working, bootable sd card. This could be the angstrom distribution that comes with your beaglebone (or which you can download from the angstrom website.) Alternatively (and for me, preferably) use a debian image from

http://elinux.org/BeagleBoardDebian#Demo_Image

[ That link also contains the easy installation instructions, all of which are to be done on your linux PC. ]

At this point, boot the card on the beaglebone and verify that it works. Next, you need to take care of step 2 above. To do so, on your linux PC simply clone

https://github.com/cdsteinkuehler/linux-dev

[ I have successfully used the am33x-v3.8-bone26-xenomai branch, so you may want to first try with that.. or, at your discretion, any later branch. ]

Once you finish cloning the repository [which can take some time], simply run the script ./build_kernel.sh [this is also mentioned in the repo's documentation.] The build_kernel.sh script will fetch all necessary software, cross-toolchain etc. and build a working, xenomai enabled kernel for you. Make sure that you copy system.sh.sample to system.sh and edit it appropriately before you run the scripts. Then use the ./tools/install_kernel.sh script to install the kernel to your sd card.

I am not sure if this script installs the xenomai userspace. If it does not, then simply switch to the ignore/xenomai directory which is created when the scripts run, and cross-compile/install it as mentioned in my original guide viz.

./configure --host=arm-linux-gnueabihf;make;make DESTDIR=path/to/mounted/rootfs install;

That is all you need to do. You do not need to execute any commands on the beaglebone.. everything is done on the linux PC.

---old method---

Removed. This info was causing too much confusion.